Like every other BasePart, the CFrame of the HumanoidRootPart moves as the HumanoidRootPart moves; after all, the CFrame property is the one that determines where the engine renders a part. If you make it visible by setting it’s Transparency to 0, you will see it moves with your character. There must be a problem in your code.