Hacker News new | past | comments | ask | show | jobs | submit login

I'm going to safely assume you're not an idiot. The only major hurdle I can see would be not fully grokking the core concepts. I suspect this might not be helped by the domain specific terminology that isn't used much outside game dev or even Unity itself.

First thing to really wrap your head around is 'what is a GameObject'. A GameObject is just an entity that exists at runtime in the game world and has things called 'Components' attached to it. The simplest possible GameObject has only one component, called a Transform. This is simply a stateful record of the GameObject's position, rotation and scale. You can expect to write lots of code that involves manipulating Transforms.

There are components for everything. Want your GameObject to have a visual manifestation in the game world? Add a MeshRenderer component. Want to allow it to obey the laws of Newtonian physics? Add a Rigidbody component.

You can expect to spend a lot of your time implementing your own components. These custom components will often, ultimately just end up manipulating the transforms and other components of other GameObjects in the world.

Now you might wonder how GameObjects are created. One way is just to create an individual GameObject and attach components to it (analogous to an anonymous class), for the most part however, you will create things called 'prefabs' which are analogous to classes in OOP. Instances of these prefabs can then be easily instantiated (either manually via the editor or programmatically at runtime).

Once you have gotten your head around these core concepts, the rest starts to naturally follow. You can study topics like animation, custom shaders, net code, physics etc. and quickly understand how they relate to the core concepts.

My path to learning Unity (and I'm still learning!) was to follow the Unity official tutorials then start prototyping game mechanics - how to create a first person controller, how to allow player to interact with game world objects, how to animate characters etc. I'm now at I guess an 'advanced beginner' stage. I'm comfortable with the core API, have dabbled in most of the common topics you would need to be familiar with to make a game, and now I'm just doing projects to build up my productivity and skills.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: