How to get rotation difference using ToObjectSpace

Also check this post out, it should help you with aligning the npc.

game.Workspace.NPC.HumanaoidRootPart
game.Workspace.TargetPart

like this?

Uh… Do some research on raycasting.

Like so?
If so, what Is the “Normal” that I get 5% of the time?

local raycastParams = RaycastParams.new()
			local raycastResult = workspace:Raycast(Target.HumanoidRootPart.Position, MouseTarget.CFrame.LookVector * 50, raycastParams)
			if raycastResult then
				print(raycastResult.Normal)
			else
				print("no result")
				end

You want to raycast to Target.HumanoidRootPart.CFrame.UpVector*-50 instead.

like this?

local raycastParams = RaycastParams.new()
			local raycastResult = workspace:Raycast(MouseTarget.Position, Target.HumanoidRootPart.CFrame.UpVector*-50, raycastParams)
			if raycastResult then
				print(raycastResult.Normal)
			else
				print("no result")
				end

no you want to raycast from Target.HumanoidRootPart.Position to Target.HumanoidRootPart.CFrame.UpVector*-50. Try looking up a tutorial on raycasting first.

			local raycastResult = workspace:Raycast(Target.HumanoidRootPart.Position, Target.HumanoidRootPart.CFrame.UpVector*-50, raycastParams)
			if raycastResult then
				print(raycastResult.Normal)
			else
				print("no result")
				end

Yes. Now check the post I linked earlier, it will help you properly set the cframe.

It doesn’t make any sense. I tried editing it, and nothing happened.