Create or import an NPC model with a Humanoid and HumanoidRootPart
Ensure the NPC model is unanchored
Add an Animator object to the NPC’s Humanoid if it is not already present
Create an animation in Roblox Studio using the Animation Editor
Publish the animation and copy the animation asset ID
Insert a Script or LocalScript depending on where the NPC is controlled
Load the animation using `Humanoid:LoadAnimation()` or `Animator:LoadAnimation()`
Play the animation with `AnimationTrack:Play()`
Stop the animation with `AnimationTrack:Stop()`
Set animation priority if needed
Use looping for idle or walking animations if needed
Trigger animations with events, states, or proximity
Test the NPC in Play mode to confirm the animation works
Replace default animations if necessary by editing the NPC’s Animate script
Use `Humanoid:MoveTo()` or pathfinding for movement animations
Keep animation assets owned by the same account or group as the game
Check that the animation ID is correct and published
Make sure the NPC rig type matches the animation rig type
Use server-side scripts for NPC animations that must replicate to all players
