Animation not facing forward with pathfinding

  1. What do you want to achieve?
    I need my npc model to always face forward when moving from waypoint to waypoint

  2. What is the issue?
    The issue is the model is sliding in just one direction with both my custom movement animation and the default Roblox run animation

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Yes to Dev Hub, I have copied this script from a YouTube video, I looked up similar issues with animations/pathfinding and CFrame.LookVector but still don’t know what is causing the sliding/animation detacment for parts

Animation Issue.wmv (2.2 MB)
https://youtu.be/1kGwaZIO_Pw

--Services
local pathfindingService = game:GetService("PathfindingService")

--Varibles
local Anim = Instance.new("Animation") Anim.AnimationId = "rbxassetid://9249753812" 
local Chase = game.Workspace.Monsters.JohnFilingRoomChase.Humanoid:LoadAnimation(Anim) 
local Monster = game.Workspace.Monsters.JohnFilingRoomChase.Humanoid
local MonsterBody = game.workspace.Monsters.JohnFilingRoomChase.HumanoidRootPart
local RootPart = game.Workspace.Monsters.JohnFilingRoomChase:FindFirstChild("HumanoidRootPart") or script.Parent:FindFirstChild("UpperTorso")
local Primarypart = game.Workspace.Monsters.JohnFilingRoomChase
Primarypart.PrimaryPart:SetNetworkOwner(nil) 

--Start Moving Condition
repeat wait() until game.Workspace.Scripts.Objective:FindFirstChild("InformationFoundTrigger") == nil
Chase:Play() -- This is a movement Animation Type

--Functions
local function getPath(goal)
	local path = pathfindingService:CreatePath()
	path:ComputeAsync(RootPart.Position, goal.Position)

	return path
end

local function walkTo(goal)
	local path = getPath(goal)

	if path.Status == Enum.PathStatus.Success then

		for index, waypoint in pairs(path:GetWaypoints()) do
				Monster:MoveTo(waypoint.Position)
				Monster.MoveToFinished:Wait()
		end
	end
end	 

local function patrol()
	local waypoints = workspace.Scripts.Monster.FilingRoomWaypoints:GetChildren()
	local randomNum = math.random(1, #waypoints)
	walkTo(waypoints[randomNum])
end

while wait(0.2) do
	patrol()
end

I was able to fix it by recreating the model.

Perhaps something happened to one of the parts or it might have been a collision group issue