Our Favorite Unity Assets

We take a look behind-the-scenes at some of the tools we've used with the Unity game engine to make Arctic Awakening possible.

Our Favorite Unity Assets

One of the most powerful aspects of the Unity game engine also happens to be one of the most controversial. I'm of course talking about the Asset Store. When used wrong, you end up with the dreaded "asset flip," which plagues the various game stores and often gives Unity a bad name.

However, when used right, the Asset Store can provide a wealth of commonly used and niche tools that shouldn't have to be rebuilt for every project. These tools allow creators (especially indies like us) to focus on the creative side of game development without spending our limited resources and time on tooling.

Below are some of our favorite tools that we've used on Arctic Awakening. As you'll notice, none of these are actual "assets," but rather tools that allow us to accelerate our development and enhance our unique gameplay and level design using our own in-house art and style.

It should be noted that you can't simply drop any of these tools into your project and be done. Just as with any built-in tool in an engine, you must put the time and effort in to learn your tools and customize/integrate them for your own needs. Some of these tools are being used in a completely different manner to which the creator envisioned, and that is fine because it serves our unique purposes and allows us to do what we do best – make great games!

Vegetation Studio Pro

Vegetation Studio Pro | Terrain | Unity Asset Store
Get the Vegetation Studio Pro package from Awesome Technologies and speed up your game development process. Find this & other Terrain options on the Unity Asset Store.

This tool has really made the scope of Arctic Awakening possible by enabling mass rendering of the landscapes you'll encounter with thousands of trees, rocks, grass and foliage within view at any given time. This is something that wasn't possible on an indie scale until recently, and this tool does a great job of making it accessible (though there are still significant performance challenges that we'll detail in a later post).

Rewired

Rewired | Utilities Tools | Unity Asset Store
Use the Rewired from Guavaman Enterprises on your next project. Find this utility tool & more on the Unity Asset Store.

Unity's new built-in input system is certainly an improvement over the original, but it would be putting it lightly to say that the API is confusing. Instead, we decided to try out Rewired, which pretty much "just works" and has a very straight-forward API to easily add support for all manner of input devices (keyboard, mouse and gamepads in our case).

Final IK

Final IK | Animation Tools | Unity Asset Store
Use the Final IK tool from RootMotion on your next project. Find this & more animation tools on the Unity Asset Store.

Final IK offers a robust inverse kinematics solution that is vital for the type of game we're building. If you aren't familiar, inverse kinematics essentially simulates the movement of bones in a humanoid or non-humanoid character. This allows us to do things like alter walk cycles to cover non-flat terrain, pick up objects at any position and even create procedural animations for any scenario you can think of. Unity has IK built-in, but Final IK is much more robust and also supports non-humanoid rigs (which is extra-important for one of our characters in particular).

The Vegetation Engine

The Vegetation Engine | Utilities Tools | Unity Asset Store
Use the The Vegetation Engine from BOXOPHOBIC on your next project. Find this utility tool & more on the Unity Asset Store.

We actually only use a small subset of this tool, but it comes with a suite of shaders that provide virtually any vegetation effect you could imagine to your trees and foliage. Our use-case is to apply realistic wind, subsurface-scattering and foliage interaction to our custom mesh trees, grass, bushes, etc.

Animancer

Animancer Pro | Animation Tools | Unity Asset Store
Use the Animancer Pro tool from Kybernetik on your next project. Find this & more animation tools on the Unity Asset Store.

Unity's Mecanim is a very powerful animation system that can cover a lot of use-cases. However, for our purposes, it became overkill rather quickly with unwieldy state machines. The API for working with Mecanim also leaves quite a bit to be desired, so integrating animations with our custom tools/systems was problematic. Animancer takes an API-first approach that makes all of this a breeze and gives us full control to handle animations whichever way works best for our custom setup.

Atmospheric Height Fog

Atmospheric Height Fog • Optimized Fog Shaders for Consoles, Mobile and VR | Fullscreen & Camera Effects | Unity Asset Store
Add depth to your project with Atmospheric Height Fog • Optimized Fog Shaders for Consoles, Mobile and VR asset from BOXOPHOBIC. Find this & more VFX options on the Unity Asset Store.

Fog plays a huge role in Arctic Awakening, but it is also a notoriously expensive effect. Our initial prototype of the game had a true volumetric fog effect that looked great, but it used up over half the frame time. Because of this, we switched to this solution from BOXOPHOBIC, which isn't true volumetric, but with some tinkering has provided every bit the visual polish that we were looking for while sticking within our performance budget.

UMotion Pro

UMotion Pro - Animation Editor | Animation Tools | Unity Asset Store
Use the UMotion Pro - Animation Editor tool from Soxware Interactive on your next project. Find this & more animation tools on the Unity Asset Store.

Procedural animations can only get you so far, and that is where traditional keyframe animations come into play. Even without an animator on your team, UMotion Pro is so easy to get the hang of that you can easily rough out animations right within the editor and then pass them off to a more seasoned animator to polish them later. This also allows us to easily tweak animations to perfectly fit the scenario in-game.

Amplify Color

Amplify Color | Fullscreen & Camera Effects | Unity Asset Store
Add depth to your project with Amplify Color asset from Amplify Creations. Find this & more VFX options on the Unity Asset Store.

We'll talk about color grading and color theory in another post, but it is vital to achieving the unique look and feel in Arctic Awakening. Amplify Color is great because it not only allows us to apply lookup textures (LUT) created in Photoshop to our scenes, but it also allows us to blend two together, which is vital to our custom weather and lighting system (for example, smoothly transitioning between daytime and sunset).

Amplify Shader Editor

Amplify Shader Editor | Visual Scripting | Unity Asset Store
Get the Amplify Shader Editor package from Amplify Creations and speed up your game development process. Find this & other Visual Scripting options on the Unity Asset Store.

Everything you see rendered to the screen first passed through at least one shader. While the standard shader is good enough for many things, to really bring your game to life, you are going to need to create custom shaders. ShaderLab is great, but using Amplify Shader Editor's visual node system takes custom shader creation to a new level and allows even non-coders to get in on the action.

SC Post Effects

SC Post Effects Pack | Fullscreen & Camera Effects | Unity Asset Store
Add depth to your project with SC Post Effects Pack asset from Staggart Creations. Find this & more VFX options on the Unity Asset Store.

Unity offers a variety of post-processing effects with the built-in post-processing package, but there is so much more you can do creatively with a full-featured pack of effects like the ones offered with SC Post Effects. We especially like the sun shafts implementation as well as a variety of camera effects for different gameplay scenarios. Your creativity is really going to be the only limitation with this tool at your disposal.

Mtree

Mtree - Tree Creation | Modeling | Unity Asset Store
Get the Mtree - Tree Creation package from Maxime and speed up your game development process. Find this & other Modeling options on the Unity Asset Store.

Mtree is a great little tool to generate virtually any kind of tree or bush imaginable. It is especially handy when it comes to creating LOD levels for said trees as you can see the polycount right in the tool and edit your levels to exactly meet your needs. For optimal performance, we've exported these trees, modified them in 3D modeling software and applied The Vegetation Engine using a single material/shader for better batching.

Odin Inspector

Odin - Inspector and Serializer | Utilities Tools | Unity Asset Store
Use the Odin - Inspector and Serializer from Sirenix on your next project. Find this utility tool & more on the Unity Asset Store.

Creating custom editor windows and inspectors in Unity is doable, but it is often a pain. Odin makes it a breeze to create virtually any kind of custom editor you could imagine. Because of this, it is at the core of many of our custom editor tools, some of which we'll be talking more about in later blog posts (weather system, game manager, dialogue/events editor, etc).

Path Painter

Path Painter™ | Terrain | Unity Asset Store
Get the Path Painter™ package from 3D Haven™ and speed up your game development process. Find this & other Terrain options on the Unity Asset Store.

The name of this one can be misleading, as some might confuse it with simply a texture painter for terrains. However, the real power comes in its terrain molding functionality that allows you to easily carve paths into your terrain, even if you aren't applying any textures (which we aren't due to our snow system). Unity's terrain tools are pretty solid, but without Path Painter it would be a massive pain to create traversable paths throughout the mountainous Alaskan wilderness in Arctic Awakening.

Technie Collider Creator

Technie Collider Creator | Level Design | Unity Asset Store
Get the Technie Collider Creator package from Triangular Pixels and speed up your game development process. Find this & other Level Design options on the Unity Asset Store.

Mesh colliders are very slow, but primitives don't always work well for many non-standard objects. We have a lot of these types of objects in our game, so a tool like Technie allows us to easily create custom colliders for these odd-shaped objects that are also performant within the physics simulation.

Poly Few

Poly Few | Mesh Simplifier and Auto LOD Generator | Utilities Tools | Unity Asset Store
Use the Poly Few | Mesh Simplifier and Auto LOD Generator from Brain Fail Productions on your next project. Find this utility tool & more on the Unity Asset Store.

One of the biggest impacts on performance is how much geometric complexity exists in your scene. In order to combat that, it is important to set up LODs (level of detail) that will lower the quality of assets as they get farther away. This can be a painstaking process for an artist to do manually, but Poly Few allows us to automatically generate these LOD meshes right from within Unity.

Easy Event Manager

Easy Event Manager | Integration | Unity Asset Store
Use the Easy Event Manager from TIGERFORGE on your next project. Find this integration tool & more on the Unity Asset Store.

With our background in JavaScript, we didn't exactly feel at home with Unity's events. They are also notoriously slow, and we need every ounce of performance that we can squeeze out of the engine. Easy Event Manager is a great open-source solution that enables performant events that are more like what we are used to from the web.

Do you have any favorite tools/assets for Unity or other engines? Let us know in the comments!