SceneComplexityValidationSystem Crash on xrOS - Testing Mesh Limits in Industrial Digital Twin
PlayToDeviceHostUnity6-2025-07-08-130455.ips
Hi everyone,
I’m encountering a crash in my Unity app when running on Vision Pro (xrOS 2.5), specifically when adding a large number of mesh objects to the scene. Here’s what I’ve gathered from the crash log—would appreciate any insights or suggestions!
Crash Overview
Thread: Main thread (com.apple.main-thread)
Exception: EXC_CRASH (SIGABRT) (app terminated by system)
Trigger:
re::ecs2::SceneComplexityValidationSystem::update(re::ecs2::Scene*, re::ecs2::System::UpdateContext) const
This suggests the crash occurred during system-level scene complexity validation, likely due to exceeding hardware limits.
Key Details
Device: RealityDevice14,1 (Vision Pro)
OS: xrOS 2.5
Unity Version: 2.3.1 (Beta)
Memory Usage:
Virtual: ~3.7GB (857.8MB resident, per vmSummary).
Possible Causes
Scene Complexity Limits:
The SceneComplexityValidationSystem (part of CoreRE.framework) seems to enforce thresholds for:
Mesh/polygon counts.
Rendering load (e.g., draw calls, lighting).
Memory/GPU resource usage.
Adding too many meshes may exceed these limits.
Beta-Specific Issues:
Both Unity 2.3.1 (Beta) and xrOS 2.5 might have unoptimized resource checks.
Memory Pressure:
The app’s high memory footprint (~3.7GB virtual) could trigger OOM (out-of-memory) safeguards.
Debugging Steps Taken
Optimizations Attempted:
Reduced mesh complexity (LODs, combining meshes).
Simplified materials/shaders.
Tested with fewer objects → crash disappears.
Unity Profiler:
No obvious bottlenecks in Editor (non-Vision Pro), suggesting the issue is xrOS-specific.
Questions for the Community
Has anyone else hit SceneComplexityValidationSystem crashes on Vision Pro? Are there documented limits?
Are there known workarounds (e.g., disabling certain features in Unity’s XR Plug-in)?
Could this be a bug in Unity’s Vision Pro support or xrOS itself?
Next Steps
Will file feedback with Apple (xrOS) and Unity (Beta version).
Exploring dynamic loading to split scene complexity.
Log Snippet:
[re::ecs2::SceneComplexityValidationSystem] Abort: Scene complexity threshold exceeded.
Thanks in advance for any advice!
Topic:
Graphics & Games
SubTopic:
RealityKit
Tags: