visionOS Release Notes Beta 0.5.0

We have published a new release (0.5.0) with the following changes:

  • Polyspatial project Settings are now reorganized and are presented in a cleaner form.
  • PolySpatial now supports two distinct particle rendering modes, with a corresponding tradeoff between quality and performance. Particle rendering mode is currently set globally across a project via the PolySpatial project settings. In the future, we hope to allow users to specify mode on a per-system basis:
    • ReplicateProperties aka Legacy mode. Particle features are limited to capabilities provided by native RealityKit particles, and custom shaders aren’t supported. In practice, this means appearance may diverge significantly between Unity and visionOS, but this mode introduces minimal performance overhead.
    • BakeToMesh: This mode offers improved quality and includes support for custom shaders, but imposes additional performance overhead.
  • VR gaze input Support
    • VisionOSSpatialPointerDevice exposes gaze/pinch through the input system package.
    • Users can bind to ‘primarySpatialPointer’ control and its sub-controls, similar to the SpatialPointerDevice in the PolySpatial package.
  • Template update and bugfix for VR
    • Virtual Reality builds no longer fail if PolySpatial packages are in the project.
    • URP settings in template updated to fix issues causing VR rendering to fail.
  • A range of additional shader graph nodes are now supported, and several existing nodes have been improved. Please consult the package documentation for specifics, but changes include seven previously unsupported nodes relating to channels and colors: Channel Mixer, Replace Color, White Balance, Fade Transition, Channel Mask, Color Mask, and Channel Flip.
  • We have resolved an error where MeshColliders with the isTrigger property set resulted in an error in play mode: “Triggers on concave MeshColliders are not supported”. A collider unit test has also been added to catch the issue.
  • Our beta users have requested a way to completely omit objects from tracking for performance purposes. This release adds a “Disable Tracking Mask” to the settings and it also removes the now-unused MaterialXExtensionNamespace property).
  • This release adds support for Fixed the shader validation warning appearing for supported shaders.
    • Warning: The PolySpatialARProfileTest profile(s) do not fully support the shaders in the following materials: Universal Render Pipeline/Unlit.
  • Fixed index buffer overruns.
  • Beta users reported getting incorrect output from the shader graph world position node as transformed by the PolySpatial Volume to World node. This release fixes our offset.
  • Previously, our support for the Colorspace Conversion node didn’t encompass linear/RGB conversions. In this release we changed it to use parsed expressions based on the source code/reference for the node.
  • A number of performance improvements have been made to Unity UI and Sprite support that should help with complex UI or scenes with multiple, animated sprites.

For those who are testing on devices at Apple’s developer labs or via a developer kit, you should only be using the following configuration.

  • Apple Silicon Mac for development
  • Unity 2022 LTS (2022.3.11f1 to 2022.3.12f)
  • Xcode 15.1 beta 1
    • The Xcode 15 Release Candidate will not work
  • visionOS beta 4 (21N5259k) - SDK
    • This release was not extensively tested against visionOS beta 5 SDK.

To learn more about Unity’s visionOS beta program, please refer to this post. These release notes apply to the suite of packages released as part of Unity’s visionOS beta program:

  • com.unity.polyspatial (0.5.0)
  • com.unity.xr.visionos (0.5.0)
  • com.unity.polyspatial.visionos (0.5.0)
  • com.unity.polyspatial.xr (0.5.0)

Known 0.5.0 Issues

  • When importing Samples and running ProjectLauncher in both editor PlayMode and visionOS player, the ProjectLauncher text for each Scene + description renders in low quality.
  • When upgrading visionOSTemplate 0.4.3 to 0.5.0 packages, an error logged in the console for SampleSceneUnbounded: “Couldn’t create Convex Mesh from source mesh “” within the maximum polygons limit (256) …”
  • When running in editor PlayMode, exceptions are thrown when navigating through the SampleScenes via ProjectLauncher.
  • Slider component no longer crashes when the exception gets thrown, but ongoing issues with functionality, including the audio getting garbled, persist.
  • VisionOS Template SampleScene shows pink material in PlayMode
    • To work around this, please disable the XR simulator loader.

For additional information please visit the General Release Notes.

One other issue to add to the list in case someone else run into it: https://discussions.unity.com/t/bug-com-unity-xr-visionos-0-5-0-fails-to-compile/309053/

2 Likes

When updating a project to 0.5.0, all PolySpatial settings need to be set up again, including for example enabling the PolySpatial runtime (PolySpatialSettings asset has renamed the settings from EnablePolySpatialRuntime to m_EnablePolySpatialRuntime, etc.

2 Likes

I cannot get this to work here (Fully Immersive app). Is that just me? Looks from the code that it should work in sim, on device AND in play mode in editor.

hey there, this is expected since we did a revamp on the settings

In case this helps anyone, updating to Unity 2022.3.12f and Xcode Version 15.1 beta (15C5028h) allowed the PS v5 template project to run in the simulator. Yes!

Opening the PS v5.0 template in Unity (2022.3.11f1 throws this error again “A build only device cannot be used to run this target.” (seen in PS v4.3 previously.) Changing the Player Settings/ Target SDK / Simulator <> Device has no effect in Unity 2022.3.11.

Update: This was for the Mixed Reality (AR) apps. Trying the Full Immersive (VR) next.

1 Like

This should be working… Can you take a look at this post and see if solves any of your issues?

Just to increase visibility in case others have the issue - I’m having a build issue after trying to update a project using the built-in render pipeline, details here:
https://discussions.unity.com/t/bug-com-unity-xr-visionos-0-5-0-fails-to-compile/309053/3

Getting the following error once the app launches : -[MTLSimDevice newHeapWithDescriptor:]:1153: failed assertion MTLStorageModePrivate is required for heaps'

1 Like

How? Where I can’t figure it out

I saw this “Preview an Application with the Play To Device App” in the documentation but clicking on Download The TestFlight App just leads to the Unity website. Is it possible to get this working?

1 Like

@schuchmannsebastian To disable the XR simulator loader.try replacing the “AR Session” Camera with the “Scene Camera” Prefab. Or simply disabling ARSession. That worked for us.

Update: It appears that you can also keep the AR Session Camera and disable Project Settings > XR Settings > Windows/Mac/Linux Tab > XR Simulation. Unchecking this checkbox might be a better way to disable the XR simulation loader.

Thank you yeah got it working now. Did some prototyping with XRHands in the meantime.

same here
this error happens when the window opens inside the simulator

When I try to build to device in Xcode, I get error below. Is there a Unity setting that I need to change to target device and not sim?

dyld[536]: Library not loaded: @loader_path/libVisionOS-lib.dylib
Referenced from: <…> /private/var/containers/Bundle/Application/…/Frameworks/UnityFramework.framework/UnityFramework
Reason: tried: ‘/private/var/containers/Bundle/Application/…/Frameworks/UnityFramework.framework/libVisionOS-lib.dylib’ (mach-o file (/private/var/containers/Bundle/Application/…/Frameworks/UnityFramework.framework/libVisionOS-lib.dylib), but incompatible platform (have ‘xrOS-sim’, need ‘xrOS’)), ‘/usr/local/lib/libVisionOS-lib.dylib’ (no such file), ‘/usr/lib/libVisionOS-lib.dylib’ (no such file, not in dyld cache)

Check Project Settings - Player - VisionOS (blank tab) - Other Settings - Configuration - Target SDK

Thanks!! That was it. I knew I was probably missing something simple…

@schuchmannsebastian It appears that you can also keep the AR Session Camera and disable Project Settings > XR Settings > Windows/Mac/Linux Tab > [ ] XR Simulation. Unchecking this checkbox might be a better way to disable the XR simulation loader.

For me the example’s materials look off in the simulator. Is that expected for now or can I do something about it?