Crown Input

Is it possible to get Crown Input that is resposible for immersion level? If not do you know when will this be supported?

2 Likes

It is not currently supported, no. As far as I am aware it will never be possible for an app to get that information.

We have seen a video showcasing that it is available through Swift, will it not be possible to add it to the Input System? Go beyond the window with SwiftUI - WWDC23 - Videos - Apple Developer

Ahhh sorry I misunderstood the original question. Yes we will support a progressive immersive space in the future but currently we do not.

To support a progressive immersive space you can supply a skybox or 3D content to the app that is controlled by the user turning the digital crown. An app never gets access to the crown position or data it is all managed by the user.

1 Like

Hello, can I know how to access the digital crown value in unity input system or are there any API?

There are no input callbacks for the digital crown in visionOS 1.x, that is being enabled in visionOS 2 and we will support it in the next release. There’s a callback event when an app is in progressive mode that returns a value between 0.0-1.0 based on the level of immersion. Apps not in a progressive mode are not able to access this data.

can I know what is the callback event? Thank you so much

On the Unity side it will look like this

void Awake()
{
            VolumeCamera.ImmersionChanged += OnImmersionChanged;
}

void OnImmersionChanged(double amount)
{
          m_Text.text = $"Immersion amount: {amount:P0}";
}

Note this is not yet enabled, it requires visionOS 2 beta and will be available in the next package release.