Unreal Phanto sample
Updated: May 11, 2026
The Unreal Phanto sample is a mixed reality reference app with four scenes (Lobby, Tutorial, Game, Haptics). It demonstrates scene mesh access with a custom GlobalMesh collision profile, dynamic NavMesh with initial lock and release pattern, custom nav links for jumping, and MetaXRHaptics for runtime modulation. BP_Phanto uses a behavior tree for air navigation with scene mesh overlap.
- Scene mesh access and collision configuration
- Dynamic NavMesh generation with lock/release patterns
- Custom navigation links for jumping behaviors
- MetaXRHaptics runtime modulation
- Behavior tree-driven AI navigation in mixed reality
Quest 3 or Quest 3S (full functionality)
- Quest 2 (Scene API only)
- UE 5.3 or Oculus fork of Unreal Engine 5.6
- Clone the repository.
- Open the project in UE 5.3 or the Oculus fork of Unreal Engine 5.6.
- Ensure your Quest device has completed Room Setup.
- Deploy and launch on device to enter the Lobby scene.
| File / Scene | What it demonstrates | Key concepts |
|---|
Lobby | Entry point and scene setup | Scene API initialization |
Tutorial | Guided introduction | Interaction patterns and onboarding |
Game | Core gameplay loop | BP_Phanto behavior tree, scene mesh overlap |
Haptics | Haptic feedback demo | MetaXRHaptics runtime modulation |
GlobalMesh collision profile | Scene mesh collision | Custom collision channel configuration |
NavMesh setup | Dynamic navigation | Initial lock + release pattern, custom nav links |
The app starts in the Lobby scene and guides users through a Tutorial before entering the Game scene. BP_Phanto navigates through the air using a behavior tree that accounts for scene mesh geometry. The NavMesh is initially locked during scene mesh loading, then released once the environment is fully captured. Custom nav links enable jumping between disconnected surfaces.
Scene mesh with GlobalMesh collision
The scene mesh is loaded with a custom GlobalMesh collision profile that allows gameplay systems to query physical space boundaries for placement and occlusion.
Navigation uses an initial lock and release pattern:
- NavMesh generation is locked during scene mesh loading
- Once the scene mesh is fully available, the NavMesh is released and built
- Custom nav links are placed to enable jumping between surfaces
Haptic feedback uses MetaXRHaptics for runtime modulation, allowing dynamic adjustment of haptic intensity and patterns during gameplay.
BP_Phanto uses a behavior tree for air navigation that incorporates scene mesh overlap detection to avoid flying through physical objects.
- Add new enemy types with different navigation behaviors
- Create additional haptic patterns for game events
- Implement furniture-aware placement using scene anchors
- Add multiplayer ghost interactions