Only part of animation replicating (possible engine bug?)

Hi! I have encountered this issue for a few days now where my weapon equip animation will play for the player character, but not for the actual weapon model.

Here is how im loading and playing the animations:

-- ran when we create the weapon object
    weaponProfile.equippedAnimConfig = {track = weaponProfile.playerChar.Humanoid.Animator:LoadAnimation(weapon.animations.equipAnimation); animation = weapon.animations.equipAnimation}
	weaponProfile.equippedAnimConfig.track:GetMarkerReachedSignal("Loop"):Connect(function()
		-- pause the animation
		updateAnimationData(weaponProfile.equippedAnimConfig, {Speed = 0})
	end)
	weaponProfile:LoadAnimationForViewmodel("equippedAnimConfig")
-- ran when the weapon is equipped (NOTE: equipped by Humanoid:EquipTool() 
-- if that makes any difference)
	updateAnimationData(self.equippedAnimConfig, {Speed = 1})
	self.equippedAnimConfig.track:Play()
	self.equippedAnimConfig.viewModelTrack:Play()

What the client can see (after the animation):

  • Plays on both the viewmodel and the character, but you can see the bullets are being created at a offset

Server:

  • Notice how the motor 6D updates when i move the character

I feel like i have tried everything so any suggestions would be much appreciated!!