Npc Interfering With Player Movement

So I created a script where it inserts an NPC into the player. The NPC cannot collide with the player and the parts inside the NPC are set to massless but it still seems to affect the player movement. The NPC’s HumanoidRootPart is welded to a part that is inside the player whilst the part that is inside the player is welded to the players HumanoidRoot.

This is the player movement without the NPC
https://gyazo.com/f20bac5b3e3b824287cab2fafafa7e4a

This is the player movement with the NPC
https://gyazo.com/2dbaf2abead9ca01b6102c81cb8f061f

Any thoughts on what’s interfering with the player movement and how I could go about fixing it would be very appreciated.

If a welded part’s Position is updated, the part will move but none of the connected parts will move with it. The weld will recalculate the offset from the other part based on the part’s new position.

In contrast, if a part’s CFrame is updated, that part will move and any part welded to that part will also move. These other parts will be moved to make sure they maintain the same offset as when the weld was created.