This sample demonstrates how Application SpaceWarp (ASW) improves perceived frame rate by generating interpolated frames, and how to identify and mitigate common rendering artifacts that occur with transparent materials, complex geometry, and UI elements. It provides five interactive scenes that isolate specific ASW behaviors, each with runtime controls to toggle ASW on and off and compare material configurations.
enable Application SpaceWarp in an Unreal Engine project using console variables
understand how transparent materials interact with ASW motion vectors and apply progressive mitigation techniques
implement UI using compositor layers versus standard widgets to avoid ASW-related ghosting
identify motion vector artifacts with opaque objects (disocclusion shimmer) and elongated geometry
use runtime controls to toggle ASW and compare material variants for debugging
Requirements
Meta Quest 2, Quest 3, or Quest 3S
Oculus fork of Unreal Engine 5.6 with OpenXR and OculusXR plugins
For detailed SDK version and build prerequisites, see the sample README.
Get started
Clone the App SpaceWarp repository. Open AppSpaceWarp.uproject in the Oculus fork of Unreal Engine. Build the project for Android and deploy to your Quest device. The sample opens to the Opaque Objects scene with a hamburger menu button for scene selection.
Explore the sample
Scene
What it demonstrates
Key concepts
Opaque Objects
Baseline ASW behavior with fully opaque geometry
Disocclusion artifacts (shimmer and halo around moving object silhouettes)
Railings
Edge-case artifacts with elongated geometry
Motion vector buffer resolution artifacts at thin edges
Transparent Objects
Progressive mitigation of transparency artifacts
Material variants: no motion vectors → with motion vectors → with motion vectors and depth output
User Interfaces
Two UI rendering approaches under ASW
Widget-based UI (affected by ASW) versus compositor layer UI (bypasses ASW)
Benchmark
Performance comparison with ASW enabled versus disabled
Frame rate impact analysis
Runtime behavior
When you run the sample, each scene includes on-screen explainer text describing the artifact or technique being demonstrated. Use the controller inputs to toggle ASW on and off, switch between material variants, and adjust object movement speed.
The Transparent Objects scene shows the most dramatic artifact progression: basic transparent materials exhibit severe “pulling” and ghosting, materials with motion vectors reduce the effect, and materials with both motion vectors and depth output provide the cleanest interpolation.
Key concepts
Enabling Application SpaceWarp
The sample enables ASW using two console variables in DefaultEngine.ini:
Projects using Unreal Engine 5.7 or later should use xr.OpenXRFrameSynthesis instead, as the Oculus-specific CVars are deprecated. The sample also enables forward shading and Multi-View rendering, both required for ASW compatibility.
Transparent object mitigation
The sample demonstrates three material variants that progressively reduce ASW artifacts on transparent geometry:
M_Transparent: No motion vectors — ASW pulls transparent pixels incorrectly, creating severe ghosting
M_Transparent_With_MotionVectors: Includes motion vectors — object movement stabilizes, but intersecting objects still show artifacts
M_Transparent_With_MotionVectors_And_Depth: Adds depth output — best mitigation using the “Output depth and velocity” material setting
UI and compositor layers
The User Interfaces scene demonstrates two rendering approaches: standard Unreal widget components that are affected by ASW interpolation (potentially causing ghosting), and compositor layers that bypass ASW entirely, rendering UI at full frame rate without interpolation artifacts.
Motion vector artifacts
The Opaque Objects scene demonstrates disocclusion shimmer, where moving foreground objects reveal background pixels that ASW must reconstruct. The Railings scene isolates a different artifact class: because the motion vector buffer is lower resolution than the RGB eye buffer, thin elongated geometry produces visible edge artifacts.
Extend the sample
Modify the Transparent Objects scene to test your own transparent materials and observe how different shader complexity affects ASW interpolation quality.
Add a new scene demonstrating ASW behavior with particle effects or skeletal mesh animation.
Integrate the ASW toggle and material switching patterns into your own VR project for debugging.