Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inception — Unity VR

A narrative VR experience built in Unity, loosely inspired by Inception. The player moves through four dreamlike scenes, each with its own mood, mechanics, and ending that loads the next.

Status: personal portfolio project. Built solo as a VR experiment. Not a finished product.

Scenes

# Name Idea
1 Garage Opening scene. Sit, interact with props, trigger the injection that starts the dream.
2 Ocean Driving sequence across a bridge over an endless ocean.
3 Weightless Floating/zero-g corridor with an elevator. Trigger-driven movement and teleport gates.
4 Limbo Final open environment. Outro.

Scene transitions run through a fade + async loader (SceneLoader.cs) with a persistent XR rig respawn (SpawnXRI.cs).

Tech

  • Engine: Unity 2022.3.62f3c1 (LTS)
  • XR: Unity XR Interaction Toolkit 2.6.5, OpenXR 1.14.3
  • Target: desktop PCVR / Meta Quest via Link
  • Rendering: Built-in pipeline

Project layout

Assets/
├── Script/                    # Global scripts (scene loading, fades, XR spawn)
├── Scene1_Garage/
│   └── Scripts/               # Garage-specific interactions (sit, grab, inject, UI toasts)
├── Scene2_Ocean/
│   └── Scripts/               # Vehicle + door controllers, IK, ocean
├── Scene3_Weightless/
│   ├── Scripts/               # Float/teleport/trigger logic, NPC speak, outliner
│   └── Elevator/Scripts/      # XR button + door open
├── Scene4_Limbo/              # (rotate.cs + environment)
├── Scenes/                    # .unity scene files
├── Animation/ Audio/ Gizmos/  # Shared resources
├── NPC_Pack/ Oculus Hands/
├── H&L Assets/ Samples/       # Third-party packs (see THIRDPARTY.md)
├── TextMesh Pro/
└── XR/ XRI/

My own scripts

All C# under Assets/Script/ and Assets/Scene*_*/Scripts/ was written by me. Highlights:

  • Script/SceneLoader.cs — async scene load with fade + loading UI + XR rig stabilisation.
  • Script/SpawnXRI.cs — repositions the XR rig to a tagged spawn point after each load, handling CharacterController/Rigidbody gotchas.
  • Script/Fade.cs, LevelManager.cs, DontDestroy.cs, LoadingTMPGroup.cs — supporting pieces for the transition flow.
  • Scene1_Garage/Scripts/ — sit-down anchor, grab tracking, injection-on-touch, UI toast, next-scene trigger.
  • Scene2_Ocean/Scripts/ — van/car movement, door interaction, ocean controller, NPC IK.
  • Scene3_Weightless/Scripts/ — float-to-target, teleport gates, speak-on-trigger, outliner.
  • Scene3_Weightless/Elevator/Scripts/ — XR elevator button + door open logic.

Running it

  1. Install Unity 2022.3.62f3c1 via Unity Hub.
  2. Clone this repo and open the folder as a Unity project.
  3. Two large third-party .fbx files are excluded from the repo (see THIRDPARTY.md for where to download them). Drop them into Assets/Scene2_Ocean/ before opening Scene 2.
  4. Plug in a Quest (Link/Air Link) or any OpenXR headset and press Play.

Third-party assets

This project uses a number of downloaded asset packs (characters, vehicles, environments, skyboxes). They belong to their respective authors — see THIRDPARTY.md for the full list. Nothing in those folders is my own work.

License

Code I wrote (the .cs files described above) is released under the MIT License. Third-party assets retain their original licenses.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages