DGM 2610, Game Design I, will be in room CS 514 Tuesdays and Thursdays from 1:00 to 2:15.

Learning Unity

We will be making a 3D multiplayer game with support for virtual reality.

Download and Install

Go to unity3d.com and download the free personal version of Unity.

Unity documentation

The Unity manual and scripting API documentation is at http://unity3d.com/support/documentation Links at the top of the page let you choose between the manual and the API documentation.

In the Unity manual you should read the first part of the Working in Unity section (up to, and including, Editor Features). Also read the Overview sections of Graphics, and Scripting. You'll want to take a look at the API documentation so that you know where to go for reference information.

Unity tutorials

You can find Unity written and video tutorials on Unity's Learn with Unity page at http://unity3d.com/learn

In the Interface & Essentials section you should watch all of the Using the Unity Interface and Essential Unity Concepts tutorials.

You should work through at least one of the 3D project tutorials. If you don't have much experience with Unity you'll want to do the roll-a-ball tutorial. If you have some previous experience or want to move on after the roll-a-ball tutorial, the survival shooter tutorial or the tanks tutorial are probably better than the space shooter tutorial for our purposes. Since we will be making a 3D game, the 2D project tutorials are not helpful.

Books

Safari Books Online

Check out UVU's subscription to Safari Books Online for free access to some online books. To get access, go to http://www.uvu.edu/library/find/books.html on the UVU library web site. Look under the UVU Library Ebook Collections heading for a link to Safari Books Online. If you are on campus you can go directly to Safari Books Online. If you are off campus you will need to log in with your UV ID and password.

When you are looking for books pay attention the publication date and the Unity version of the book. You should look for books for Unity 5.

Unity in Action

The most helpful book I've found for learning Unity is Unity in Action. It's currently available with UVU's subscription to Safari Books Online, although that could change at any time. Unity in Action in Safari Books Online

Other resources

There are many other helpful resources available on the web. If you come across some that you think will be helpful to other students, let me know and I will post them here.

Important Unity topics

Updates, fixed updates, and coroutines

You can watch a short video about updates and fixed updates here.

If you need code to execute on a regular basis but not every frame (Update) or fixed update, or you need to execute code after a specified delay, you can use coroutines and the WaitForSeconds function.

You can read about coroutines in the Unity manual here. There is a video tutorial about coroutines here.

There is more information about coroutines, including a good example of using coroutines to simplify a dialog, here.

Chapter 3 of the book Unity in Action explains the basic idea of coroutines and has an example of using a coroutine to remove a game object after one second has passed.

Delegates

There is an official Unity video tutorial about delegates here.

There's a good YouTube tutorial at https://youtu.be/ihIOVj9t0_E

There's a written tutorial about delegates at http://unitydojo.blogspot.com/2015/03/how-to-use-delegates-in-unity-like-boss.html but it's a little hard to follow.

Chapter 9 of the book Unity in Action has an example of using delegates for callback functions when downloading data from a web service.

Note that use of delegates can sometimes cause problems for garbage collection.

Multiplayer games

We will be making a multiplayer game so you'll want to read up on multiplayer games in Unity. Here's a link to the Unity manual: Multiplayer and Networking

Here's a link to the Multiplayer Networking tutorial on Unity's web site: https://unity3d.com/learn/tutorials/topics/multiplayer-networking

Virtual reality

The game we will be making for the next three semesters will support virtual reality with the HTC Vive. Unless you already happen to own a Vive already, you're limited in what you can learn and do with VR, but it will be helpful to have some idea of the concepts and possibilities of VR.

The Unity web site has a virtual reality tutorial here The tutorial focuses on the Oculus Rift, but should be helpful for other VR devices as well. It probably won't be helpful to read all of the tutorial, but it will be helpful to look through the tutorial and get a general idea of what's going on.

There is a Ray Wenderlich tutorial about using the HTC Vive with Unity at https://www.raywenderlich.com/149239/htc-vive-tutorial-unity

Git

Here's a link to an online book about Git: https://git-scm.com/book/en/v2 You probably won't need more than the first two or three chapters.

Here's an article about using Git with Unity: The complete guide to Unity & Git