Is Unity for beginners? If not, what else should I know?

It’s free and has lots of guides for new users. But it’s like a jet cockpit. The icons and labels look strange, the tooltips are even more confusing, and there’s a lot of them. It sure doesn’t look like it’s for beginners.

Unity assumes you already know standard game design tools (or are willing learn them.

For example, take a look at the Project panel. It’s obviously a standard graphical file system, but pretend you’ve never used one before. It’s got folders, subfolders, icons, multiple views, dragging, multi-selection … . If you didn’t already know it, it would be a lot to learn. And where would you learn it? Maybe in a book on PC basics?

Almost everything else in Unity is like that —- just the standard way of doing things. For example, Unity’s Scene view is a standard 3D view used by architects, 3D animators and game designers. Those funny words and buttons are standard.

This is great for two reasons: these things are standard because they’re the best way - Unity isn’t using some awkward or dumbed-down systems. And when you learn them, you’re learning real skills that apply to any game engine, or even non-game design stuff.

Of course, it’s bad for you in one way: you’ll come to a lot of stuff that isn’t explained very well, since it’s just general knowledge. But that’s still good. When you get stuck on orthogrpahic camera’s and clipping planes, you can look it in the real, not-just-Unity, internet.

Here are some things every game designer knows:

o Assets aren’t made in Unity. They’re made in another program, for use with any game, and imported into Unity using standard formats. The main things are pictures, 3D models, 3D animations and also sound.

o Most people never learn it all, and wouldn’t want to. You need a general understanding of all the parts so you can use what someone else makes, but not how to make it yourself. Most people buy, hire-out or find for free the parts they don’t know themselves.

o Close enough is good enough. Popular games have lots of places that aren’t quite right, but no one cares (like the huge sword on your back, either floating, or constantly slicing off your hind-quarters as you walk.)

o Never use the assets that come with it: the ball, the white blob texture, Ariel font. They’re just dummies for testing. You’re allowed to use them, but they were made as placeholders.

o Other standard things you wouldn’t guess: a particle system with billboarded textures. The Physics engine (Unity isn’t even copying — they borrow a prewritten one.)

And some notes on Assets and other areas:

o Unity takes standard game art, made in Photoshop or Gimp. That includes things like transparency, partial transparency, exporting, pixel sizes, RGB, terrain textures, smoke and fire, spritesheets. If something with a picture is messed-up, it’s probably common game-art knowledge why.

But, Photoshop/Gimp are used for a lot of things besides game art. If you want to learn it, you’ll have to figure out which parts are game art, and which are for books or posters.

o Unity uses standard 3D models, made in 3DsMax, Maya or Blender. These programs are also used to make 3D models for movies. That’s known as hi-poly, and low-poly is for games. You may have to figure out which is which.

Things modelling includes are origin/alignment, how the picture goes on it, smooth vs. sharp edges. The look includes materials, lighting, specular/bump maps; shaders, multiple textures, submeshes. It’s a pretty big area, and Unity uses almost all of it in the standard way.

o Character animation, like walking, is also done in Max/Maya/blender. And has its own low-poly vs, high-poly. Inside Unity, Mechanim animation is for combining pre-made stuff like walks and crouches. The Unity animator is mostly for whole-motion stuff, like moving a box.

o Scripting is computer programming. This can be a little confusing. When you make a picture, you’re obviously doing it in Photoshop, which isn’t part of Unity. But when you make a script, it feels like you’re still in Unity — there are even Unity-only commands in your scripts.

But scripts are written in C#, which is a real computer language. The program you write them in is a non-Unity C# editor. The Unity-only commands are add-ons, but all programs have those, and Unity’s are pretty standard. Probably 70% of the skill in making a script is general computer programming, 20% is general game programming, and 10% Unity add-ons.

This is really the same as everything else. To learn scripting in C#, you can use any book or school course, plus the entire internet.

I feel bad about this part: there’s a lot of not-so-good programming websites out there. A lot of people start one and then quit when they realize they’re just making a copy of the other 100’s of them. The Unity programming tutorials are like that. That’s no insult - it would be crazy if a game engine website was also good for computer programming. Even popular textbooks are dissapointing. It’s a lot more work than it should be, finding a C# book you like.