Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
January 17, 2018
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


6 things I wish I knew about Unity3D when I first started.

by Kristian Carazo on 07/09/13 09:46:00 am

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


If you are a traditional game programmer such as myself, and never really dealt much with scripting then learning some of the paradigms of Unity3D can be somewhat shocking. It's easy to learn once you change the way you think about how you are making games. Here are a few things I wish I would have known about Unity3D.


I started looking into Unity a while ago after seeing all the cool stuff people were building with it and hearing about how easy it was to build games with.
My background up to this point had been building games for windows, the traditional build everything yourself way. When the mobile craze hit, I started working on mobile games using Marmalade which was a natural transition for me. Everything worked exactly the same and I was able to port a lot of my tech over without too many issues.
After having built a few mobile games I started looking into Unity3D. It was very different than what I was working with up to this point. What really attracted me to it was that in my mind, I had always envisioned building a tech similar to this for creating games. My dream engine looked a lot like unity, where games could be built by using high level game objects to which components could be attached. I built this concept in my Rebel Tech engine, except instead of running script you would simply attach C++ classes to objects to give them interesting behaviors. Basically Unity3d to me was what I would have taken me 30 years to build by myself.

My dog realizing how cool Unity 3D is
My dog's reaction to Unity3D's awesomeness

This is a list of things I wish I would have known when I first opened up Unity3D, I like learning by just tinkering around with stuff so I'm sure some these could have been learned by just RTFM.

1. There is no spoon main loop. Game Objects, and Prefab hierarchies are the name of the game.
2. Inline with number one, unity works at a much higher level than I normally worked at.
3. Enable source control mode if you will be using svn/git.
4. You can expose custom objects to the editor by using the serializable attribute, and if you find yourself manually loading prefabs from the /Resources path... there is most likely a more elegant solution.
5. Learn and use Update, FixedUpdate and LateUpdate each has its own purpose and helps to solve specific problems.
6. The asset store can save you a TON of coding time.
Here are a few other features that I found very useful in Unity
1. You can use Visual Studio as your editor. C# +  ReSharper was awesome!
2. The asset pipeline is pure win, being able to import models and use them right away is great for iteration. FBX is my preferred format, I export everything as FBX and import into Unity3D.
3. Work on multiple platforms easily, I was a windows guy until fairly recently when I purchased a mac as my main machine. I was able to pick up right where I left off without problems (Still getting used to MonoDevelop).
4. MonoDevelop, a great IDE packaged with Unity.
5. Unity3D is surprisingly stable across the smorgasbord of Android devices.  This was something I was worried about when switching to unity, I feared that I would run across strange crashes related to engine internals that I would be unable to fix. That didn't happen :)

What did I create with Unity3D?

Galactic Run - Created with Unity 3D
Galactic Run built with Unity3D

Galactic Run, a cool bullet hell style space shooter. Not bad for a months work.
Since then I've been creating prototypes and I've finally decided on my next game which I am actively developing, a space roguelike of the coffee break variety.

This entry is a report of this blog entry on my website.

Related Jobs

Sanzaru Games Inc.
Sanzaru Games Inc. — Foster City, California, United States

Gameplay Engineer — Chicago, Illinois, United States

UI Engineer
Phosphor Games Studio
Phosphor Games Studio — Chicago, Illinois, United States

Mid to Senior Gameplay Programmer
Insomniac Games
Insomniac Games — Burbank, California, United States

Engine Programmer

Loading Comments

loader image