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
- Query Builder items display raw code style names instead of human readable labels in search field
- “+” button does nothing and has no functionality when clicked in Human Template "Bone Template" list
- Solid gray or black areas are present when using ShaderGraph with Custom Function nodes without manual reimport
- The Multiplayer Play mode tool doesn't see the list of Play Mode scenarios when using 6000.3.x
- Input field does not update when selecting the same input field after previous input was canceled
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.