Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now

Advanced Unity 3D Game Programming

with Michael House

Video: Welcome

Learn how to use Unity's advanced features like scripting, custom GUI elements, prefab customization, networking, and code optimization.
Expand all | Collapse all
  1. 1m 42s
    1. Welcome
    2. Using the exercise files
    3. What you should know before watching this course
  2. 31m 45s
    1. How scripts work in Unity
      3m 23s
    2. Your first script
      2m 36s
    3. Updates and Delta Time
      3m 5s
    4. Translate, rotate, and scale
      6m 45s
    5. Keyboard input
      4m 37s
    6. Mouse input
      5m 33s
    7. Linking scripts to the Unity editor
      3m 10s
    8. Combining the basics
      2m 36s
  3. 23m 21s
    1. Debugging
      5m 49s
    2. The Call Stack
      4m 48s
    3. The Immediate window
      3m 28s
    4. More informative and visual debugging
      5m 18s
    5. Logging exceptions
      3m 58s
  4. 15m 34s
    1. Creating your own prefab system
      5m 19s
    2. An advanced prefab system
      6m 12s
    3. Storing and managing prefabs
      4m 3s
  5. 40m 59s
    1. Coroutines
      3m 45s
    2. Events and messaging systems
      7m 25s
    3. Saving and loading games
      5m 33s
    4. Ray casting
      5m 48s
    5. Mini maps
      2m 52s
    6. Dynamic meshes
      7m 1s
    7. Quadtrees
      5m 58s
    8. Extension methods
      2m 37s
  6. 19m 44s
    1. Procedural voxel terrain
      5m 39s
    2. Chunked infinite terrain
      4m 28s
    3. Modifiable voxel terrain
      4m 41s
    4. A midpoint displacement landscape
      4m 56s
  7. 29m 32s
    1. Combo boxes
      4m 11s
    2. Rotatable GUI items
      3m 12s
    3. Progress bars
      4m 33s
    4. Tables
      5m 22s
    5. Message windows
      6m 4s
    6. Positioning GUI items over game objects
      6m 10s
  8. 30m 43s
    1. Master servers
      4m 15s
    2. Getting connected
      4m 6s
    3. Remote procedure calls
      3m 22s
    4. Simple chat clients
      4m 29s
    5. Synchronizing object transforms
      5m 26s
    6. Serializing and synchronizing states
      6m 0s
    7. Manual connections to the server
      3m 5s
  9. 21m 0s
    1. Finding slow code
      7m 6s
    2. Nearest-neighbor search
      5m 11s
    3. Object pools
      4m 14s
    4. Update() overuse
      4m 29s
  10. 10m 57s
    1. Property drawers
      4m 26s
    2. Custom editor elements
      3m 12s
    3. Editor windows
      3m 19s
  11. 41s
    1. Next steps

please wait ...
Advanced Unity 3D Game Programming
Video duration: 0s 3h 45m Advanced


Unity is the number one game engine, the favorite of game developers working on iOS apps and console games alike. This course picks up the programming side of Unity, continuing where our other Unity courses leave off. Michael House concentrates on scripting, custom GUI controls, prefab customization, multiplayer networking features like chat, and optimizations that will make your game play better on mobile devices and desktops alike. Take a deep dive into Unity's controls and learn how to build more interactive, high-performance 3D games.

NOTE: This course requires Unity 4.5.5. The newer versions of Unity have done away with the GUI system used in this course, so the interfaces included for many of the scenes will not work with 4.6 and higher. You can download Unity 4.5.5 at

Topics include:
  • Enabling/disabling with scripts
  • Translating, rotating, and scaling objects with scripts
  • Working with mouse and keyboard input
  • Debugging
  • Creating custom GUI controls like progress bars
  • Loading assets with scripts
  • Saving games
  • Creating prefabs dynamically
  • Making remote procedure calls
  • Synchronizing object transforms
  • Finding slow code
  • Optimizing data access
  • Extending the editor
3D + Animation Developer
Unity 3D


Hi, I'm Michael House, and welcome to Advanced Unity 3D Game Programming. In this course, we'll look at how to bring our game to life using the C# programming language in Unity scripts. I'll start by showing you how to create basic scripts and use the debugger. Then, we'll create a custom prefab system to allow end users to mod your game. Next, we'll create procedurally-generated Voxel Terrain landscapes. Finally, I'll show you how to implement a number of common game development algorithms in Unity, and techniques for optimizing your game.

We'll be covering all of these features, plus plenty of other tools and techniques. Now, let's get started with Advanced Unity 3D Game Programming.

Find answers to the most frequently asked questions about Advanced Unity 3D Game Programming .

Expand all | Collapse all
please wait ...
Q: In the Chapter 3 file EntityLoader.cs, I get an error: DirectoryNotFoundException: Directory 'Assets\' not found. Removing the backslash after 'Assets' fixes it, but then I run into a different error. How do I fix this?
A: Some operating systems (like Mac OS X) use different directory separator characters. To make the code more compatible with different OSs, use ` Path.DirectorySeparatorChar` instead of `\` in all instances in this code. The replacements result in the following code:
string dataFolder = @"Assets" + Path.DirectorySeparatorChar;
Dictionary<string, CustomPrefab> prefabs = new Dictionary<string,
// Use this for initializationvoid Start () {
foreach(string dataFile in Directory.GetFiles(dataFolder, "*.data",
SearchOption.AllDirectories)) {
string[] lines = File.ReadAllLines(dataFile);
string name =
dataFile.LastIndexOf(".") -
prefabs.Add(name, new CustomPrefab(name, lines));
Q: What version of Unity does this course cover?
A:  This course requires Unity 4.5.5. The newer versions of Unity have done away with the GUI system used in this course, so the interfaces included for many of the scenes will not work with 4.6 and higher. You can download Unity 4.5.5 at
Q: The game object in the first chapter's Mouse Input Raycasting sample doesn't appear to follow the mouse. What's wrong?
A: Please enable the Box Collider component (by activating the checkbox next to the component name) on the game object. This is not explicitly mentioned in the video, but it will ensure the raycasts collide with the game object.





Don't show this message again
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed Advanced Unity 3D Game Programming.

Return to your organization's learning portal to continue training, or close this page.


Upgrade to View Courses Offline


With our new Desktop App, Annual Premium Members can download courses for Internet-free viewing.

Upgrade Now

After upgrading, download Desktop App Here.

Become a Member and Create Custom Playlists

Join today and get unlimited access to the entire library of online learning video courses—and create as many playlists as you like.

Get started

Already a member?

Log in

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

You started this assessment previously and didn’t complete it.

You can pick up where you left off, or start over.

Resume Start over

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.