Introduction to Game Design, Prototyping, and Development (2015)
Part IV: Appendices
Appendix C. Online Reference
Whereas many online references would just give you a list of websites to check out, I thought it would be more useful for me to use this appendix to tell you a bit about how I tend to look for answers online when I need them. Appropriately, this includes a few basic links, but it also includes strategies for tracking down information and answers to problems that you might encounter.
I recommend reading this straight through once (it’s very short) and then returning to it when you encounter an issue.
Tutorials
Unity has created a series of tutorials over the years that can be very useful to check out. This book focused on short gameplay tutorials to help you understand how to program game mechanics, whereas the tutorials created by Unity tend to spend an equal amount of time on art assets, animation, building scenes, and visual effects in addition to scripting. This book is about you learning how to design and prototype games; their tutorials are about learning all the different features of the Unity engine.
Be aware when looking at these that many were made with older versions of Unity, and they sometimes don’t update the tutorials to match the new version of the engine (meaning that sometimes the elements of the Unity interface that the tutorial describes have changed). In addition, some of these tutorials are written in JavaScript rather than C#. This should be fine for you—especially once you’ve read and understood the code in this book—but it will mean reading and writing code in an additional language.
Unity Website: Learn Section
On Unity’s website, there is a Learn section that is meant to introduce you to Unity through several different tutorials. This link will take you to that page. Choose a topic that you would like to learn about, and you can view a video tutorial to help you do so:
http://unity3d.com/learn/tutorials/modules
Demo Projects
Many of Unity’s old tutorials are now located in the Demo Projects section of their website. Several of these require you to open them via the Asset Store window in Unity itself. Because all of these are considered “complete projects,” they will overwrite the contents of any project you have open when you import them, so you should create a new project before doing so:
http://unity3d.com/gallery/demos/demo-projects
Unity Resources
Once you have some experience with Unity under your belt, you may want to look at some more advanced resources. These are good if you want to learn the best practices of Unity development (the best way to use XML, the best way to implement animations, and so on).
Unity Gems
A few resources online specifically focus on Unity development, and Unity Gems is one of the best. They have tutorials on artificial intelligence, finite state machines, shaders, and more:
http://unitygems.com
Will Goldstone’s Websites
Goldstone was one of the first people to write a book on Unity, and he has continued to create and update resources on his websites:
http://www.unity3dstudent.com/
http://learnunity3d.com/
http://learnunity2d.com/
Programming
As you delve further into programming Unity, you’ll find that the documentation for programming Unity with C# is primarily located in two places: Unity’s scripting documentation and the Microsoft C# reference. The Unity scripting documentation does a fantastic job of documenting Unity-specific features, classes, and components, but it doesn’t cover any of the core C# classes (such as List<>, Dictionary<>, and so on). For these, turn to Microsoft’s C# documentation. I recommend first looking for something in the Unity documentation available on your computer, and if it’s not there, then look in the Microsoft docs.
Unity Scripting Reference
Unity scripting references include the following:
Online: http://docs.unity3d.com/Documentation/ScriptReference/
Local: From within Unity, choose Help > Scripting Reference from the menu bar. This brings up a version of the reference that is stored locally on your computer. Even if you don’t have an Internet connection, this reference is available. (I use it while traveling all the time.)
Microsoft C# Reference
Search Bing.com for Microsoft C# Reference. The first hit should be what you’re looking for. As of the time of writing this book, the URL is
http://msdn.microsoft.com/en-us/library/618ayhy6.aspx.
Stack Overflow
Stack Overflow is an online community of developers helping developers. People post questions, and other members of the site answer them. In a bit of gamification, those who give the best answers (as voted by other members) earn experience points and prestige on the site:
http://stackoverflow.com
Often, when I’m trying to figure out how to do something new or unusual, I’ll end up finding a good answer on Stack Overflow. For instance, if I want to know how to sort a List<> using LINQ, I enter c# LINQ sort list of objects into Google, and as I write this, the top four hits are Stack Overflow questions. I usually find myself there via a Google search rather than starting on Stackoverflow.com, but when a hit comes up on the site, it’s my first choice for finding good answers.
Learning More C#
I highly recommend two additional books for learning more about C#:
For beginners: Rob Miles’s CSharp Yellow Book, 2014.pdf, http://www.csharpcourse.com
Rob Miles, a lecturer at the University of Hull, has written a fantastic book on C# programming that he updates often. You can find the current version on his website (shown here). It is witty, clear, and comprehensive.
For reference: C# 4.0 Pocket Reference, 3rd Edition, http://shop.oreilly.com/product/0636920013365.do
Although there is now a C# 5.0 version of this reference, Unity is still using the C# 4.0 standard (well, it’s most of C# 4.0; there are actually a few bits missing), so this is the reference for you. Any time I have a C# question, this is the first place I turn. It’s a truncated version of the information in O’Reilly’s C# in a Nutshell book, but I actually find the pocket reference more useful.
Searching Tips
Any time you want to search for something having to do with C#, make C# the first term in your search. If you just search for list, the first thing to come up has nothing to do with coding. Searching for C# list will get you to the right place immediately.
Similarly, if you want to find anything related to Unity, be sure to make Unity your first search term.
Finding Assets
The following sections provide advice on finding various art and audio assets.
The Unity Asset Store
The Asset Store is accessed by opening the Asset Store window in Unity (choose Window > Asset Store from the menu bar) or by going to the following website. The Asset Store has a huge collection of models, animations, sounds, code, and even complete Unity projects that you can download. Most of the assets are available for a small fee, but some of the assets on the site are even free. Some things are very pricey, but they are often worth it and can save you hundreds of hours of development:
https://www.assetstore.unity3d.com/