Intro to Unity Labs | Jon Higgins - VR/XR Unity developer and educator in Bristol, UK

Intro to Unity Labs

Computer lab at University of Bristol

A technical curriculum for Arts-background students to learn Unity development at University of Bristol.

I designed and delivered a Unity curriculum for MA Immersive Arts students at the University of Bristol with little or no prior software development experience. My approach focused on lowering barriers to entry, building confidence quickly, and using creativity and wonder as a route into technical learning. By prioritising accessible, high-impact features and hands-on experimentation, students were able to rapidly apply their learning to immersive projects ranging from virtual reality experiences to interactive installations.

Designing a new curriculum

I designed and delivered a Unity curriculum for students on the MA Immersive Arts programme, enabling them to use game engine technology within their immersive projects. As Unity had not previously been taught on the course, I developed the curriculum from the ground up.

Most students arrived with little or no prior experience of Unity, programming, or software development tools. As a result, the initial focus was not on technical depth, but on helping students quickly experience what was possible with the engine. The curriculum prioritised accessible, high-impact features that could spark creativity and build confidence early on, allowing students to create something meaningful before becoming overwhelmed by technical complexity.

Supporting students with different experience levels

Recognising that students arrived with varied levels of technical experience, each lab session combined core activities that everyone could follow with optional stretch goals and open-ended challenges for those who wished to explore further. This approach allowed students to progress at their own pace while ensuring that everyone could leave each session having achieved something tangible.

Influences and inspiration

The curriculum was heavily influenced by my own experiences learning Unity. Resources such as Unity Learn provided a strong foundation, while observations of Arts students learning Unity on the MA Virtual and Extended Realities programme at UWE Bristol helped me better understand the challenges faced by learners from non-technical backgrounds.

I often found that XR tutorials and documentation could be complex, intimidating, or assume prior programming knowledge. While there were excellent learning pathways available, such as Unity’s Junior Programmer pathway, these did not focus specifically on immersive technologies.

I also drew inspiration from my first experience learning Unity at Academy XI, where the enthusiasm of the tutors made the subject feel approachable and exciting. One principle I carried into these labs was to prioritise the features that delivered the greatest sense of wonder for the least amount of effort. Whether experimenting with physics systems, particle effects, lighting, or VR interaction, I wanted students to experience the creative potential of Unity as early as possible.

Learning through projects

The sessions were delivered as weekly two-hour computer labs throughout the Immersive Experience Design and Immersive Production units. Alongside these sessions, students developed their first immersive group projects.

While the projects were not required to use Unity, many teams chose to do so, and it was rewarding to see students apply their new skills in projects ranging from virtual reality experiences to interactive installations.

Given the limited contact time, each session needed to balance lectures, demonstrations, and hands-on experimentation. The materials were deliberately structured to clearly separate explanation from practical activities, helping students stay focused while creating plenty of opportunities for experimentation and independent exploration.

Challenges and lessons learned

The first year was very much a baptism of fire, as it was both my first experience of teaching and the programme’s first experience of teaching Unity and software development.

One of my biggest lessons was learning how to structure practical sessions. My initial approach was highly guided, with students following demonstrations step-by-step. In practice, differing experience levels meant I spent much of the session running between students trying to keep everyone together. Thus approach was unsustainable with the ratio of teacher to student. Over time, I shifted towards clearer task-based activities with dedicated periods for explanation and independent work, giving students more freedom to learn at their own pace while allowing me to focus support where it was most needed.

The sessions were not formally assessed, which made progress difficult to measure and attendance harder to encourage. Feedback was also challenging to gather, often resulting in positive but fairly general comments that provided little insight into what could be improved. Looking back, this taught me the importance of continually adapting and iterating on teaching materials based on observations, even when formal feedback is limited.

The teaching space was a traditional large computer lab, which did not help create the collaborative learning environment I had envisaged. Limited teaching time meant that some sessions had strange combinations of content. Team collaboration and how to connect your VR headset to a PC, anyone?

I did like how teaching the same unit again allowed for improvements. For example, the first year most of the student’s VR experiences suffered from lack of VR comfort design (e.g. motion sickness inducing locomotion) or missed common interaction concepts in VR. The next year I was able to add in content on motion sickness, locomotion and interaction and saw an improvement in these areas in student projects.

Outcomes and legacy

I delivered these labs for two academic years to relatively small cohorts, approximately 40 students in 2024 and 25 students in 2025.

Although I no longer teach on the programme, the curriculum provided a foundation that could be adapted and expanded by future teaching staff, incorporating new ideas, approaches, and, of course, perhaps a little more time spent on prefabs than I managed.

Lab plans and learning outcomes

See below for the lab plans and intended learning outcomes.

Lab Plans and Learning Outcomes

1. Intro to Unity

Basic goal: create a Unity project, add and manipulate 3D primitives

Stretch goal: create a visually compelling environment that uses Unity Store assets

ILOs

  • Understand what Unity is and how it can be used in Immersive projects
  • Understand how Unity can be installed and opened, projects created, issues with Unity versions
  • Understand how to navigate Unity UI, add and manipulate 3d primitives
  • Understand hierarchy, game objects and components
  • Understand what the asset store is, potential issues and how to add items from it
  • Understand how to save and share projects between different computers

2. 3D Art and physics

Import 3D assets and make them bounce, fly and smash together.

Basic goal: create a bouncing ball

Stretch goal: create an artistic response to physics in Unity

ILOs

  • Understanding of where this session fits in overall learning and goals
  • Basic understanding of Scenes, Play Mode and Cameras
  • Ability to use Scenes, Play Mode and Cameras
  • Understanding of Game Object vs Component
  • Ability to add and control properties of Game Objects and components
  • Ability to add and control Physics properties of a Game Object
  • Ability to import 3D models from other applications
  • Understanding that collisions can trigger other events

3. Audio

Audio and timeline

​ILOs

  • Understand core concepts of how audio works in Unity
  • Understand the availability of basic audio features of Unity
  • Understand 2d vs 3d sound and when best to use each
  • Understand how to add basic stereo and spatial audio in Unity
  • Understand core concepts of how timeline works in Unity
  • Understand how to add basic audio and GameObject items to Unity

4. VR and Interaction

Be able to create a basic interactive VR scene in Unity that works on a VR headset. Understand the basic HCI concepts in VR (input and locomotion)

​ILOs

  • Understand basic HCI concepts in VR (input and locomotion) and available solutions
  • Understand basic techniques for interaction design and testing
  • Understand different options for running VR apps (standalone vs PC VR)
  • Understand basic options for developing VR apps in Unity (SDKs, XRI vs Meta Quest, why we use Meta Quest)
  • Understand how to implement input interaction in Unity for VR: hand-tracked and controllers
  • Understand how to implement locomotion in Unity for VR: teleport
  • Understand how to implement interaction events: audio play and gameobject activate/deactivate

5. Graphics and animation

Focus on the technical implementation of graphics and animation (rather than design of)

​ILOs

  • Understand available graphics render pipelines
  • Understand the concepts of materials, textures, shaders and physically based rendering
  • Understand shader concepts - lit, unlit, magenta material, shadergraph
  • Understand common reasons for slow graphics performance
  • Understand animation options available in Unity (timeline, Animator states)

Practical tasks

  • Be able to select a render pipeline
  • Be able to create materials and change shaders
  • Be able to import FBX humanoid animations and play
  • Be able to create basic timeline animations
  • Be able to create state based animations

6. Version control with Git

ILOs

  • Understand what version control / Git is
  • Understand options for collaborating on immersive software projects - advantages and disadvantages
  • Understand how Git operations work: Clone, commit, push, pull
  • Understand Git conflicts
  • Understand how changes to Unity files work and how they can affect Git merges
  • Be able to perform basic Git operations: Clone, commit, push, pull
  • Be able to setup GitLab repo
  • Be able to setup Git for Unity: gitignore, GitLFS/gitattributes
  • Strecth goal: fix a conflict.

7. Mobile AR

Create a basic AR experience in Unity that builds to a mobile phone.

ILOs

  • See examples of mobile AR, understand benefits / drawbacks of the medium
  • Understand basic concepts of AR (device tracking, tracking (plane, 2d image, 3d object, face, body) , interaction)
  • Understand basic concepts of AR dev
  • frameworks in Unity and Android / iOS (AR Foundation, ARCore, iOS)
  • AR Foundation requirements
  • how to build from Unity
  • hardware constraints of mobile devices (e.g. “between 300 and 1500 polygons per mesh will yield good results”
  • Be able to build an AR face tracked experience to a phone

8. Intro to coding

Try out some basic coding in Unity.

​ILOs

  • Understand why code is used in Unity - encourage students to use code
  • Understand roughly what a programming language is, how they differ/are similar
  • Understand different options for adding code to Unity (C#, visual scripting)
  • Understand different options for getting scripts, getting help with scripts and trade offs (download assets, AI generated code, forums, learning yourself, Unity Learn vs c#)
  • Understand (very) basics of Unity C# structure
  • Understand common pitfalls of Unity C# coding, how to view and debug errors

Pre-lab 1. Iterative Tech Development

Learn how to apply iterative tech development techniques to your projects to improve ideation, planning, design, development and teamwork.

​ILOs

  • Understand iterative concepts used in Tech and why they are applied
  • Understand different technical roles and apply them to a project brief
  • Understand and apply techniques for initial project planning
  • Understand how to use an iterative design tool (Figjam)

Pre-lab 2. Team communication and PC VR

Provi​de students with an introduction to the tools and techniques needed to effectively collaborate in Immersive team projects. Additional practical exercise to introduce PC VR

ILOs

  • Understand how communication / collaboration can affect team success
  • Be able to apply team communication / collaboration tools and techniques to immersive projects
  • Know what PC VR is and how to use it