DEV Community

Cover image for OpenXR Spatial Containers: XR Multitasking Explained
A Plus Games Studio
A Plus Games Studio

Posted on Originally published at aplusgamesstudio.com on

OpenXR Spatial Containers: XR Multitasking Explained

The short answer

OpenXR spatial containers are new cross-platform extensions that let an XR app run inside a bounded 3D space next to other apps, or switch to full immersion. The system decides where containers sit. It is an open standard, so once headset runtimes support it, apps built on OpenXR can multitask in a consistent way. Support will roll out over time, so design for it now and adopt it when your target headsets ship it.

What was published

The Khronos OpenXR working group published two ratified multi-vendor extensions:

  • XR_EXT_spatial_container : creates and manages containers for an app.
  • XR_EXT_spatial_container_self_rendering : lets an app draw into a container using OpenXR composition layers.

A container can run in a bounded mode , so several apps share the space, or in full immersion. The extensions appear in the OpenXR 1.1.63 specification release, and Khronos announced them publicly in October 2026.

Why it matters

On most headsets today, opening one immersive app closes the last. Apple's visionOS showed how useful it is to keep several spatial apps open together, but it uses Apple's own APIs. The OpenXR extensions bring a similar idea to the open standard used by many other headsets, which means one approach can work across vendors that adopt it, instead of a different API for each.

Who supports it

Platform Status
OpenXR specification Extensions published and ratified
Headset runtimes Support expected to roll out over time; check each vendor
Meta Quest today Generally one immersive app at a time
Apple Vision Pro Uses Apple's own APIs, not OpenXR
Unity and Unreal Both support OpenXR; extension support follows runtimes and plugins

Do not promise multitasking features to a client until your target headset's runtime supports the extension.

What changes in app design

Design for a bounded space

An app in a container may get a small volume instead of the whole room. Menus, models and text need to remain usable when scaled down, and content should not assume it can surround the user.

Handle focus properly

When the user switches to another app, yours should pause sensibly, keep state and resume quickly. Audio, input and animations should respect focus.

Be a good neighbour

Running alongside other apps means sharing processing power and memory. Lower update rates and effects when in the background, and keep frame time stable when in focus.

Keep full immersion as an option

Games and training scenarios often need full immersion. Plan a clear switch between bounded and immersive modes.

Which apps benefit most

  • Productivity and dashboards that sit next to other tools.
  • Training references, such as a 3D procedure guide open beside a simulation.
  • Product viewers and showrooms that users check while doing something else.
  • Social and messaging layers alongside games.
  • Casual games that work in a small window.

How to prepare in Unity or Unreal

  1. Build on OpenXR rather than vendor-only APIs where you can.
  2. Add a bounded layout for your main UI and test it in a small volume.
  3. Implement pause and resume on focus loss, and test it often.
  4. Profile memory and CPU so the app behaves well when sharing the device.
  5. Track your target runtime's release notes and adopt the extension behind a feature flag.

What it means for VR training and enterprise

Enterprise users often need reference material while they practise or work. Multitasking can let a procedure guide, checklist or video sit next to a simulation. It also helps device fleets standardise on OpenXR apps. For planning a training project, see VR training for manufacturing and what the end of Quest for Business means.

Testing a bounded mode before runtimes support it

You do not need the extension to start. Add a simple "compact" mode to your app that shrinks the experience into a small volume in front of the user, and use it to find problems: UI that is too small, models that clip, interactions that need too much space, and effects that are too heavy. Fixing these now makes the eventual switch to real containers a small job.

  • Can a user complete the main task inside a volume roughly the size of a desk?
  • Is all text readable at that scale?
  • Does the app pause cleanly when the headset is removed or focus changes?
  • Does memory use stay stable over a long session?

What it means for budgets

For most projects, supporting a bounded mode is a modest addition: mainly UI layout, focus handling and testing. It is much cheaper to plan from the start than to retrofit. When we scope XR apps, we include focus handling and scalable UI as standard, because they also improve comfort and reliability on current headsets. Our VR packages list fixed starting prices.

The bottom line

Spatial containers are a meaningful step for open XR: they give developers one way to support multitasking across vendors that adopt them. The rollout will take time, so the sensible move now is to make apps work well in a bounded space and handle focus properly. Those changes make apps better today and ready for multitasking when it arrives.

Sources: Khronos: OpenXR spatial containers · Road to VR: OpenXR spatial multitasking API · Khronos OpenXR registry. Checked October 27, 2026.

Related: VR development · VR packages · AR development


Originally published on A Plus Games Studio, a game, AR and VR development studio in Sacramento, CA.

Top comments (0)