For those of you who don’t know, Unity is a game engine. This is what video games are built and created in; displaying the models, running the code, and shooting the particles. I’ve familiarized myself with a few of these over my time as a game developer, as well as mapping programs that work in a similar way sometimes.
Unity has been something I’ve come to love over the now couple years I’ve worked with it for a couple of reasons. The points I’d like to hit on in this review are the way you build in unity, the way it handles it’s scripting, and finally it’s community.
First off, building in Unity threw me off of my game when I first tried to make something in it. Most game engines or mapping programs I’ve used in the past such as GTK Radiant, and UDK use what I call brushes. These are basically large bricks you can place to make a foundation for your game world like the floor, walls, and ceiling, before you start placing more detailed assets into them. Unity has no such luxury however (without special plugins anyway), where all of it’s assets have to be modeled or created to be placed into a world.
At first I didn’t like this, but then I realized that this allowed me to be more detailed and precise with everything I made. Using brushes to create things can be tricky, and usually importing objects can be a pain, but Unity solves both issues to make creating the world with models pretty simple.
Next, the scripting. This is the code that makes the game actually work and do things around the player, without this, the game would be nothing but a neat image. In other editors, the code is pretty separate from the world. There are classes and nodes to place, the code detects them, and makes them operate accordingly.
In Unity, every brick of the world has the potential to be the source of code by placing it directly on the objects. You do not simply make a door and tag it as “FUNC_DOOR” which the code finds and makes it work, you can make a door and give it it’s own script that tells it to rotate and move on it’s own. This has made creating things in unity amazingly simple as I make my own code to run the things instead of relying on the functionality of the engine I was using, or trying to edit the code already written.
Last I’d like to hit on Unity’s outstanding community. I think this is a integral part of the way the engine is used. Getting into a new engine and learning the ins-and-outs can be difficult, especially if you don’t know much about them in the first place.
Unity not only has a full documentation with searchable functions on it complete with tutorials, but they also have a community wiki where everyone pools their ideas and thoughts together to create even more helpful resources. I have never seen such a helpful community before, which has kept me using Unity instead of being frustrated with engines I don’t know how to fully use.
I think Unity is a great and powerful tool for game creation. It’s fast, easy, and helpful every step of the way, much more than I’ve seen with other editors in the past. For once I am able to jump in and start making something quickly instead of having to find work-arounds or take forever to set it up. You can get a proof of concept for a project pretty fast with everything that is built in and easily convert it later when you change out assets. So I have to give Unity a high rating in pretty much everything it has, it’s just an amazing tool to use.