This is the twelfth and final series of articles that cover my journey learning and exploring one of the most powerful indie game creation tools available - Unity. Last week I covered the Timeline, which controls animations (especially in-game) and Cinemachine, a recent addition to Unity that gives you a set of cameras to create cutscenes and/or follow charcters, etc. I shared an getting started with Cinemachine tutorial direct from Unity’s learning center
I’ve completed the Unity course at Lynda.com course titled,“Unity 3D Essential Training” by Craig Barr as a guide.
Packaging Your Unity Project
Before I get into summing up my experience, I want to close out the Unity 3D Essential Training course with the final chapter on packaging your game. Most of what is covered is common sense: compile your game level often and do test runs. Unity has a fantastic range of game types you can compile. For a complete list check out the Unity manual here.
You’ll also want to optimize your game settings in order to get a clean and fast build for your game. Use as few materials as you can in a scene and re-use the same ones often. Develop a poly-budget so you don’t go overboard with polygons for scene models. Use the static-property for non-moving objects (this is a checkbox in the properties window. Use baked lighting as often as you can. And use Unity’s texture compression algorithms. You can create high-quality textures outside of Unity, but when you import them to let the engine do its compression thing.
All of these methods are just starting points for game optimization. They are just as important as actual game component creation though. Because if you publish your game and it’s too demanding on the users CPU and/or GPU, they won’t be able to play and will probably not download another game from you again. So take as much care about finishing your game as you did in creating it.
12 Weeks with Unity - Summing Up
At the end of 12 weeks, I feel like I know how to work with Unity to create a game level. Of course, someone with more time could complete the 3D Essentials course in a much shorter time (a week?) because, essentially, Unity is very easy to learn. It was designed to be user-friendly and the community of Unity users is huge. Any problem I had was resolved by a quick search either on the net or through Unity’s amazing user forums.
Lynda.com’s course was amazing. Craig Barr is a superb instructor. I feel that Lynda.com has the very best training and instructors for digital arts on the internet. There are many other good learning sources for Unity (especially the main Unity website). However, the combination of learning structure and excellence of instructors gives Lynda.com the edge. I feel I understand Unity essentials very well now and it’s thanks to Craig Barr’s great course and teaching methods.
Unity is THE game engine to learn to create games. Although it has advanced features and rendering, it really is designed for the new and intermediate user. The Unreal game engine is probably superior in visual presentation, but it’s much, much harder to learn. The combination of ease of use, simple user interface, and intuitive workflows, not to mention the fact that Unity is free, makes it a superior game-creation tool.
What I Didn't Learn in 12 Weeks with Unity
Of course, I’m excited to have even a beginner’s level of proficiency with Unity, I’m far from being able to create my own game. Scripting is a big aspect of game-creation and I learned very little. My friend, M dot Strange, is a scripting genius and he has encouraged me to bite the bullet and learn to script. Still, I’m apprehensive as it’s simply not very easy.
I also didn’t learn much about combining levels to create a complete game. The 3D Essentials course used a single level to teach Unity basics. But a game is more than one level. How do you combine these into a full game? And what about menu screens and player-interaction graphics. There are a lot of tools in the Unity assets store that helps with this even to the point of giving you pre-made graphics and menus. But i like originality in a game and would probably want to make my own.
I didn’t learn anything about the philosophy of game creation. How do you take an idea and translate it into game actions and interactions? This is a question that is as important as any component of the game. If the player has little interest in what you’ve created because it’s either boring or too simple, then all the best visuals and models in the world won’t make a difference.
Final Thoughts
It’s clear I have a lot to learn about creating games in Unity. And I don’t criticize the 3D Essentials course for not covering all the things I didn’t learn. After all, it’s an “essentials” course. Lynda.com(and Unity itself) have many other advanced courses covering just those subjects I mentioned above.
So, I’m both excited and frustrated after 12 weeks. On one hand, I love the idea of creating scenes to play and I have the skills to design them anyway my imagination takes me. On the other hand, any hope of creating a playable game for others is a distant possibility. Too many other aspects of Unity are still unknown to me.
However, because Unity is so user-friendly and the community is so strong and supportive, I think that I’ll make faster progress than I imagine. Plus, examples of great indie-games made with Unity are abundant. I can learn from them and with more training and practice perhaps create a short game that is interesting.
Note: after I finished this post, I discovered the Unity 3D game kit which is free and provides amazing content for users to create their own 3D game without code! Here's the trailer:
Acknowledgments
I want to thank Craig Barr for his excellent tutoring in the Unity 3D Essentials course at Lynda.com. M dot Strange gave good advice on Unity scripting and general Unity creation techniques: my thanks to him (he’s an inspiration). Be sure to check out some of his bizarre games made with Unity at this link.
I never got a chance to cover Unity artists and game creators. I’m sorry for that, but time was too short for me. The Unity website has a great section called “Made with Unity” where you can see some of the great games that have been made with Unity. If you haven’t played “Inside” you absolutely must. It’s that good.
Unity Connect is also a great site (part of the Unity website) where you can find support, share a level, discover Unity artists and see Unity games in development.
And finally, I want to thank Unity for creating such a great free tool to create games with. You guys are awesome!