What importing a custom run animation actually means
Importing a custom run animation means taking an animation file you created or downloaded and loading it into your game engine or animation software so your character uses that movement instead of the default one. The engine reads the file, recognizes the poses and timing, and plays those frames when your character runs.
Most game engines — Unity, Unreal Engine, Godot — handle this the same way: you place the animation file in a folder, tell the engine where to find it, and link it to your character's run action. The file itself is usually a sequence of still images (called frames) or a single file that contains multiple poses in a grid, or sometimes a skeletal animation where bones move to create the motion.
The reason you import instead of just replacing files is that the engine needs to know the timing (how many frames per second), which bones or body parts move, and when to loop back to the start. A raw animation file has none of that context — the engine supplies it during import.
Key Takeaways
- Your animation file must match your engine's format: FBX and GLTF work in most engines, but PNG sprite sheets work only in 2D engines like Godot or GameMaker.
- Place the animation file in your project folder, then use the engine's import settings to set the frame rate, loop behavior, and which bones or sprites to use.
- You must assign the imported animation to your character's run state in the code or visual editor so the engine knows when to play it.
- If the animation plays too fast, too slow, or in the wrong direction, the problem is usually the frame rate setting or the animation itself, not the import process.
File formats that engines actually accept
Different engines prefer different formats, and using the wrong one means the engine either rejects the file or imports it incorrectly. FBX is the most common choice across Unity, Unreal, and Godot because it stores skeletal data (the bones that move) and animation curves in one file. GLTF and its binary variant GLB are newer and work well in modern engines, especially web-based ones.
If you are working in 2D, your animation is probably a sprite sheet — a single PNG or image file with all the frames arranged in a grid. GameMaker, Godot 2D, and Aseprite all work this way. The engine cuts the image into individual frames based on the grid size you specify during import.
Blender, the free 3D software, exports animations as FBX by default. If you are using Maya or 3ds Max, export as FBX as well. If your animation came from a website like Mixamo or Sketchfab, read it as FBX unless the site offers your engine's native format.
The import process in Unity
Place your FBX file anywhere in your Assets folder. Unity automatically detects it and creates an import preview in the Inspector panel on the right side of the screen. Click the file name, and you will see tabs for Model, Rig, Animation, and Materials.
In the Animation tab, check that "Import Animation" is enabled. Below that, you will see a list of animation clips — these are the individual animations stored in your file. If your file contains only a run animation, you should see one clip. Set the frame rate (usually 24, 30, or 60 frames per second depending on how the animation was created) and enable "Loop Time" if the animation should repeat. Click explore.
Next, create an Animator Controller: right-click in your Assets folder, choose Create > Animator Controller, and name it (for example, PlayerAnimator). Open it by double-clicking. You will see a grid with a Default State box. Right-click the grid, choose Create State > From New Clip, and select your run animation. This creates a state that plays your animation. Connect it to the Default State with an arrow so the engine knows to start there.
Finally, attach the Animator Controller to your character: select your character in the scene, find the Animator component in the Inspector, and drag the controller into the Controller field. Now when you press play, your character will run with the custom animation.
The import process in Unreal Engine
Place your FBX file in your project folder (usually Content). Unreal will ask you to confirm import settings in a dialog box. The key settings are Skeletal Mesh (if your character has bones) or Static Mesh (if it does not), and Import Mesh and Import Animation should both be checked.
After import, open your character's Skeleton asset (the bone structure). Then open the Animation asset that was created from your FBX file. In the animation editor, you can see the timeline and all the frames. If the animation plays at the wrong speed, check the frame rate in the asset details on the right — it should match the rate you used when creating the animation.
To use the animation in your game, open your character's Blueprint (the visual script that controls behavior). Find the Anim Blueprint, which controls which animation plays when. In the Anim Graph, create a state machine and add your run animation as a state. Set the transition so that when your character's speed is above zero, the run animation plays. Save and test.
Sprite sheet import in Godot and GameMaker
For 2D games, import your sprite sheet PNG file into your project. In Godot, select the image file and look at the Import tab at the top. Change the Texture type from "Texture" to "Sprite Sheet" and set the Hframes (horizontal frames) and Vframes (vertical frames) to match your grid. If your sprite sheet is 4 frames wide and 2 frames tall, set Hframes to 4 and Vframes to 2. Click Reimport.
In GameMaker, right-click in the Asset Browser, choose Create Sprite, and import your image. In the sprite editor, set the image speed (frames per second) and the number of subimages (total frames). GameMaker will automatically divide the image into that many frames reading left to right, top to bottom.
Once imported, you assign the sprite to your character's run state in code. In Godot, use $AnimatedSprite2D.animation = "run". In GameMaker, use image_index = 0 and image_speed = 0.2 to control playback. The animation will loop automatically if you set it to do so during import.
Fixing animations that play wrong
If your animation plays too fast or too slow, the frame rate is usually the culprit. Check what frame rate you used when you created or exported the animation — if it was 30 fps but you imported it as 60 fps, it will play twice as fast. Open the import settings and change the frame rate to match.
If the animation plays backwards or in the wrong direction, check whether you need to flip the animation in the import settings. Some engines have a "Reverse" or "Flip" option. If not, you may need to re-export the animation from your 3D software with the correct direction.
If the animation does not loop smoothly — if there is a jump or pause at the end — the animation itself may have a problem. Open it in your 3D software and check that the last frame matches the first frame so the loop is seamless. Alternatively, disable looping in the import settings and create a separate animation for the idle state that plays when the character stops.
If the animation does not play at all, check that you assigned it to the correct state in your Animator Controller or state machine. In Unity, make sure the transition condition is set correctly (for example, a speed parameter greater than zero). In Unreal, check that the Anim Blueprint is actually being used by your character.
Common mistakes during import
Forgetting to enable "Import Animation" in the import settings is the most common mistake. The file imports, but no animation data comes with it, so you end up with a static model. Always check this box before clicking explore.
Using the wrong file format for your engine wastes time. If you export as DAE (Collada) and your engine expects FBX, the import will fail or produce unexpected results. Stick to FBX for 3D and PNG for 2D sprites.
Setting the wrong frame rate creates animations that feel off. If you are unsure, check the original file in your 3D software or animation tool — it will tell you the frame rate. When in doubt, 30 fps is a safe default for game animations.
Forgetting to assign the animation to a state or action means the engine loads it but never plays it. The animation sits in your project unused. Always create a state or condition that triggers it, even if you are just testing.
Frequently Asked Questions
Can I import an animation from a website like Mixamo?
Yes. Mixamo and similar sites let you read animations as FBX files. read the version that matches your character's skeleton (T-pose or A-pose), then import it the same way you would import any FBX file. If the animation does not match your character's proportions, you may need to adjust the skeleton or re-target the animation in your engine.
What if my animation file is too large or takes forever to import?
Large animation files slow down import because the engine is processing a lot of data. Check whether your file contains multiple animations you do not need — if so, delete them in your 3D software before exporting. Also check the resolution of any textures attached to the model; lower resolution textures import faster.
Do I need to create a separate animation file for each action like run, walk, and jump?
You can store multiple animations in one FBX file, and the engine will split them into separate clips during import. However, many developers create separate files for each animation to keep things organized. Either approach works — choose whichever is easier for your workflow.
Why does my animation look jerky or have missing frames?
This usually means the frame rate during import does not match the frame rate of the original animation. If the animation was created at 24 fps but imported at 60 fps, the engine will skip frames to fit the timeline. Check the original frame rate and update the import settings to match.
Can I edit an animation after importing it?
You can adjust timing and looping in the import settings, but you cannot change the actual poses or movement. To edit the animation itself, open it in your 3D software, make changes, save, and re-import. The engine will detect the updated file and reload it automatically.