Monday, November 13, 2017

Unity3D - A Game Engine Review

Image result for unity 3d

Unity in a Nutshell

Unity3D 2017 is the current version of one of the most popular 3rd party game engines open for the public to use, completely free of cost.  It supports both 2D and 3D development, and has been praised for its easy of use when it comes to learning the engine, porting to different platforms, and developing for mobile especially.  The engine supports both UnityScript (which is just a modified version of Javascript), and C#.

My Experience With the Engine

I started off learning Unity when I decided that I wanted to work with computers, back in November of 2015, my junior year of highschool.  I had recently started teaching myself Javascript through Codeacademy, and decided after making a bunch of simple calculator programs that it'd be cool to learn how to make a game.

Unity was the first engine I stumbled upon, and due to the excess of tutorials I was able to find on both their website and Youtube, I figured it couldn't be too difficult to learn.  I began right away, trying to learn how to work the very basics of the engine.


Once I got the basics of movement and manipulating objects in the scene view, I decided I was ready to create a complete game.  So, with almost no programming, texturing, 3D modeling, or game design experience, I set out to create a newer, better version of the Call of Duty: Zombies mode.


Shortly after realizing that this was more or less an impossible task for someone with no real game development skills, I moved onto a new project.  Something simpler.  A standard Unity horror game.  I spent months working on level design and improving my programming skills, including drafting up a system that would dynamically search for all the doors in a level, save their open/unlocked states, and update based on what parts of the level were loaded.  Sure, it took me 12 hours of straight frustration, but the entire experience was a learning opportunity.

I was so sure that the game was going well that I planned on selling it in October of 2017 (which obviously never happened), and released a public demo for people to test and give me feedback on.


Upon realizing that even my idea for a relatively simplistic horror game was way beyond my scope, I started yet another project, this one by the name of The Great Geometric Multiverse Tour.  This one, however, I am very close to actually completing, and have begun the process of incorporating an LLC in order to sell the game across platforms like Steam and itch.io!

Things I Like

Unity has a ton of features I love.  It'd take far too long to go into detail on them all, so I'll list out just a few.

  • Easy to manage scene system.  Very good for transitioning between levels.
  • Prefabs, and the ability to update all objects in a scene by only modifying one base prefab.
  • Intuitive component stack, making adding, removing, and modifying both entire components and their values on an object very simple.
  • The implementation of C# as a main language, making programming anything in the game easier and more simplistic.
  • The ability to spectate both a game view and scene view side by side, even while the game is running.
  • Ease in porting to a variety of platforms, especially various mobile platforms.
  • Intuitive and simple UI creation.
  • Huge store for free and paid assets, some of which I never start a game without!
  • Excess of online tutorials, even beyond the standard documentation and videos on Unity's website.  You'll never not be able to find someone with a similar problem to yours.

Things I Don't Like

There aren't too many things that I don't like about Unity, though the things that I don't like about it are pretty large.

One of my main issues with Unity isn't so much about the physical engine itself, but rather in the connotation that the engine carries with it.  Due to the fact that Unity is one of the easiest game developing engines to learn out there right now, a lot of people (especially new comers and the inexperienced) gravitate towards it to work on their first projects.  Like any art (because game development is an art), the first pieces created by the artist are, well, usually they're pretty awful. 

This is a negative for Unity.  Because the barrier of entry is so low, games made in Unity often are pumped out by those still learning the ins and outs of game development, and usually at a much faster rate than the more polished and professional games.  This gives Unity as an engine a bad rep, and people often think that just because a game was made in Unity, it automatically won't be as good as a game made in another engine, such as Unreal.

My other major gripe with Unity is the lack of a proper material editor.  This frustrates me, because one of the major competing factors between Unity and Unreal, as with all engines, is graphics capabilities.  This, if anything, should motivate Unity to have a built in material editor, similar to the extremely popular plugin called ShaderForge.

Beyond these two major reasons and the occasional bug or slight frustration that comes along with any piece of software, I think Unity is an amazing tool, and its worth should be placed on its potential rather than what might typically be made in the engine by those who do not put its full capabilities to use.

No comments:

Post a Comment