Where to find and prepare your animation files
Custom run animations live as files on your computer before they enter your game engine. Most game engines accept animations in formats like FBX, GLTF, or skeletal animation formats specific to your engine. Before you import anything, you need the actual animation file — either one you created in Blender, Maya, or another 3D tool, or one you downloaded from a marketplace like Sketchfab or Mixamo.
Check that your animation file includes a skeleton or armature — the invisible bone structure that makes the character move. An animation without a skeleton is just a static model. If you created the animation yourself, make sure the skeleton matches the one your character model uses, or the bones will not line up when you import.
Store your animation file in a dedicated folder within your project. Most engines organize better when animations sit separate from models and textures. Name the file something clear like character_run_forward.fbx rather than anim_01.fbx, so you can find it later when you have dozens of animations.
Key Takeaways
- Animation files need a skeleton or bone structure to work; a mesh alone will not animate.
- Most engines accept FBX or GLTF formats, though some have native formats that work faster.
- The skeleton in your animation file must match the skeleton in your character model, or bones will not line up.
- Import settings control whether the animation loops, plays at the right speed, and syncs with your character's movement.
Importing into Unity
In Unity, drag your animation file directly into the Assets folder or a subfolder. Unity automatically detects the animation and creates an Animator Controller if one does not exist. The file appears in your Project window as an imported model with an arrow next to it — click the arrow to expand and see the animation clips inside.
Select the animation file in the Project window and look at the Inspector panel on the right. Under the Model tab, check that Animation Type is set to Humanoid (for human characters) or Generic (for anything else). If it is set to None, the animation will not play. For a run animation, Humanoid usually works best because Unity has built-in systems for humanoid movement.
Scroll down to the Animations section and click on the animation clip name to expand it. Here you can set the Loop Time toggle — turn this on for a run animation so it loops smoothly. You can also adjust the frame range if the imported file contains extra frames at the start or end. Click Apply when you finish.
Importing into Unreal Engine
In Unreal, open your Content Browser and click Import. Select your animation file and a dialog appears with import options. The most important setting is Skeletal Mesh — make sure this is checked, or Unreal will treat the file as a static model and the animation will not work.
Under the Skeletal Mesh section, set Import Mesh to off if you are only importing animation and your character model already exists in the engine. If you are importing both the model and animation together, leave it on. Check that Import Morph Targets is off unless your animation uses shape keys or blend shapes.
In the Animation section, turn on Import Animation and make sure Skeleton points to the correct skeleton asset your character uses. If you select the wrong skeleton, the bones will not match and your character will twist or break. After import, Unreal creates an Animation Sequence asset — double-click it to open the editor and verify the animation plays correctly.
Importing into Godot
Godot handles animations through its AnimationPlayer node. First, import your FBX or GLTF file by dragging it into the FileSystem panel. Godot converts it to its native format automatically. Then create a new scene with an AnimatedCharacter3D or CharacterBody3D node as the root, depending on your game type.
Add an AnimationPlayer node as a child. In the AnimationPlayer panel at the bottom of the screen, click the folder icon and select your imported animation file. Godot loads the animation into the AnimationPlayer. You can now see it listed in the animations panel and play it by pressing the play button or calling it from a script with $AnimationPlayer.play("run").
To make the animation loop, select it in the AnimationPlayer and check the Loop option in the animation properties. Godot does not require you to match skeletons the way Unreal does — as long as the bone names in your animation match the bone names in your model, they will sync automatically.
Fixing mismatched skeletons and bone problems
If your character twists, breaks, or moves in the wrong direction after import, the skeleton in your animation does not match the skeleton in your model. This is the most common import problem. Open your 3D software (Blender, Maya, etc.) and check that both files use the same bone names and hierarchy.
In Blender, you can retarget an animation to a different skeleton using the Retarget Bones tool or by manually copying the animation to the correct armature. Export the corrected animation and re-import it into your engine. Some engines like Unreal have built-in retargeting tools — right-click the animation in the Content Browser and select Retarget Animations to apply it to a different skeleton without re-exporting.
If only part of the animation is wrong — for example, the legs move but the arms do not — check that all bones are included in the animation file. Some export settings exclude bones that have no keyframes. Re-export with all bones included, or manually add keyframes to the missing bones in your 3D software.
Adjusting playback speed and looping
A run animation that plays too fast or too slow breaks the illusion of movement. Most engines let you adjust speed in the animation settings without re-exporting. In Unity, select the animation clip and change the Speed multiplier in the Inspector — 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed. In Unreal, open the Animation Sequence and adjust the Rate Scale in the details panel.
For looping, make sure the first and last frames of your animation are nearly identical so the loop does not jerk. If your animation was created in Blender or Maya, check the timeline and trim any extra frames before export. Most engines have a loop setting in the animation properties — turn it on for run animations so they repeat smoothly when the character keeps moving.
Test the animation in-game by attaching it to your character and playing it. If the speed still feels wrong, you may need to adjust how fast your character moves forward in code, not the animation speed itself. A slow run animation paired with fast character movement looks unnatural, even if both are technically correct.
Frequently Asked Questions
What format should I export my animation in?
FBX is the most widely supported format across all major engines. GLTF works well in Godot and web engines. Check your engine's documentation for the native format it prefers — some engines import faster from their native format than from FBX.
Why does my character look broken after I import the animation?
The skeleton in your animation file does not match the skeleton in your character model. The bone names, count, or hierarchy are different. Open both files in your 3D software and verify they use the same skeleton, then re-export the animation and re-import it.
Can I use animations made for one character on a different character?
Only if both characters have the same skeleton structure. If they do not, you can use retargeting tools in your 3D software or in engines like Unreal to adapt the animation. Godot and Unity require manual retargeting in Blender or Maya before import.
How do I make my run animation loop smoothly?
Enable the Loop setting in your engine's animation properties. Then check that the first and last frames of your animation are nearly identical — if they are far apart, the loop will jerk. Trim or adjust frames in your 3D software if needed.
My animation imports but does not play in-game. What went wrong?
Check that your animation is assigned to the correct skeleton and that the AnimationPlayer or Animator component is set to play it. Verify the animation type is set correctly — Humanoid or Generic in Unity, Skeletal in Unreal. If the file imported as a static mesh instead of a skeletal mesh, re-import with the correct settings.