The scripts work perfectly fine, but because the game is filtering enabled I can't just have the script in the local script - I have to use a remote event. However, when I do this method the head moving is extremely rusty and is so slow moving due to it being in a server script - I really would like to know how to fix this, thanks! Note: The 'Head' is a model inside the player and the 'head' is a mesh part so i can do custom materials.
So I have 1 server script in the character model and 1 local script in the character model; this is the server script
game.ReplicatedStorage.essential.remotes.createJoint.OnServerEvent:Connect(function(player,Character,Head) Head.head.CFrame = Character.Head.CFrame end)
then this is the local script
game:GetService("RunService").RenderStepped:Connect(function() remotes.createJoint:FireServer(Character,head) end)