Hi. I used the Moon Animator Plugin to animate my model. (Rollercoaster train going around a track) It has a HumanoidRootPart inside, and the only thing that I animated was the base.
You need to create an AnimationController and an Animator object, then load the animation onto the Animator object. After that, you can play the animation. AnimationController will allow you to play animations on a non-Humanoid object.
local AnimationController = Instance.new("AnimationController")
local Animator = Instance.new("Animator", AnimationController)
AnimationController.Parent = Rig
This code isn’t consistent in the way it chooses to parent its objects but I just cut out one extra line. The reason I do it this way is because you don’t need to modify any of the properties of these created objects but it’s better to create the children and parent them first before the main object. That’s why the Animator parent can be set directly but AnimationController’s parenting needs to be deferred. This should be in a server script.
I recommend checking out Using Animations in Games and other available resources on the Developer Hub first; you can learn how to create and use animations in your games. These resources are available for you to do some research and make attempts. If you can’t after you’ve tried first, you can ask the Developer Forum for help by posting a thread.