This tutorial explains how to import 3D character models and animations from the online platform Mixamo into the Unity game engine. It guides readers through the steps of setting up a new Unity project, organising assets, downloading a character and animations from Mixamo, and then importing them into Unity to apply the animations to the character. Finally, the tutorial shows how to create a straightforward script that enables the character to alternate between two animations (idle and dancing) in response to user input.
Listen to the Deep-Dive of this tutorial.
Contact me
Find the GitHub repository of this tutorial at: https://github.com/shamim-akhtar/tutorial_mixamo
View the tutorial on YouTube
Setting Up a New Unity Project
Start by creating a new Unity3D project.
Once the project is set up, navigate to the Assets folder in the Project window. Create a new folder and name it Mixamo. Inside the Mixamo folder, create two subfolders: one named Characters and another named Animations.
In the Assets directory, create another folder named Resources. Within the Resources folder, create a subfolder called Textures. This will help organise any texture files you need for your project.

Next, download the Checkerboard image file from this link. Select the Textures folder and drag and drop the checkerboard image file into it. You can choose any other texture you prefer.

After that, create a new Plane game object to serve as the floor. Resize the plane to 5 by 5 units. Next, assign the checkerboard image as the texture for this plane. To do this, go to the material settings and adjust the tile size to 5 for both the X and Y axes. This will ensure the texture appears correctly on the plane.

Downloading a Character and Animations from Mixamo
Open your preferred web browser and go to mixamo.com.

Mixamo is an online platform that provides a vast library of high-quality 3D character models and animations, making it a valuable resource for game developers, animators, and digital artists. With a user-friendly interface, Mixamo allows users to easily browse, customise, and download characters and animations for use in various projects. The platform supports the automatic rigging of 3D models, enabling even those without extensive animation experience to create lifelike movements. By offering a wide range of styles and genres, from humanoid characters to fantastical creatures, Mixamo empowers creators to enhance their projects with professional-grade assets, streamlining the development process and fostering creativity.
For this tutorial, we will select the AJ character. However, feel free to explore and experiment with other characters if you wish.

Once you have made your choice, click on the Animations tab. Here, you will find a wide variety of animations to choose from, allowing you to download hundreds of options to enhance your character’s movements.
Let’s choose the Neutral Idle animation.

Click the Download button and select FBX for Unity from the dropdown menu. Then, choose the With Skin option. We are downloading with skin because this is our first time downloading the animation, and selecting this option will allow us to download the character model along with the animation.

If you have previously downloaded the model, you can opt for the Without Skin option. This will allow you to download just the animation without the character model.
Importing the Character and Animations into Unity
In the Unity editor, navigate to the Characters folder. Then, drag and drop the recently downloaded Neutral Idle animation with skin (the FBX file) into this folder.
Right-click in the Hierarchy window and create a new empty game object named Player. Then, drag and drop the AJ character from the Characters folder into the Player object to make it a child. Ensure that you reset the transforms for both the Player game object and the AJ game object to maintain proper positioning.

Expand the AJ game object in the Hierarchy window, and if you see a child game object named Bottom, disable it from the Inspector. Mixamo exports a default camera that is associated with this game object, but since we have our own camera game object, we won’t need it.

Extracting Textures and Materials
You may have noticed that our model doesn’t have any materials or textures applied. To resolve this, select the AJ character, then navigate to the Materials tab.
Click on the Extract Textures button. Create a new folder called Textures and extract the model’s textures into this folder. If you encounter any errors during this process, click the Fix Now button to resolve them.
Next, extract the materials by clicking on the Extract Materials button. Create a new folder called Materials and extract the materials into this folder. After completing this step, you should be able to see your model with the correct materials and textures applied.

Setting the Rig and Configuring the Animation
Next, we will apply the idle animation to our character. To do this, select the Rig tab of the model. In the Avatar Definition dropdown, select Create from This Model. We do this because we downloaded the animation with skin, which includes our avatar definition. Once you’ve made this selection, click Apply to apply the changes.

Next, select the Animation tab and check the Loop Time and Loop Pose checkboxes. This will ensure that the idle animation plays continuously and maintains its pose correctly.

In the Project window, create a new folder in the Mixamo directory and name it Animators. Then, right-click within this folder and create a new Animation Controller called AJ_1.
Double-click on AJ_1 to open it in a new window. Right-click in the Animator window and create a new animation state, naming it Neutral Idle. For the Motion field, select the animation named Neutral Idle. Then, create a transition from Entry to this Neutral Idle animation state.

After that, select the Player game object from the Hierarchy window and assign the AJ_1 animator to the Controller field in the Animator component.

Click Play. You should now see that the idle animation is applied to the character.

Download Additional Animation Without Skin
To continue with the tutorial, let’s add another animation to demonstrate how to download animations without the skin and apply them to an existing model. This will help you understand how to expand your character’s animation repertoire using additional Mixamo animations.
For this tutorial, let’s add a dance animation. Clear the Idle text from the search field on Mixamo and search for dance moves. This will display a variety of dance animations for you to choose from.

Select the Macarena dance animation from the search results. When downloading, choose the Without Skin option. This ensures that only the animation is downloaded, as we will be applying it to our existing character model.

Setting the Rig and Configuring the Animation
Go to the Unity editor and drag and drop the newly downloaded Macarena dance animation into the Animations folder. Select the animation file and navigate to the Rig tab.
This time, set the Avatar Definition to Copy From Other Avatar, since we already have the AJ avatar that was downloaded with the Neutral Idle animation. Select the AJ avatar from your project as the source.

Next, select the Animation tab for the Macarena Dance animation and check the Loop Time and Loop Pose checkboxes to ensure the animation plays continuously and maintains its pose correctly.
Configuring the Animation Transitions
Then, go to the Animator window, right-click, and create a new animation state. Name this state Macarena Animation. Set the Motion field to Macarena Dance.
Create two transitions:
- One transition from Neutral Idle to Macarena Animation.
- Another transition from Macarena Animation back to Neutral Idle.
This setup will enable the character to switch between the idle state and the dance animation.
In the Animator window, select the Parameter tab and add a new Trigger parameter named macarena_dance. Next, select the transition from Neutral Idle to Macarena Animation and set the transition condition to the newly created trigger macarena_dance. Since we now have a transition condition, uncheck the Has Exit Time option to ensure the animation switches immediately when triggered.

Leave the Has Exit Time checkbox checked for the transition from Macarena Dance to Neutral Idle. This ensures that the dance animation will complete one full cycle before exiting and transitioning back to the idle animation.
Create a Player Controller
Finally, we will create a simple PlayerController script that will enable the transition from the Neutral Idle to the Macarena Dance animations.
Start by creating a new folder called Scripts in the Assets folder. Within this Scripts folder, right-click and create a new C# script file named PlayerController. Double-click the script file to open it in Visual Studio or your preferred code editor.
Code language: C# (cs)Add a new variable mAnimator of type Animator. This variable will be used to reference the Animator component attached to the GameObject.
// Start is called before the first frame update
void Start()
{
mAnimator = GetComponent<Animator>();
}Code language: C# (cs)Within the Start method, retrieve the Animator component attached to the same GameObject and assign it to the mAnimator variable. This allows us to control the animations of the GameObject through this variable.
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.D))
{
mAnimator.SetTrigger("macarena_dance");
}
}Code language: C# (cs)In the Update method, check if the D key is pressed down during the current frame. If the D key is pressed, we set the trigger parameter macarena_dance in the Animator. This action will initiate the transition from the Neutral Idle animation to the Macarena Dance animation, allowing the character to perform the dance when the key is pressed.
In the Unity editor, select the AJ character from the Hierarchy window. Then, attach the PlayerController script to it by dragging and dropping the script component into the Inspector window for the AJ character.

This will allow the character to respond to input and switch animations as defined in the script.
Click the Play button in the Unity editor. You should see the character in the default Neutral Idle animation. Now, press the D button on your keyboard. Upon pressing it, the character should transition to and play the Macarena Dance animation.
Once the Macarena Dance animation cycle is completed, the player will transition back to the Neutral Idle animation automatically. This is due to the transition settings you configured in the Animator, which allows the character to revert to the idle state after finishing the dance.

And that’s it! You have now successfully ported a character and animations from Mixamo to Unity.
Also Read

A committed and optimistic professional who brings passion and enthusiasm to help motivate, guide and mentor young students into their transition to the Industry and reshape their careers for a fulfilling future. The past is something that you cannot undo. The future is something that you can build.
I enjoy coding, developing games and writing tutorials. Visit my GitHub to see the projects I am working on right now.
Educator | Developer | Mentor
