Motor6D for tools is not properly animating

Hi. I’m trying to replace the Weld made for tools with a Motor6D so I can have my gun animate in-game. I’ve done this before with melee weapons and it worked, but now trying to use it for this it’s not working and I’m not sure how to fix this. Any help is appreciated!

Script
-- some server script
local motor = Instance.new("Motor6D")
motor.Parent = Character.RightHand
motor.Part0 = Character.RightHand

-- tool server script
tool.Equipped:Connect(function()
	castParams.FilterDescendantsInstances = {tool.Parent, bulletsFolder}
	
	character = script.Parent.Parent

	local grip = character.RightHand:WaitForChild("RightGrip")
	grip:Destroy()

	motor = character.RightHand.Motor6D
	motor.Part1 = script.Parent.Handle
	
	animIdle:Play()
end)

tool.Unequipped:Connect(function()
	motor.Part1 = nil
	for i, v in pairs(animTable) do
		v:Stop()
	end
end)

https://cdn.discordapp.com/attachments/165226280118255616/927721708738191440/2022-01-03_19-18-06.mp4

Why are you replacing welds when you can just keep Motor6Ds? If you have specific objects that dont need to be animated it would make more sense to weld it other than going complete weld to Motor6d eh?

  1. Make sure the Motor6D Rig CFrame C0 and C1 properties are the same as the one used in animation. The best way to ensure this is to clone from the rig that is used to animate it. Similar to this other Motor6D problem. Another problem with this issue.
    Also make sure the Motor6d.Name is the same as well.

  2. If that doesn’t work then I saw somewhere that doing this will force the tool grip C0 and C1 to be replicated and the animations on the client to update if there is a disrepency between client and server animator objects.

motor6D.Enabled = false
task.wait()
motor6D.Enabled = true

Third maybe try this:

Read this and forgot to reply, but yes the in-game Motor6D arrangement is not the same as the model dummy. I’ll have to change the dummy Motor6Ds I guess. Thank you.