Looking For Some Guidance

Alright so I just took the leap from another game engine and decided that Unity would probably be the better engine for what I was interested in. I played on an engine called BYOND for years but aside from making games specific to that website, there was little else I could do.

So basically, I’m working to learn an entirely different style of coding here. I’ve done a few of the tutorials and fooled around a bit with the editor, but aside from making a working clock and some randomly generated fractals, I’m a bit confused. Like I said, everything on Unity is so different I’m having a bit of trouble with the learning curve.

My goal is to create games that could be played on iOS. I’ve gone over a few projects but I can’t seem to find one I can fool around with that would fit what I was interested in more. I’ve found sidescrollers and the like, but I was interested in working on a project with a turn based, team based style of combat like other games like DC’s Legends, and even Summoners War to name some examples.

I was just wondering if anyone could point me in the right direction with some related tutorials? I don’t really know anyone else who uses Unity, and I’m still surfing the forums and learning sections aha.

Learn C# and the editor first, then look at all the game tutorials and any live sessions which seem interesting. That’s three sections to devour so it’ll take a while.

Tutorials tested with Unity 5.0 or newer are the most useful ones, and 5.5 or 5.6 are practically fresh (they’re the last releases before the current 2017.1 version). Some 4.x tutorials still apply, but some code will be different because of language changes, and C# became the only recommended language at some point in the 5.x series.

Lots of people try jumping into advanced things, then get horribly stuck because they lack the fundamentals in how Unity works, Many of those game-specific tutorials teach editor/language tricks you’ll find useful. It’s easy to miss important things because you doze off while reading the linear editor tutorials :wink:

Unity is geared towards a component-based approach, so make sure you know how that works. MonoBehaviours, no deep inheritance, small classes which do one thing are favoured over mega-classes. Exceptions might be game manager-style classes or static control classes.

What you learn next depends on whether you’re making 2D or 3D games. Battle maps, A* path-finding and unit movement is easiest in 2D, while 3D is a tad more advanced. You’ll probably need to learn about the navmesh and agents at least for 3D.

You’ll definitely run into ScriptableObject and its many uses all over the place. There’s a whole tutorial dedicated to it in the Learn section, so that’s a good next step if you have a handle on C# and .NET APIs.

Then how you actually implement turns is something you’ll have to research. You might find state machines useful, or you might find a simplistic approach works for you. Sometimes it’s state machines all the way down - input modes, movement, game turns/phases, cut-scene/dialog modes and more.

Everything above is basically like a 3-6 month curriculum of learning and coding :stuck_out_tongue:

Thanks for the reply! I’ll look into the tutorials more. After finding a few helpful ones, I learned it’s best not to attempt your endgame goal with your first project. I’ll probably go towards creating something simple and just keep adding features to it so I can learn more about what’s possible with unity, and get better with this different style of coding.

2 Likes