Unity Pros: opinion of an experienced Developer | 4Experience
I remember well how my adventure with Unity began. It was in the last year of my studies when I had the opportunity to take up an internship in a company that created mobile games for iOS. I was delighted because I didn’t even have an iPhone in my hands before and working on video games was my dream. During the internship, it turned out that they created software using a then little-known IDE commonly known as Unity3D. It was 2010 and Unity was version 3 at the time.
Today is 2020. Unity has changed to annual numbering, and the latest version of the engine is the 9th generation in total. A lot has changed in these 10 years. From a little-known editor, Unity has become the second most popular game engine in the world.
It is estimated that the value of Unity on the stock exchange is between $ 10–15 billion and software created with their engine now runs on more than 1.5 billion devices. About 1.5 million active developers create about 8,000 applications every month. Where did the enormous popularity of the engine, created in 2005 by 3 colleagues David Helgason, Joachim Ante, and Nicholas Francis and currently developed by nearly 3,400 employees in 44 offices located in 16 countries, come from?
Easy to learn, hard to master
I did a little survey among my colleagues at work about Unity. Our talented Junior developers immediately pointed out to me that Unity is easy to learn compared to e.g. Unreal Engine. This is mainly due to the fact that the company has been placing great emphasis on creating tutorials and developing documentation for years. They even created the Unity Learn platform, which includes over 750 hours of training material for creators at every skill level.
It is impossible not to mention here about the huge community that has been built around this engine. You can be sure that when you come across a problem, someone has already solved it and described it on the forum. And if you are unlucky and do not find a ready answer, you will certainly find someone who will help you. There is a great chance that it will even be a Unity employee because they are particularly active on the forum.
Another good news for first-time developers is that C # is the main programming language in Unity. Unlike the C ++ used in the Unreal Engine, it is much easier to use and understand, harder to make mistakes, is pure object-oriented, and supports a garbage collector.
As we are talking about the beginnings of the adventure with Unity, we must also discuss the costs. Unity Personal, i.e. the basic functionality of the engine, is available for free. If your annual income exceeds $100,000 you will have to buy a Plus license which costs $40 per month, which in my opinion is a really low amount for what you get in return.
Of course, there is no denying that Unity can be overwhelming at first with the number of possibilities and options, but thanks to the intuitive interface, it won’t be long when you start creating your first applications that will do much more than print “Hello world” on the screen.
It ceases to be good for nothing and is still good for everything
For the above quote, I have to thank my colleague — thanks Piotr. I couldn’t resist using it because it perfectly captures the transformation that Unity has undergone in recent years. This engine has long been known for its multi-platform support, but applications created on it usually did not impress with their performance and did not stand out from the others, created on the engines of the competition. Today it looks completely different.
Unity allows you to create mobile applications for both Android and iOS systems. This is a huge plus, from one project you can prepare an application for the two most popular systems. In addition, Unity fully supports the AR Foundation framework, thanks to which the functionalities related to augmented reality are immediately supported by ARCore or ARKit. Did I mention that it is estimated that more than half of the top 1000 games on both platforms were created in Unity? Below I am presenting the most famous mobile productions created on Unity by Blizzard and Square Enix.
AR/ VR projects in our Portfolio | 4Experience Virtual Reality Company
Discover the best AR/VR projects developed by our talented creators and graphic designers. More than 100 companies have…
What about another Unity pros?
VR applications for mobile devices
A different type of application is associated with mobile devices and AR, which we love to create in our company. With Unity, we can create VR applications for mobile devices such as Oculus Go or Quest, as well as those for PC using the capabilities of HTC Vive, Valve Index or Oculus Rift. Additionally, Unity allows you to create applications on UWP, thanks to which we can create MR applications for e.g. HoloLens glasses. Check out the trailer of Beat Saber, the best-rated VR game recently, which is available on both Oculus Rift, HTC Vive and Valve Index, and was of course created in Unity.
Quick transitioning between platforms
Ever since the 1st generation, Unity has enabled application development for PC and Mac platforms. Among the supported platforms, it also has all the major console platforms. Just imagine, you have a PC game ready, click one button and switch target to PS4, Xbox One, or Nintendo Switch. Of course, you need to do some additional work, such as handling the input system specific for a given platform, but the core of the whole game does not change, it is ready. Unity is constantly working to make transitioning between platforms as easy and quick as possible. This is evidenced by the new input system based on actions, where we can define how they are called on various types of input devices, or even the ability to define texture compression, mipmaps, resolution settings for each platform that the game engine supports. I am sure that these features of the engine contributed to the release of appreciated games such as Superhot and Inside on both PC and the current generation consoles.
3D content on the web
From the very beginning, the goal of Unity’s creators was to create a tool for publishing 3D content on the web. Despite the many years that have passed, the web is still an important target platform for Unity. Thanks to the support of WebGL technology, applications such as Star Trek Timelines are created, which can be played for free on the Facebook social platform.
Is Unity the best engine for the 2D games?
Unity deserves a distinction in the field of 2D games. I will say, even more, it is currently considered the best engine for this type of production. It owes its position to extensive tools for handling 2D animations (e.g., Sprite Editor with the possibility of rig sprites and set up bones to create smooth skeletal animation), 2D lights, tilemaps (e.g. Tile Palette with support for hexagonal and isometric tilemaps), 2D physics (Unity has 2 different collision engines built-in — one for 2D and one for 3D objects) and even Sprite shape (a tool for tiling sprites along spline paths). The benefits of the IDE have been used by the creators of three of the most famous platformers of recent times — the magical and beautiful Ori and the Blind Forest, the vintage cartoon looking Cuphead that every player has heard about and the perfectly refined Hollow Knight hailed Dark Souls in 2D.
Scriptable Renderer Pipeline
Unlike 2D, Unity has never achieved much success in the field of 3D gaming. There is still a belief that if your goal is to create an AAA game with breathtaking graphics, Epic’s Unreal Engine is the best tool to work with. However, the creators of Unity are constantly developing their engine closer to the possibilities offered by the competition engine. They have never been so close as they are now thanks to a new system called Scriptable Renderer Pipeline introduced in Unity 2018.1, which allows you to create your own pipeline rendering. This new system also includes two pre-defined ready-made pipelines URP and HDRP. The second was created to enable the achievement of photorealistic graphics on powerful PCs and consoles. As an example, I will use a tech demo prepared by Unity, which also presents the possibilities that Unity offers in the field of handling assets created using photogrammetry-scanned real-world objects and textures.
Everything you need to succeed
A few years ago, I was working on a project that presented housing investments that were yet to be built. Thanks to our work, people interested in purchasing an apartment could see how the block of flats will look like and walk around the selected apartment in the FPP view. And here’s the problem. In order for the interiors of the apartments to look good, you had to generate lightmaps for them. Each apartment was in a separate scene that could be loaded from a bundle in runtime. To achieve the goal, you would have to enter each scene, generate the lighting, which took a few minutes, save the scene, and then do the same in the next scene. Imagine this process for e.g. 100 apartments. It would be an awful job, so I undertook to prepare a tool to handle this process in Unity. Thanks to the documentation, I managed to create and refine it in a few days. The tool generated lighting for the indicated prefabs of apartments, created an empty scene for each, set the lighting parameters, generated lightmaps, saved the scene afterwards, and left logs in the console so that I would know how long the whole process took. The whole process was fully automatic and saved us a lot of long and tedious work.
I told this story to show how great the expansion potential of the Unity Editor is for any developer. Below is a link to another example. In the article about the continuation of the hit mobile game Monument Valley, you can find two films in which its creators show how, using their own tools for the Unity editor, they created new locations and puzzles that the player has to face.
Post-processing for VR and mobile devices - 4Experience
Is there anyone today who does not like graphics refined by post-processing? These breathtaking photo-realistic views…
Where you can find the assets and tools?
More examples can be easily found on AssetStore, which has over 8,500 different tools prepared by developers from around the world. Overall, in the Unity digital store, you can find over 63,000 different assets, from 2D and 3D graphics, through tool sounds, to complete projects. Unity itself has its own series of assets called Essentials, where it provides ready-made assets that they used in tutorials, videos presenting new solutions, etc. Yes, this beautiful forest from the Book of the Dead trailer is also available there. All this to facilitate the development of community members and speed up their work.
Interestingly, if the asset stands out from the crowd, Unity often collaborates with its developers and adds it as a build-in tool to the editor. Such a story happened to the creators of the fantastic TextMesh Pro extension, which allowed to have a much greater impact on the appearance of the text than the built-in Unity text. The last assets that were promoted in this way and incorporated into Unity are Bolt, which is Unity’s answer to Unreal blueprints, and ProBuilder, which allows you to quickly create meshes perfect for prototyping.
New tools at Unity
Although Unity is constantly working on the development and improvement of the engine, it also constantly adds new tools that extend the editor’s capabilities. Recently, they added such solutions as Nested Prefabs (which, simply speaking, implement inheritance among prefabs), Shader Graph (allow you to create shaders by building them visually and see the results in real-time), ProGrids (visual and functional grid, which snaps on all three axes). Cinemachine deserves a separate mention. This tool provides a suite of tools for dynamic, smart cameras that can be used in the creation of cutscenes and movies. Thanks to it, they won their first Technology and Engineering Emmy Award. Below is another video created using, among others, Cinemachine, HDRP, and the built-in Unity Post-Processing stack and Visual Effect Graph (particle handling tool).
Unlock your creativity
When I started writing this article, I assumed it would be shorter. And yet I have the impression that I only mentioned the top of the mountain of possibilities that Unity has to offer. I even forgot to mention that since Unity 2019.4.8 the dark theme is available for free for all users (previously it was only available in the paid version). This is a very good example of how the developers of Unity listen to their community, which demanded that this color scheme be made available to everyone.
Although I have been working on this engine for 10 years I am constantly developing and learning new ways to achieve my goals. I am a witness to the amazing progress that Unity has made over the years. I can confirm that Unity provides you with tools that will allow you to focus on your creativity. If you are just starting your adventure with game development, there is no better editor than Unity for you.