Why does changing my orientation cancel movement?

Wus good. So recently, I’ve been working on a basic weapon system.
I implemented a rotation mechanism, now when the player uses the weapon the player’s character rotates facing the mouse.

However, when the player moves the tween overrides the player’s movement. Which isn’t ideal for more, run-and-gun style mechanics.

The following LocalScript is used.

local players = game:GetService("Players")
local client = players.LocalPlayer
local mouse = client:GetMouse()
local TweenService = game:GetService("TweenService")

local character = client.Character or client.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")

script.Parent.Event.OnClientEvent:Connect(function()
	local tween = TweenService:Create(
		humanoidRootPart,
		TweenInfo.new(
			0.2,
			Enum.EasingStyle.Sine,
			Enum.EasingDirection.InOut,
			0,
			false,
			0
		),
		{CFrame = CFrame.new(humanoidRootPart.Position, Vector3.new(mouse.Hit.p.X, humanoidRootPart.Position.Y, mouse.Hit.p.Z))}
	)
	tween:Play()
end)

Any related help/suggestions would be appreciated :smiley:.

Dont move the HumanoidRootPart LOL, its blocking the rest of the animation.

Instead try tweening other parts of the body like the torso.

The humanoidRootPart is the base for the legs and torso so it moves the whole body back like whats happening in your situation.