Animation is a key component to all games. It is also an area that people spend countless hours refining and studying. A game can simply feel “cheap” without good animation applied. Animation is a skill that I believe separates games that feel polished and professional versus those others that feel like it was someone’s first game.
Can Unity be used for animation? Yes, Unity can be used for animation. It is best suited for simple animations. There is other software such as Blender, Maya, or 3DS Max that may be more suitable to produce more advanced animations.
Do not let that scare you off from learning the Unity animation system, also known at times as mechanim. Unity does have many of the advanced features you may find in some of the other software. However, you have to keep in mind that Unity is first and foremost a game engine. It’s goal is to mesh assets and scripting to make your game complete. The added tools and functionality are what make Unity a great choice as a game engine, but admittedly, some of the other software would be better suited for more advanced animations. Let’s dive into this a bit.
Is Animating in Unity Hard?
If you are brand new to animation, I actually highly recommend Unity as a great place to start. It is not that difficult to learn. Basic keyframing animations are easy to understand in Unity. The tools are sufficient to do many of the basic things you may want to do using animation.
The advantage of using Unity over other software is that there are so many features and functionality of software such as Blender, Maya and 3DS Max. You can get lost in a hurry.
My advice would be to start with some basic things to animate. Consider animation a door, a treasure chest, or a platform. These are great places to start and a perfect fit for Unity animation.
How to Learn Animation in Unity
In my opinion, 2D animation may be the best place to start. I’m generally a 3D guy. But, that extra axis can really throw some people off at times. If you simply want to start learning animation, don’t have anything particular in mind, then this is definitely the place I would start.
The first step to learning animation in Unity is to simply understand the keyframing process. The tutorial below is one that I found that focuses directly on this. It would be a good place to get some basic foundations of how to do keyframing and understanding what keyframes are. In addition, it hits on the principles of animation.
These principles will turn your character from a robot to a living breathing object. It’s crucial to making interesting and realistic animations as well, not just cartoon. Aside from the video below which is specific to Unity, I would recommend checking out this YouTube series on the principles of animation as well. I show these to students in class.
I recall being part of a game jam team that wanted to do a 2D game. Again, not where I started with Unity. In fact, I had never built anything 2D in Unity up to that point. As the only person on the team that had a bit of knowledge when it came to programming, I was immediately signed the task with making a player move. It sounded scary at first. But, Brackey’s to the rescue! This video is what I used to learn how to combine animations and do basic 2D character movement. This video will move you to the mechanim system found in Unity. It will be crucial for even basic animations. In addition, you may need to learn a bit of coding to get those to work as you want. I promise though, it’s not too bad.
Examples of When to Not Use Unity’s Animation System
As much as I do find Unity’s system to be fairly robust, I have to admit that there would be certain areas I wouldn’t use the animation system for at all. Do not use the animation system for anything that requires a lot of detail or an advanced rig system. It can be done, but software such as Blender or Maya would be far more suited for this. They are designed to handle advanced rigs.
- Character Animation – It is possible, but not recommended. The controls and things of most advanced rigs do not port properly to Unity. Therefore, it’s not as simple as taking an advanced rig from Blender and dropping it into Unity.
- Existing Animations Built in Blender or Maya – If you already have animations on objects built in other software, such as Blender. It would not make sense to redo the animations in Unity. Instead, you may import those animations and use them.
- Anything that Requires Extensive Rigging – Rigs can be placed on anything, but there are a lot of times where it may be unnecessary. Most of the time I only place rigs on organic models such as trees, characters, or pets. In those instances, I complete the animations in Blender as well and then import them into Unity.
Examples of When to Use Unity’s Animation System
Unity does have the capability to animate most items in a game. There may be times where it is absolutely necessary.
- Character Movement – Most character movement isn’t completed through traditional animation. You may have walk cycle animations or run cycle animations, but moving a character from point A to point B is completed through programming, often times using the Unity Navmesh system and Character Controller system.
- Doors Opening and Closing – Unity’s animation system is perfect for this. Model your door in Blender, import the asset into Unity, and then animate the pivot point using a keyframe system. It’s that simple.
- When You Are More Comfortable with Blender or Maya Animation – Simply put, use the animation system that you are most comfortable with. If you have no background already, then there may be opportunities for Unity to be a bit easier. That being said, if you are already a pro at animation using other software, then you should use it for everything! More than likely Unity will not speed you up much and importing animations is relatively simple.
- Basic A and B Changes – The great thing about animating in Unity is that you can literally animate almost anything. You can animate a light turning off and on. In fact, you can turn the light on slowly and turn the light off slowly. It could be a great way to make a “flickering light”. You can also animate user interface elements. Have you ever walked into a new area in a game and the name of the location appears on the screen and slowly fades? This is easiest accomplished through a basic animation in Unity and can be done in mere seconds.
I would recommend that even if you have experience in other software with animation that you still learn the basics of animating in Unity. The reason for this is because there are so many things that can be accomplished with basic animation that has nothing to do with moving a character or object. Fading lights, fading user interface elements, or even animating when to fade audio can be compelted through the Unity animation system. I can assure you, when comfortable with it, you will find plenty of use cases for it.
That being said, I think you will quickly go frustrated if you try to animate a character in Unity. I have found that Blender or Maya are far superior in working with characters or more detailed animations. The flexibility those applications have are pretty phenomenal. They are built for those use cases. Unity’s system is a bit more raw and bare bones. Great for beginners, but lacking for some of those more detailed areas.
Use what you feel most comfortable with most often. Everyone has a slightly different workflow on their projects. People may animate in different software and come up with the same result. It’s generally not about what software you are using, but how to use it.
If you have any questions about animating, I would love to hear from you! I also always enjoy seeing others projects. Feel free to reach out to me if you are interested in showcasing your work on the website!