New to Unity

Hi all,

I am new to Unity. I have played with it before briefly but I am now in better life situation with more free time so thought I would come back to it.

I have one question that is definitely a n00b question but I am kind of puzzled on how to go about learning Unity.

Most of my programming experience lies with C++ not C# although I now work for a software house that uses C# (Im mostly doing SQL and asp.net at the minute).

So what is the best way to learn Unity?

A) Read through the documentation and learn the interface, but get no real experience. But when doing the tutorials I will have a better understanding.

B) Follow the tutorials, then refer to the documentation later as I will have reference points from the tutorials and have a better general understanding, the documentation will be used to deepen my knowledge.

C) In regards to C#, should I learn that first?

Apologies if these questions seem dumb, but I don’t want to jump in head first with no real plan. I want to utilise my time to the best of my ability.

Regards

You can waste a lot of time searching for the best way to learn. There is no shortcut to becoming a game developer.

I would suggest browsing the docs for familiarity. At the same time do some of the complete projects in the learn system. And watch some of the scripting section videos.

As you do all of this, make a few clones of simple games. Space Invaders, Pong, Flappy Bird, Pacman.

Then go over to answers and the scripting forum and help other people solve their problems.

3 Likes

First off, shameless plug for my book Unity in Action; it teaches Unity to people who already know how to program.

As for your 3 options, I would say do B. You won’t remember much if reading the API with no context, and you’ll pickup C# as you go.

Both previous posts gave really good answers for the path we generally recommend to newcomers, but I feel the urge to play devil’s advocate for a moment. Normally we recommend that newcomers start with the tutorials (following along and not just reading/watching) and follow up with trying to create their own games from scratch (or duplicate the tutorial ones without referring back to them too often).

I want to start by stating that I had prior knowledge of C++ and C# before attempting to learn Unity. I was in the market for a game engine and was unsatisfied with the very brief period I spent with UDK (aka Unreal 3). Thus I had some limited past experience with working inside an editor (mostly navigating scenes, placing objects, attaching scripts, etc) and knew the languages well enough to read API and build code that way.

I started with the free 3D Buzz tutorial series that showed how to use the Unity editor interface, but I only watched a short tutorial series showing a script being attached to an object and coded to Instantiate/Destroy depending on the action performed by the player (it was a very simplistic Minecraft-style game tutorial).

From there I started reading through the documentation and experimenting around with the API. As with all other engines I created a quick and dirty pong clone to verify that I knew the basics.

This path may work for you or it may not. Just throwing it out there as one potential path. I have only done one or two of the Unity Learn tutorials and only to assist someone who was having difficulties (last I checked you can’t download them in a finished state, you have to do them yourself).

3 Likes

I’ll do an “I didn’t write it” recommendation for that book – a friend of mine used that book (and lots of experimenting) a few months ago and now has his first game available to download on Google Play. I don’t own the book, but I’ve borrowed it (sorry, Joe!) from the college library three times in the past few months to poke through it. It has a good ratio of text-to-code-to-pictures.

Jay

2 Likes

As someone that did sw engineering for 15 years, and never wrote a book or tutorial, I can say that the “best” way is to do something simple, learn from it and move to the next project.

First you need to learn the language; you use it already, so you are good to go.
Then you need to learn the editor; it won’t take long.

After that, you need to learn the API; no need to read the manual; just think what you want to accomplish (move a cube, write on screen, change color or material and so on), and then go check how Unity does that in the manual. Once you get that, switch to the scripting manual and check the example.

There are some people that learn from videos; there are countless videos on youtube for free (or paid courses elsewhere), where they guide you through the various areas. I favor a lot the ones that are oriented on teaching by example; because I like to learn stuff that I can use in practice, but you may be different.

Give a try to books, courses and most of all, get your feet wet; you may learn theory for years, and end up not being able to do much, when it is time to actually get your hands dirty :wink: