Open City Documentary Festival

April 2024
across London
We do not have any future dates for this course set.

Introduction to Game Engines for VR Storytellers (In-person)

An eight-week practical course designed for writers, directors, performers and creatives who wish to learn the basics of the Unity Game Engine as well as VR and 3D programming fundamentals to realise their story’s vision.

This practical course is designed for writers, directors, performers, creatives, or anyone looking to find their storytelling voice through the medium of Virtual Reality via 3D Graphics and Game Engines. VR as a medium takes several forms with one of the most common being computer games and 3D applications created using Game Engines, a powerful tool used widely in the games and technology industries. Often creatives aren’t sure where to begin with Game Engines due to their heavy reliance of maths, logic, and programming, making this course extremely helpful as it gives you all the critical tools needed to use a Game Engine to create your first story. In eight weeks, students will learn the basics of the Unity Game Engine as well as programming fundamentals to make worlds come alive and to work with VR and 3D artwork to realise their story’s vision.

Course Format:

The course will run over eight weeks and each session will cover a large theme or concept that will form the building blocks of constructing your VR narrative. The time is divided into chunks of learning techniques, first-hand development with tutor assistance as well as time to discuss ideas with the tutor and work on your story. It will not be essential to create a story by the course end and you are welcome to simply learn how to use the Game Engine, but you are encouraged to try.

Who is this course for?

Anyone is welcome to join this course, but it is intended for those who have no existing knowledge of Game Engines or 3D technology; the course goes at a steady pace and is not suitable for experienced Engine practitioners. Experience of VR as an audience member is advantageous but not required. This course will cover aspects of designing a VR experience, but it is technical in nature and not a creative writing or narrative course. There will be opportunities to discuss with the tutor how your narrative idea can be developed using a Game Engine.

Session 1: Unity Basics

  • What are Game Engines and how do they work?
  • Setting up our project and using Unity’s interface
  • Basic introduction to 3D geometry
  • Introduction to Visual Studio – what is coding in Unity?

Session 2: Using VR and Assets

  • What is a 3D model and how is it used in Unity?
  • Picking Assets from the Store and designing our first environment
  • Oculus VR integration
  • Navigating our environment in VR

Session 3: VR Environments Continued

  • Types of VR navigation and why use them
  • Making our user want to explore
  • VR Teleport
  • VR Flight

Session 4: VR Audio

  • What is Ambisonic and Spatial Audio?
  • Why is audio important?
  • Unity’s Audio Engine and Audio Coding
  • Halfway discussion time for story ideas and project progression

Session 5: VR Touch and Coding in Context

  • What is haptic feedback?
  • Basics of OVR Grab Scripts
  • Extending the use of OVR Grab through coding
  • Designing features using VR, Grab, 3D environments and Unity components

Session 6: VR Bowling Alley

  • In depth look at Unity Physics and Colliders
  • Combining simple components to make complex systems
  • Discussion on VR usability and user comfort
  • Adding new features to a simple concept

Session 7: Intermediate Unity Techniques

  • Introduction to 3D animation and using the Animator tools
  • Importing other media and using it in our scene.
  • What are UI Elements and designing VR UI
  • Using and navigating scene management

Session 8: Build, Test and Review

  • Types of testing and why it is crucial
  • Building our projects for desktop or Android
  • Trying each other’s projects
  • Future planning

Learning Outcomes:

On completion of this course students should be able to:

  • Understand Unity’s function as an ‘Entity Component System’: How multiple components can work together to create behaviour in a 3D Program or Simulation.
  • Understand and apply rudimentary programming concepts to edit existing scripts for their own purposes as well as write custom behaviour and functionality.
  • Apply the Oculus SDK to rapidly prototype common VR functionality such as locomotion and object interaction.
  • Understand Audio and Visual concepts in Game Engines: What 3D models are and their use, use of lighting and using Unity and Oculus Audio systems.
  • Apply a practical use of VR combined with User Experience design unique to the medium including use of Audio, UI, and Interactivity.

You don’t need to bring in any equipment as you will have access to UCL’s VR suite during the sessions.

If you’d like to be notified about this course’s future running dates, please fill in this quick form. If you have any questions about the course, get in touch with



Christopher Pettit-Mee


Christopher Pettit-Mee is an award-winning VR developer with a background in Games Design & Development specialising in Immersive and Extended Reality Technologies. He is known for working on several performance art projects including the Venice Biennale award winning VR theatre experience Fatherland, and Dazzle: SOLO, a dance and fashion VR project featured in the British Film Institute’s first Expanse exhibition. He currently works on VR tools for medical applications at Great Ormond Street Hospital and Zayed Centre for Research in Rare Diseases in Childhood which has recently been deployed as a world first surgery of conjoined twins assisted by VR technology. He has previously taught Game Technology and Design at the University of Portsmouth, University of the Creative Arts and is currently a Lecturer in University College London’s Anthropology department specialising in Immersive Technologies and Game Engines on their MA Immersive Factual Storytelling course, teaching documentary filmmakers VR development and design.