Visit LEDU token page

VR Development for Programmers

VR Development for Programmers

  • English
  • Programming
  • C#-.NETC#-.NET
  • (2485)
  • Project length: 9h 09m

These videos are lectures intended to go with a VR Development for Programmers course that I teach at an academic institution. We'll start with the absolute basics, and work our way up to more technically demanding tasks.



This is a complete introductory course for developing in Virtual Reality, using C# and the Unity game engine. This course has already been taught for professional software developers new to VR. This video series provides a mechanism to provide a recorded lecture for those who miss class, broaden the audience of the course, and provide a mechanism to record additions to topics that I may have missed when designing the course. This course is intended to be taken over a period of time, with students having a project that they'll work on. This is a higher-level course which teaches general skills and design principles, as opposed to a step-by-step tutorial on how to build a specific project. Also note: Many of the principles and skills are used in Augmented or Mixed reality, so often we just bunch them all together as "xR".

What are the requirements?

  • Virtual reality headset (Vive or Rift)
  • Windows PC

What is the target audience?

  • Individuals who have some programming experience, who are interested into getting into VR development

Project Outline

Session 0: Welcome

  • Preferred approach for putting on a VR headset
  • Creating a simple art asset using Google Blocks
  • Downloading Unity3D

Session 1: Game Engine Overview

  • Different Game Engines
  • The Unity screens
  • Navigating the Scene view in Unity

Session 2: Scripting

  • Creating your first script
  • Why Unity C#?
  • The GameObject / Component model
  • Lifecycle of a script
  • Some handy components
  • Your friends GetComponent, and FindGameObject

Session 3: Basic Interactions

  • Colliders and triggers
  • Tags
  • Assets and prefabs
  • Initialization order of public variables
  • Events

Session 4: Into xR!

  • xR Modalities
  • Commodity devices
  • Developing with devices

Session 5: xR and Discomfort!

  • What is discomfort?
  • What's going on?
  • Preventing discomfort
  • Key triggers
  • Required reading

Session 6: xR and interactivity

  • Terms of art
  • Build an interface middle layer
  • Perspective
  • Movement
  • User input
  • User feedback

Session 7: xR design best practices

  • Terms of art
  • Design for short experiences
  • Distance, depth perception, and personal space
  • Performance considerations in design
  • Object placement
  • Settings

Session 8: Perception and psyche

  • Perception of the body in xR
  • Reality vs. xR
  • xR and therapy
  • Fear and VR

Session 9: Coroutines

  • What's a coroutine?
  • Infinite loop coroutines
  • Gracefully exiting coroutines
  • Chaining coroutines
  • Common Coroutine mistakes

Session 10: Sound effects, visual effects, and haptic feedback

  • Off-screen cues
  • Sound effects and music
  • Haptic feedback
  • Visual effects *Particle effects

Session 11: Optimization

  • Easy optimizations
  • The optimization window
  • What to look for
  • Testing on multiple platforms


Average rating

3(2485 Reviews)