ModernCS
Meta

Build · Taught with Meta

AR / VR / XR

Interfaces where the user has hands and a body. You work in WebXR and Unity, handle tracking and comfort, and ship something that holds a stable frame rate on a headset.

Download the course plan
  • Advanced
  • 4 phases
  • 20 sessions
  • First session free

Syllabus

4 phases · 20 sessions · each phase ends in something you have built

1

Presence Without a Build

Be inside a headset in week one, before any engine or compile step exists.

$108

this phase

  1. 1.1

    Why XR Breaks Your Instincts

    Free preview

    Presence, comfort, and why a flat UI floated in 3D is always wrong.

    Open
  2. 1.2

    A Scene You Can Stand In

    Build a three.js scene with meshes, lights, and a camera, and preview it in the Immersive Web Emulator.

  3. 1.3

    Enter VR

    Start a WebXR session and see your own scene from inside a Quest with 6-DOF head tracking.

  4. 1.4

    Hands, Controllers, and a URL

    Read controller and hand input, then host the page so someone else's headset can load it.

By the end of this phase:A WebXR scene on a public URL that a classmate opens in Quest Browser.
2

Unity and the Device Loop

Get a Unity project onto a real Quest and survive the loop that eats XR beginners.

$108

this phase

  1. 2.1

    Unity 6.3 and Enough C#

    Scenes, transforms, MonoBehaviour, and the C# you need before the headset gets involved.

  2. 2.2

    OpenXR, Not the Oculus Plugin

    Configure XR Plugin Management with the OpenXR and Unity OpenXR: Meta packages, and know why the old plugin is gone.

  3. 2.3

    The Iteration Loop

    Test changes through the Meta XR Simulator and Link instead of waiting on an APK every time.

  4. 2.4

    Building Blocks

    Drop in a camera rig, passthrough, and hand tracking with almost no code.

  5. 2.5

    Your First APK

    Register a developer org, enable developer mode, and install a signed build with Meta Quest Developer Hub.

  6. 2.6

    Debugging on Device

    Read logcat and use the Immersive Debugger to fix the bug that only happens on the headset.

By the end of this phase:A hand-tracked passthrough app you built, signed and installed on a real headset.
3

Interaction, Comfort, and the Real Room

Make things you can grab and move past without making anyone sick.

$108

this phase

  1. 3.1

    Grab, Poke, Throw

    Use XR Interaction Toolkit interactables so hands and controllers move physics objects the way people expect.

  2. 3.2

    Locomotion That Does Not Nauseate

    Ship teleport as the default, 30 degree snap turn, and a speed-linked vignette when smooth movement is unavoidable.

  3. 3.3

    Spatial UI and Audio

    Panels at arm's length, honest reach ranges, and positional sound that tells the user where to look.

  4. 3.4

    Passthrough, Planes, and Anchors

    Query the scene model so content sits on the user's real table and is still there next session.

  5. 3.5

    Accessibility in XR

    Support seated play, one-handed use, and varying heights, with comfort options on by default.

  6. 3.6

    Testing on Other People

    Run a session protocol, spot discomfort before a tester admits to it, and leave with a ranked fix list.

By the end of this phase:A room-scale mixed reality demo with a comfort report from five testers who are not you.
4

Hold the Frame and Ship It

Hit the frame budget and get the build onto a headset you do not own.

$108

this phase

  1. 4.1

    The Frame Budget

    Treat 72fps as the floor and 90fps at 11.1ms per frame as the target on a mobile GPU.

  2. 4.2

    Profile, Then Optimize

    Take one capture, decide whether you are CPU or GPU bound, and make one measured fix.

  3. 4.3

    One Project, Many Runtimes

    Keep the OpenXR path clean so the same project can target Android XR and PC runtimes, not just Quest.

  4. 4.4

    Distribution

    Sideload to testers, read the VRC list honestly, and choose between the Horizon Store and a WebXR link.

By the end of this phase:A signed release build in testers' hands, with a profiler capture and an honest VRC self-check.

Tools you will use

  • Unity 6.3 LTS
  • OpenXR 1.1
  • Unity OpenXR: Meta
  • XR Interaction Toolkit 3
  • Meta XR All-in-One SDK
  • Meta XR Simulator
  • Meta Quest Developer Hub
  • three.js and WebXR

What you will build

  • Passthrough Playground

    Hand-tracked objects that stay on your real table

  • VR Drawing

    3D strokes in space, grabbable and undoable

  • Room-Scale Escape Room

    Teleport locomotion, spatial UI, and 90fps held on device

AR / VR / XR · ModernCS