Unity: the tool behind the metaverse
Creating a video game can be a game in itself. In fact, that’s the premise of some games that are now highly sought after in the metaverse. However, these same games must be created from software and platforms, right? What makes it possible to create elaborate games and creations? Unity is the video game engine that seeks to be behind the creations that inhabit the metaverse.
What is Unity?
In the world of programming few things are as complex as video games. It doesn’t matter if they are in 3D or 2D, for a video game to work you have to define much more than just the objective of the game. There are for example all the visual aspects, and graphics, in addition to the need to calibrate the physics within the game (if something is going to bounce off a wall or how light and shadows will look). Creating a video game is creating a whole universe, especially when it comes to a free space of creation (worldbuilding) rather than one focused on an adventure because it should allow the user to experiment with the characteristics of the game.
All that a video game requires is that you need a great team of specialists, as well as a budget. Or so it was before. Now there are multiple platforms seeking to democratize the creation of video games. In my last article on Sandbox, I talked about the feature it has for creating games and online experiences and how accessible it is even to non-programmers. However, its accessibility makes it limited to more sophisticated projects. For creators who are looking for a middle ground between accessibility and a wide range of features and possibilities is Unity.
Unity is a video game engine that has gained great public attention for multiple reasons. It is currently cross-platform, compatible with:
• Microsoft Windows
• Mac OS
This allows you to create games and experiences for:
• Virtual reality games
As you can see the range of entry possibilities is already very extensive.
Unity is owned by Unity Technologies. Its CEO John Riccitiello describes Unity as the underlying tool for creating games, experiences, and spaces in the metaverse. He sees the metaverse as the specific place to create, while Unity would be the machinery and tools with which projects can be carried out.
In fact, Unity began thanks to a failed video game: GooBall. A 2004 creation by David Helgason, Nicolas Francis, and Joachim Ante. Although the game itself was not successful, they noticed that there was potential in the tools and platforms they had created, so they decided to perfect them and offer them for other game developers to use. Unity was released on May 30, 2005. Over the years it has remained in the market and has gained relevance, being its last update on April 7, 2021.
So much so that Unity is a simple-to-use game engine, but with enough sophistication to give quality results. Its main objective is to facilitate the production of a video game by providing basic code for the physics within the game, as well as other editing tools.
Unity offers a visual editor in which creators can drag items and move them at will. With onscreen tools, they can change their appearance, and scale, either in 3D or in 2D. The editor also has the option to display the game as the end-user would see it. This editing process that immediately shows what the code does helps developers move faster. In addition, Unity warns of code errors or other problems.
On the other hand, you can also create “assets”, these are effects, objects, tools, graphics, and others, which you can offer in the Asset Store. Their other creators can use your creations to enrich their works. For example, if someone needs to create a crumbling stone wall in their video game, they don’t need to design it from scratch, they can go to one in the Asset Store. You could even find one for free use so you don’t have to pay the fees. Thanks to this feature, creators can focus on what will make their games unique instead of worrying about every detail.
The sum of this results in a platform to which you just have to tell what to do without having to build each element to do it. This is the great virtue of Unity and has gained great notoriety among programmers.
Code using Unity
Despite all the facilities offered by Unity, it is not a platform for everyone. Unlike Sandbox, Roblox or Minecraft, this is not a gaming platform, it is a professional tool. As Riccitiello explains, Unity is the tool with which you can create the attractions of an amusement park, but it is not the amusement park itself. Therefore it is necessary to know a little programming to get the most out of it.
Fortunately, the language used by Unity is C#, which is quite beginner-friendly. There are several online courses that teach this type of language and in fact, it is very similar to Java. With a couple of courses, you could be programming at Unity like a pro. Although of course, there is how practice and experimentation to improve.
So, if it’s your dream to develop a video game, Unity could be the platform for you. In fact, because of the language it uses and all the resources, it has in the Asset Store, it is the preferred platform for indie video game developers. For example, the popular game Among Us used the services of Unity for its creation, one of its greatest successes in recent years. In addition to the fact that it achieves its objective of democratizing the creation of video games.
In fact, Unity is a favorite platform for creating mobile games. This is because their graphics are simple to export to lower-range hardware without losing quality. This also means that it does not have very high-quality graphics, however, there are certain projects for which this is not the main thing and it is fine.
And since we’re talking about Unity’s weaknesses, let’s go on to assess its advantages and disadvantages point by point.
Pros and Cons of Unity
No platform or program is perfect. Unity is no exception and it might not be for you. So let’s take a closer look at what makes it a good video game engine and what it could do better.
• Easy programming language for beginners (C#)
• Visual editor with screen for testing
• Space to monetize creations and buy effects, graphics, and others that speed up your process (Asset Store)
• Possibility to create in 2D and 3D
• Easy to export graphics to mobile devices or smaller capacity
• Average graphics quality
• Having so many predetermined tools and assets, doesn’t give the same ease for opportunities (Unreal, for example, is a video game engine that offers a lot more creative freedom for programmers).
• There are many tools that in other game engines are free but that in Unity you must buy (for example, textures, brushes, profiler, and templates)
• There are cases in which the rights and documentation necessary for creators to own their assets are not well defined.
Taking all this into account, we can evaluate Unity as an excellent platform for indie creators who are experimenting. However, perhaps for larger, more budget projects, it is not the best option. As far as the legal issue of ownership is concerned, I advise you not to put your best ideas or creations on sale in Unity to avoid problems. Even if you create some basic effect do not rule out the possibility of earning something with it.
How to use Unity?
Although Unity is made to be user-friendly, it can be intimidating at first. You need to know exactly what to download and how, plus the main screen has too many tabs and buttons. But by following a basic guide to getting started you can achieve everything.
Download and install
To install Unity you must go to its website:
1. Download the program
2. Create an account
3. Choose the latest update
4. The installation program will give you a simple start guide
5. If you already have some experience in developing you might want to download Android Build Support, Android SDK NDK Tools, and Open JDK as well. You can download them directly from Unity to get them organized in Unity Hub.
The basic screen of Unity
In the main Unity Hub window you will find the following tabs:
• Hierarchy: Here you will see the list of objects in your scene (scene).
• Scene: This is the visual editor window where you can modify objects.
• Game: this is the window where you can try the game, here you can not edit anything.
• Asset Store: This tab takes you to the store so you can integrate assets into your project.
• Inspector: This tab helps you modify objects, you can change their scale, and position, and add C# codes or other components.
• Project: Here are the files that make up your game.
• Console: If you need to check for bugs, this is where Unity gives you a detailed report.
And you, would you use Unity?
Unity is a video game engine that lets you create professionally whether you’re an experienced developer or just starting out. There you can resort to tools made by other creators so you don’t have to create everything from scratch so can focus on the specifics of your game. There are still some details about Unity properties that could be problematic and it is not a platform that provides as many freedoms as others. However, if you’re a game programmer starting out, Unity might be just what you need.