Skip to content

Commit fe6f300

Browse files
author
Unity Technologies
committed
com.unity.polyspatial.visionos@2.2.4
## [2.2.4] - 2025-03-05 ## [2.2.2] - 2025-02-21 ### Changed - Reset PlayToDevice network connections when all volume camera windows in PlayToDevice (including the connection UI window) are backgrounded. This can occur if the headset is taken off the user's head and locked, or if the user manually closes each window visible. - Improved performance of texture transfer using LowLevelTexture API/GPU blit. - Improved performance of mesh transfer and static mesh merging using LowLevelMesh API/GPU processsing. - The `Limit Frames Per Second` field in the PlayToDevice UI has been changed to a slider. This value can be modified at runtime. - Updated Particle System documentation to include more detailed limitations of ReplicateProperty mode. ### Fixed - Fixed a crash that could occur when re-opening a volume. The crash occurred when the scene had the VisionOSVideoComponent and the MeshRenderer it was referencing on different GameObjects. - Fixed a problem that was occuring with apps that had both a bounded volume and an unbounded volume. When the app was backgrounded (for example, due to the Home View), and then brought back, the unbounded volume would not reappear. - Fixed support for non-2D RenderTextures. - Removed an error log "Mesh * not found for MeshCollider." when a null mesh collider is supplied.
1 parent 18d0380 commit fe6f300

File tree

98 files changed

+29234
-515
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+29234
-515
lines changed

.signature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"timestamp":1732673778,"signature":"GstTTuoebO+Fn13ydZI/oE5oZlbYwsVxLMvpiHGzIBY/nGoyuDhycazAet90bH9XOIxx6gsCvGlnbmKq7c9II/iqAfTItvFWkkzBZTyxIGAzLyaPHKi0QuM02prr453VpK+/3e/tuBez8kzHY4nhlnbN1RGbU74uzorMwx8Io+1okLKKM6Cqo5xjPHI6LHUUIEoZ+XA6ubR8EbvVsU08zop8ExqBqkJceYJJw4HMsCi1cbNVgV7Qil23kY176a1dmDSAq4lMQHfEoW4vfbJa6lHMHRt9uO+0d/9D9r8NWXXODnWxWd5z7k8f9y4siyKvQD7XzRZJhcJD837XgwJ5gxazA3Qh6Nn1QhhqjMA5xzyFPWCijSAzdhHJ0l1QDPos6hpfjwosBHBeuNZRTeQ1WKE7WW0dLlVbYZBLKf5zwasN9hhAyIFMtMcvw9XRTV/C/ZSiWTlENHAFO2NCj+GNmD8jPVjHG0/bqeee3WzD2m9ZPtWmbe/H5ikeE/TG6pn4","publicKey":"LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg"}
1+
{"timestamp":1741197268,"signature":"n73khjtsoU6clqYHcwvsT6+rvlYvr/uROHpoi1emVXGHPiDknsGrn50QKDEh+2kmKssV2NbUBAGwPvGEsuoB1zn528GF5cTt8Hz3hFVoHYlRXjZ8MNYvHyDDySVewBxuBH8RwPXTQKdu5e0Q6ftidWn04xfAtvTuW6qFT4+HqIcbf0jVRhPOBaf8EfB7FDNSS1Flrj4j0TqBH76F3HpQmG7LzrRjpflp3Ftz+0J/Latq6oKX+ffvasAVVB9haWm981Yas+XOo4NkoUtU0GLMMBhol2BdPCtvt5pNxnTUdlY1y+1iQqeSozGzW9woiSRDcMi9WsxhBiD6g/f3KUfjUMmJI59nLCFtewl9gCZpqjAkL8IxFdParc34WtuSuVXnuW36gZUBtUh+M9u5cJepnTj4fOoNFMz0ZyuVcm6obmZefUs3KLq3GenOZz1afpheRVYacbk8Ou3OtVwS73hiYF4mAjDp5YlGkkpPzN2DqkNfuXpssDcT0QDPz3UpMUCs","publicKey":"LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg"}

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
For general changes to PolySpatial, refer to the [PolySpatial Changelog](https://docs.unity3d.com/Packages/com.unity.polyspatial@latest?subfolder=/changelog/CHANGELOG.html).
1111

12+
## [2.2.4] - 2025-03-05
13+
14+
## [2.2.2] - 2025-02-21
15+
16+
### Changed
17+
- Reset PlayToDevice network connections when all volume camera windows in PlayToDevice (including the connection UI window) are backgrounded. This can occur if the headset is taken off the user's head and locked, or if the user manually closes each window visible.
18+
- Improved performance of texture transfer using LowLevelTexture API/GPU blit.
19+
- Improved performance of mesh transfer and static mesh merging using LowLevelMesh API/GPU processsing.
20+
- The `Limit Frames Per Second` field in the PlayToDevice UI has been changed to a slider. This value can be modified at runtime.
21+
- Updated Particle System documentation to include more detailed limitations of ReplicateProperty mode.
22+
23+
### Fixed
24+
- Fixed a crash that could occur when re-opening a volume. The crash occurred when the scene had the VisionOSVideoComponent and the MeshRenderer it was referencing on different GameObjects.
25+
- Fixed a problem that was occuring with apps that had both a bounded volume and an unbounded volume. When the app was backgrounded (for example, due to the Home View), and then brought back, the unbounded volume would not reappear.
26+
- Fixed support for non-2D RenderTextures.
27+
- Removed an error log "Mesh * not found for MeshCollider." when a null mesh collider is supplied.
28+
1229
## [2.1.2] - 2024-11-26
1330

1431
### Added
@@ -17,6 +34,7 @@ For general changes to PolySpatial, refer to the [PolySpatial Changelog](https:/
1734
- Restored `PolySpatialWindowManagerAccess.entityForIdentifier`/`identifierForEntity` that was removed when adding multi-volume support and added `entitiesForUnityInstanceId` to return Entities from all volumes.
1835
- Improved performance of blend shapes by enabling asynchronous processing.
1936
- Entities merged via static batching now include the source entities' synchronized components (sort groups, image based light receivers, environment lighting configurations, grounding shadows, and hover effects).
37+
- Improved performance of texture transfer using LowLevelTexture API/GPU blit.
2038
- Updated Metal Samples presentation image and added known limitations section to the Play to Device Section.
2139

2240
### Deprecated

Documentation~/Billboard.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ uid: psl-vos-billboard
33
---
44
# Billboard
55

6-
The **VisionOSBillboard** component ensures an object always faces the user, even in modes where head position isn't directly available, such as shared mode. This is particularly useful for text, UI, and other oriented content. In visionOS, this maps directly to the [BillboardComponent](https://developer.apple.com/documentation/realitykit/billboardcomponent), and is ignored on other platforms. In Unity play mode, we provide similar functionality which will show only the Game view targeting the main camera.
6+
The **VisionOSBillboard** component ensures an object always faces the user, even in modes where head position isn't directly available, such as shared mode. This is particularly useful for text, UI, and other oriented content. In visionOS, this maps directly to the [BillboardComponent](https://developer.apple.com/documentation/realitykit/billboardcomponent), and is ignored on other platforms. In Unity play mode, we provide similar functionality which will show only the Game view targeting the main camera.
7+
8+
The **VisionOSBillboard** component is mainly useful for Bounded volume situations. Apple doesn’t give us an API to know the users head position for Bounded volumes, which means its the only option to have content face the user in that situation. Unfortunately this also means we don’t know how to account for the transform it applies when doing input ray casts like we do for UGUI components. Specifically, this means if you put anything on a VisionOSBillboard that is a raycast target, then after a certain angle of rotation you will no longer be able to interact with any content placed on it. You should not expect UI input like buttons and sliders to work if their transform is affected by a VisionOSBillboard.
9+
10+
If you are using an unbounded scene consider using [Lazy Follow](https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/lazy-follow.html) instead. It’s an existing component we support that should face the users head and still support UGUI interactions.
711

812
| **Property** | **Description** |
913
| --- | --- |

Documentation~/FAQ.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ If one is not present a default one will be created that will include the bounds
5454
- You can only create VisionOS builds with the Unity editor for Apple Silicon. Check that the title bar in Unity does **not** contain "\<Rosetta>". If it does, use the Unity Hub to download the Apple Silicon version.
5555
- Make sure you have the VisionOS Simulator installed. In XCode, open `Window > Devices and Simulators`, and select the `Simulators` tab. If there is nothing listed, add one using the + button.
5656

57+
## Q: My RealityKit app uses too much memory
58+
By default, PolySpatial maintains extra copies of resources such as textures and meshes in case they are modified after transferring them to RealityKit. If you know that a texture or mesh will not be modified, you can use the [PolySpatialObjectUtils.MarkFinal](https://docs.unity3d.com/Packages/com.unity.polyspatial@latest?subfolder=/api/Unity.PolySpatial.PolySpatialObjectUtils.html#methods) methods to indicate that Unity can free its copy, reducing overall memory usage.
59+
5760
# Common Errors
5861

5962
## Error: `xcrun: error: unable to find utility "actool", not a developer tool or in PATH`

Documentation~/PlayToDevice.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,5 +171,4 @@ Even though the Play to Device feature is a powerful tool for iterating on your
171171
* Video Component: The [VisionOSVideoComponent](VideoComponent.md#visionosvideocomponent) may not work as expected when connected to a PlayToDevice host. Over a network, the VisionOSVideoComponent will not work, while the Unity VideoPlayer component will work, albeit with a performance cost.
172172
* PlayToDevice may incur a performance hit when using render textures, and render textures may render slowly or may stutter while connected.
173173
* Play to Device may not be able to accommodate your `VolumeCamera`'s specific `Output Dimension`. The number of available `VolumeCamera` window sizes (`OutputDimension`) is limited in PlayToDevice, and PlayToDevice will attempt to match user requested dimensions to available window sizes.
174-
* Object tracking is not supported in the Play to Device app.
175-
* XR Meshes over windows are not supported over Play to Device.
174+
* Object tracking is not supported in the Play to Device app.

Documentation~/SamplesUnbounded.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ You can find instructions on how to install these packages at the links above.
1919
2020
## Image Tracking
2121

22+
![Image Tracking](images/samples/ImageTracking.png)
23+
2224
The **Image Tracking** scene allows users to spawn content using predefined, unique image markers in an unbounded application.
2325

2426
> [!NOTE]
@@ -27,13 +29,17 @@ The **Image Tracking** scene allows users to spawn content using predefined, uni
2729

2830
## Mixed Reality
2931

32+
![Mixed Reality](images/samples/MixedReality.png)
33+
3034
The **Mixed Reality** scene allows users to spawn content using a custom ARKit hand gesture in an unbounded application. It also visualizes plane data information in the physical environment.
3135

3236
> [!NOTE]
3337
> This sample uses ARKit features that are not supported in the VisionOS simulator, you must run it on device.
3438
3539
## Object Tracking
3640

41+
![Object Tracking](images/samples/ObjectTracking.png)
42+
3743
The **Object Tracking** scene allows users to spawn content using predefined, unique objects markers in an unbounded application.
3844

3945
See Apple's documentation for how you can generate your own reference objects [here](https://developer.apple.com/documentation/visionOS/implementing-object-tracking-in-your-visionOS-app).

0 commit comments

Comments
 (0)