How do I make a humanoid move without using MoveTo()

I want to know other ways to make a humanoid walk without using MoveTo(). I’m asking here because I cant find anything on the Roblox wiki. the main reason I want to know how to do this is so I can have a player control a humanoid without it being in starter character.

Change their CFrame

Player.Character.HumanoidRootPart.CFrame = workspace.Part.CFrame

i agree with changing the primary part cframe, MoveTo() is very wacky and unreliable (i’ve had moments where my position saving system spawns me on top of the map instead of where i left off thats mostly mainly why i changed to SetPrimaryPartCFrame) but he’s asking on how to manually make the player move by walking

thanks for the suggestion but it needs to walk not teleport I don’t think body movers work properly either

If I’m understanding correctly you want an NPC to walk to a point? There are a few topics on this simply by searching:

If I’m wrong correct me again

no I want a npc to walk forward or in a direction not to a point so a player can control it like a horse

You can use the pathfinding service. Idk if that’s what you need but you can use it. There are good tutorials.

Simple method is Lerping but its really hard finding the right speed

local function MoveToPoint(Vector,Torso)
   repeat 
         wait()
         Torso.CFrame = Torso.CFrame:Lerp(CFrame.new(Vector,Vector),0.05)
   until (Torso.Position - Vector).magnitude < 0.1        
end

else u can use Velocity

local function MoveToPoint(Vector,Torso,Speed)
   local BV = instane.new("BodyVelocity",Torso)
   BV.MaxForce = Vector3.new(50000,50000,50000)
   repeat 
         wait()
         Torso.CFrame = Torso.CFrame:Lerp(CFrame.new(Torso.Position,Vector)0.1)
         BV.Velocity = Torso.CFrame.LookVector * Speed
   until (Torso.Position - Vector).magnitude < 0.1  
   BV:Destroy()  
end

hope that helps!!

1 Like

thanks for the suggestion but yeah I’m aware of pathfinding services. I’m not trying to do anything like that I just want to know how to make a humanoid walk forward or in a direction not to a point or vector3

1 Like

yeah this helps! thanks I think I might just have to use body movers or body velocity

1 Like

Oh then

Torso.Velocity = Torso.CFrame.LookVector * 75 – change that for the speed

1 Like