A few years ago, I participated as a mentor in a game jam. After the announcement of the winners, one of my mentees asked me:
"The winners created their game by assembling assets from the Asset Store. They didn't even write three lines of code. Is that fair?"
At that moment, I became convinced that the Unity Asset Store and third-party SDKs (Software Development Kit) are the best things the internet gods have sent us. Imagine a ready-to-use, tested solution that can save your project time and money. What could be better? Only a list of ten solutions that developers will surely be thrilled about.
The order in the list is arbitrary. You won't find in-app purchases or advertisement SDKs here because they deserve a separate article. The same situation is with content assets because their necessity depends on specific projects.
This tool is essential for optimizing a 3D project. It becomes even more necessary when you don't have an experienced full-time 3D artist ready to lend a hand at any moment. Working with stock or freelance models often involves excessive materials and sub-meshes. When you insert such a model into your project, the number of draw calls overgrows. Mesh Baker takes care of the optimization process entirely.
Unlike other similar programs, Mesh Baker can do everything. Here are some of its capabilities:
This asset also has well-documented instructions, regularly updated video tutorials, and good developer support.
If we put it briefly, Amplify Shader Editor is the Shader Graph of a health-conscious person. Here are its advantages over other shader editors in Asset Store:
Do you continue to use frame-by-frame animation in your project? If you're tired of constantly changing Unity's toolkit for working with skeletal animation, Spine is specifically designed for you. It's not an asset from the Unity Asset Store. Still, it is the best solution for working with 2D character animation in Unity.
Spine operates based on skeletal animation principles: the character is divided into parts, and the animation is created by changing the state of those individual parts. As a result, a set of 10-20 character animations can fit into a 1024x1024 pixel atlas, along with a .txt file containing the atlas layout and a JSON file with the saved animations. The animations for such a character will take up a maximum of 2MB. Now, how much space would files for 20 frames of frame-by-frame animation take?
Of course, you can use one of the 10 Unity solutions for skeletal animation or find something on the Asset Store, but Spine has several advantages over them:
Additionally, Spine has:
a. Custom serialization of animation clips and skins
b. Animation events at the end of playing an animation clip or animation
c. Easy integration of animation events within the animation itself
d. The ability to attach sprites to your animation skeleton that participate in the animation — creating an equipment system with Spine is a breeze
e. One file for game and UI animations
f. Well-documented instructions and an active community
Overall, you won't want to work with other 2D animators once you try Spine.
If your project requires something more than a single-plane static camera, use Cinemachine. When I last created a custom controller for a 2D camera, it took me several days. What I ended up with was less flexible than Cinemachine. Installing Cinemachine is the first thing I do when I need a camera controller. Here are its advantages:
Here I cheated a bit by grouping together a whole set of products from one developer.
Firebase is irreplaceable, and the entire product group is much easier to work with than individual assets. It can offer the following:
And this is probably just a small part of what Firebase is capable of.
DOTween is the best solution for creating animation sequences in Unity. It allows you to develop component-based animations from code, combine them into sequences, receive callbacks when they end, and launch them in asynchronous methods. DOTween also supports the use of
DOTween creates animations based on Unity components. For Rigidbody, for example, you can control position, rotation, and velocity. This means that DOTween can even be used to create movement controllers for 2D and 3D. Additionally, DOTween works great with UI animations.
I'm providing a link only to the free version, as I have never encountered a moment when this functionality was insufficient throughout my career. Of course, you can tween TMPro in the pro version, but it's easy to work without it.
This asset's paid, and free versions are essential for organizing a project. You have encountered files lying in your project since its creation multiple times for 100%. They seem to be unused, but deleting them is still scary. These two assets will show you a complete list of dependencies between files, even if they are embedded in the addressable system.
Experience the power of Scandinavian gods working with the Unity inspector:
I have selected a few of the most superficial attributes and described their capabilities:
a. [ChildGameObjectsOnly] — can be used on fields and properties of type Component. The compiler will iterate through child objects and return objects of the corresponding type in a dropdown.
b. [SceneObjectsOnly] — works similarly to the previous attribute, but the search is performed throughout the scene.
c. [AssetsOnly] — can only be used on fields and properties of type Unity.Object. This attribute allows serialization only for objects not present in the scene.
d. [Required] — can be used on a field or property of type Unity.Object. It will display an error icon and a message in the inspector if the object is empty.
e. [ValidateInput("ValidationMethod")] — a dropdown based on the provided IEnumerable with your specified values.
The cherry on top can be another asset that pairs well with the serializer: Odin Validator. It will save you from broken objects, missing references, and similar issues. Combining all these features makes working with it extremely comfortable compared to similar assets.
Let's start with its functionality. Procedural UI Image is an alternative to Unity Image. It can do everything the original can and even more:
UI Gradient is an extension of the previous asset:
Gradients are procedural and can be animated
Support for linear and quadrilateral gradients
Gradients can be rotated at any angle
High performance
After familiarizing yourself with the functionality of this pair, you immediately realize the space saved. You can say "goodbye" to hundreds of sprites with different radii or gradients that only UI designers can distinguish.
As a bonus, a similar solution is the
If the use of previous assets can still be questioned, this particular asset, or its equivalent, must be in every project. It's pretty simple — a debug window for on-device builds.
If you are developing for platforms like Standalone, iOS, Android, Windows Store, WebGL, or Web Player and you're not using something similar, I feel sorry for you. And I firmly recommend installing this asset quickly.
This asset should be the first thing you add to your project after its creation. So, what can it do?
These are the assets that I use most often, but there are many more of them. Nowadays, before starting a task, I increasingly check if there is a ready-made solution in the Asset Store. If I need water effect, I go to the Asset Store, realistic ropes — Asset Store, 2D pathfinding — Asset Store.
The answer to "Why do companies need you if there are so many ready-made solutions?" is quite simple. A good specialist is not only someone who can do everything from scratch but also someone who can provide the most beneficial business solution in the shortest possible time. So make full use of the asset store! It will help optimize your work and allow you to spend more time on complex tasks.