Search Issue Tracker
Won't Fix
Votes
0
Found in
2022.3.55f1
6000.0.32f1
6000.1.0a8
6000.2.0a1
6000.3.0a1
6000.4.0a1
Issue ID
UUM-91676
Regression
No
Burst compile error is thrown when the system contains Update System Group logic
Reproduction steps:
1. Open the attached “UpdateSystemGroup.zip” project
2. Open the “Assets/Code/ForceUpdateSystem.cs” file
3. Uncomment the 25 line
4. Save the file
5. Reimport the “Assets/Code/ForceUpdateSystem.cs” file (Right-click > Reimport)
6. Observe the Console window
Expected result: No errors are thrown
Actual result: “.\Library\PackageCache\com.unity.entities\Unity.Entities\WorldUnmanaged.cs(893,13): Burst error BC1006: The catch construction is not supported” error is thrown
Reproducible with: 2022.3.55f1, 6000.0.32f1, 6000.1.0a8
Couldn't test with: 2021.3.47f1 (Could not resolve compilation errors)
Reproducible on: Windows 11
Not reproducible on: No other environment tested
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
- [Vulkan] Crash on with multiple stack traces when rendering large Terrain with specific hardware
- Crash on SkinnedMeshRendererManager when interacting with a prefab generated with uncombined meshes using Synty Sidekick Character Creator
- Crash on folly::detail::safe_assert_terminate_v when updating the Meta XR SDK Packages
- The text font falls back on a different font depending on the fallback font used
- Template is opened in Isolation when opening it in Context and users Save the UI Document when prompted to do so in UI Builder
Resolution Note:
ComponentSystemGroup implements SystemBase, and is a managed system; it is therefore not possible to update it from Burst-compiled code. This is mainly for historical reasons, as system groups predate unmanaged systems. Unfortunately, there are no plans to change this in Entities 1.x, as this would be a breaking API change.
One workaround in the meantime would be to call back out to a managed function from Burst, and update the system group from that managed function. Another would be to implement a simple unmanaged system group, which stores a NativeList<SystemHandle> and updates each list entry in turn.