Search Issue Tracker
Third Party Issue
Votes
0
Found in
6000.0.61f1
6000.2.10f1
6000.3.0b8
Issue ID
UUM-125089
Regression
No
Duplicate External Textures start appearing when a Texture created with "CreateExternalTexture" is modified causing Memory Usage spikes on VisionOS
How to reproduce:
1. Open the attached “IN-121810.zip” project
2. Switch the Platform to VisionOS (File → Build Settings → VisionOS → Switch Platform)
3. Build and Run the “Scenes/BasicScene” and run the App via Xcode
4. In Xcode, turn on the “Metal Debugger” (Product → Scheme → Edit Scheme → Options → GPU Frame Capture → Metal)
5. Run the Application on VisionOS and observe the Memory Debugger
5. Idle in the App for ~30 seconds
6. Observe the Memory Debugger in Xcode
Expected result: Texture Memory is stable
Actual result: Texture Memory significantly spikes, usage multiplies twice
Reproducible with: 2.4.2 (6000.0.61f1, 6000.2.10f1), 3.0.2 (6000.3.0b8)
Couldn’t Test with:
1.3.13 (2022.3.68f1) - AR Foundation Package unfixable errors due to downgrade
3.0.4 (6000.4.0a3) - Editor crashes when building, (not reproducible on new project)
Testing environment: macOS 26.0.1 (M3 Pro), Xcode 26.0.1
Reproducible on: Apple Vision Pro 2.6
Note: Reporter mentioned that the issue is reproduced using “CreateExternalTexture”, as soon as the textured is edited in any way, several more copies appear
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [WebGPU] clearing 2d array texture only clears first slice
- Particle System Renderer icon is missing in Animation window > Add Property context menu
- [Android] Legacy, TMP and UI Toolkit Input Field language toggle to some non-latin alphabet languages does not work with external keyboard
- Crash on keywords::LocalKeywordState::operator when calling ShaderUtil.GetPasskeywords with ShaderType.RayTracing set as the third parameter
- Inconsistent “Remove property” behavior when removing child properties in Animator window
Resolution Note:
This is fundamentally an issue with the RealityKit API that we use to update textures (LowLevelTexture.replace). We will be ameliorating this by adding a PolySpatial API to mark a texture as "streaming," meaning that it will use the (DrawableQueue) path that we use for RenderTextures, which limits the number of extra copies. Apart from that, I would recommend raising the issue (being able to use an external texture directly in RealityKit, and/or reducing the number of extra texture copies created by LowLevelTexture.replace) with Apple via their Feedback Assistant.