PolySpatial Mixed Reality apps on visionOS
Mixed Reality content on visionOS can be in one of two modes, which we refer to as "shared" and "exclusive" mode.
Modes | Description |
---|---|
Shared | In "shared" mode, your application coexists with any other applications that are active in the shared real-world space. Each application has one or more bounded volumes (see below), but no unbounded volumes. The position and orientation of these volumes (both relative and absolute) is opaque to the app. Input in this mode is limited to a “3D touch” mechanism, via the PolySpatialTouchSpace device (see Input). In addition, ARKit information such as hand position, planes, or world mesh is unavailable in this mode. |
Exclusive | In "exclusive" mode, a single application controls the entire view, via an unbounded volume (see below) in addition to previously created bounded volumes. In this mode, an app knows the relative positioning of its volumes, can access all AR features of the device, and use hand/joint position information to drive input and interactions directly. The app still does not have the ability to move or size bounded volumes, and thus must rely on the user to ensure bounded volumes don't overlap with meaningful content within the unbounded volume. |
Volumes
Volumes are a new concept for mixed reality platforms. An application can create one or more volumes for displaying content in the mixed reality space. Each volume is an oriented box that contains 3D content. In visionOS, volumes can be moved and scaled in real-world space independently by the user, but not programmatically by the developer. Unity devs interact with Volumes using a new Unity component called a "Volume Camera" described below.
Modes | Description |
---|---|
Bounded Volumes | Bounded volumes have a finite, box-shaped extent. Bounded volumes can be moved and transformed in world space by the user, but not programmatically by the developer. Currently, Unity content within a bounded volume will expand to fill the actual size of the volume. Input in bounded volumes is limited to “3D Touch” as provided by the PolySpatialTouchSpace device. See Input. |
Unbounded Volumes | When running in exclusive mode, content presents a single unbounded volume, without any clipping edges. The application owns the entire mixed reality view, with no other applications visible. Additional bounded volumes from the same application can co-exist with this unbounded volume. Within the unbounded volume, an application can request access to full hand tracking data. |
Volume Camera
The VolumeCamera is the primary way in which user code and content interacts with volumes and the modes of visionOS.