Playcrafting: Building VR Games 


Instructor: Andrew Garrahan
website: computerlunch

TA:  John O’Meara

This course meets every Tuesday and Thursday from 6:30pm to 9:00pm, running June 14th to August 4th, at Microsoft (11 Times Square) in Manhattan.

Week One June 14 + 16 Unity Refresher (Interface, Game Objects, Importing Assets & Scripting)
Week Two June 21 + 23 Virtual Reality Design Fundamentals + Intro Google Cardboard/Daydream overview & Exporting to Mobile. 
Week Three June 28 + 30 Walking around in Google CardBoard, Instantiate GameObjects
Week Four July 5 + 7 Oculus Rift & Gear VR Overview, Baked Lighting, Flying Controller.  Exporting to Platform (PC & Samsung Devices)
Week Five July 12 + 14 Inputs (Gear VR & Controller Support), Raycasting
Week Six July 19 + 21 Camera Animation, Inputs (Gear VR & Controller Support), . Kickoff final project. (HTC Vive demo)
Week Seven July 26 + 28 Final Project 
Week Eight Aug 2 + 4 Final Project, Next Steps and Beyond

Project #1: VR Flying Game (Camera Rig, Player controller, Hit Detection, Menus)
Project #2: VR On-rails Shooter (Camera Path Animations, Button Input, Raycasting, Player-Directed Story)
Project #3: Final Game (All concepts & more)

WEEK 1 June 14 + 16

  • Getting started in the VR Landscape, Unity Refresher (Interface, Game Objects, Importing Assets & Scripting)

June 14th

  • Introduction + Syllabus + Class expectations
    • We will start at 6:30PM, from 6-6:30PM the instructors will be available to answer question, and help you with homework assignments or technical challenges.
    • Homework will be assigned every week, estimate 4+ hours of work at home over the weekend. Make sure you block out time to work.
    • Survey of everyone skill set, are people programmers, artist, writer, has anyone used unity before?

Questions & Recommendations

Because we are working on laptops we recommend the Samsung Gear VR.

  • Q: I have a laptop and a powerful desktop PC and Rift CV1 or Vive
    Use your laptop for class and desktop for working at home with your HMD.
  • Q: I have a DK2 or DK1 ( oculus developer kit ) can I use my laptop?
    If you do have a DK find a unity version and configuration that works with your dev kit so you can test directly with in unity. Testing directly from unity allow you the fastest interaction time from make a change in the editor and viewing it directly in VR.
  • Q: Do you already have a Samsung S6, S7 or Note 5?
    A: No brainer order a Gear VR tomorrow. The Gear VR is comparable to the PC HMD’s in pixel quality, but less powerful in performances meaning less compelling graphics think mobile vs desktop gaming. The Samsung Gear VR will allow you to do all unity development on your laptop and test on the phone. Plus Gear VR is the only mobile VR app store.
  • Q: Can I develop all the assignments on Google Cardboard?
    Yes if you do not want to purchase a Gear VR and or are waiting for your Rift on Pre-Order, you are welcome to complete all the class assignment and homework using Google Cardboard for export and testing. Most class examples and interactive concepts can be used across VR platforms by switching the headset unity plug-in or soon it is claimed that next version of Unity will have native support for more VR platforms ( Rift , Vive, and Google Cardboard )
  • Q: I plan to focus on VR develop after the class but If I order today I will not receive the headset till the end of the class?
    All the demos and assignment will be created in Unity when you do receive your headset those same Unity Project will work after minor adjustment on both the HTC and Rift. Unity has native support for Oculus and will be adding HTC Vive support in the next patch ( currently you need to add the Vive unity plug-in from the unity asset store!/content/32647).

Slack Channel

( Outside of class support, class discussion, uploaded files and links)

Unity Interface & GameObjects


  • Make a Unity scene that tells us about you.
  • This scene will be an art gallery with 3 picture each depicting a favorite interests
  • Include 1 image of your self.
  • Build a scene with a first person character controller, 
  • Place 3 Quad gameObjects in the world and uses these as picture frames that will hold the images.
  • Import Character Controller Package
    Add a character controller as a component.

June 16th

Manipulating Game Objects in the scene view

Core Concept – Prefab

  • Prefabs
    • Creating Prefabs, Applying prefabs, Revert back to source prefab

External Unity Packages

The Unity Standard Assets, these assets are made by unity for help with common game dev tasks.

  • We want to walk around our scene with a standard FPS (First Person Shooter) control scheme, we need the First Person View Controller Prefab
  • STEP 1: Import the Characters Package from the Unity Standard Assets.
    Screen Shot 2016-04-06 at 3.57.06 PM
  • STEP 2: Drag FPSController to your scene. NOTE: Make sure it the FPSController is above a floor not in another object as it might get stuck.
    Screen Shot 2016-04-06 at 3.59.11 PM

    STEP 3: Press “Play” button , and walk around using the AWSD + mouse for looking controls. You now have a first person controllable space.

Importing Assets

Documentation Shortcut – Need to find help on a particular component in Unity? simply click the book icon to the right of each component header. Do get documentation about a keyword in the programming language MonoDevelop you can highlight a keyword then press CTRL + ‘ (PC)  CMD + ‘ ( Mac)

TIP: Unity Hotkeys


Q: How do I save an entire Unity project and move it to another computer?


Q: How do i get my DK2 working with Unity on a Macbook pro with HDMI port?

Getting Started with Virtual Reality @ Playcrafting


Homework DUE Tuesday 21th:

  1. Complete Roll-a-Ball tutorial ( 3 HOURS )
    Roll-A-Ball Tutorial
  2. Make a scene designed to be walked around with the First Person View Controller.Requirements
    – Use at least 1 external 3D model. ( You can download 3D meshes from sites like the Asset Store and turbosquid, or create your own mesh in Google sketchup, Maya, Blender, MagicaVoxel )
    – Use at least 4 materials  ( make sure 1 of them has a bitmap texture as the Albedo )
    – Make one prefab object that is clone a few times in the scene.
    Think about…
    – Think about the starting placement of the player, how will they move through the space. Will they walk around in circles? Will it have more of a linear pathway? Should jumping be involved? Is there clear start and ending to the scene , or is it more of a meditative space?
    – Focus on using the unity primitive 3D gameObjects first to create the world. Think about how can you use only simple cubes, to make walls , and complicated architecture, furnitures, even a sculpture of a person?
    – Try rotating the directional light to change the overall feeling of the scene
    – Think about how this scene might look in VR
    – Think about the scale of the environment what is near the player, are there objects far in to the distance that are only for show.
    – Try to avoid bringing high polygon models that might slow do the over all performance