Search Issue Tracker
By Design
Votes
0
Found in
2022.3.9f1
2023.1.13f1
2023.2.0b9
2023.3.0a5
Issue ID
UUM-48842
Regression
Yes
Crash on RendererUpdateManager::RemoveRenderer when undoing painting tiles to the scene
Reproduction steps:
1. Open the attached “repro-project“
2. Open the “Assets/GameCore/Scenes/_Templates/GameScene.unity“ scene
3. In the Hierarchy window select the “Grid“ GameObject (child GameObject of the “Tilemap“ GameObject)
4. In the lower-right corner of Scene View select the “Open Tile Palette“ button
5. In the “Tile Palette“ window select any color and paint some tiles to the scene
6. Undo
7. Observe the crash
Reproducible with: 2022.3.9f1, 2023.1.13f1, 2023.2.0b9, 2023.3.0a5
Not reproducible with: 2021.3.30f1, 2022.2.4f1
Regressed in: 2022.2.5f1
Reproduced on: Windows 10 Pro, Windows 11 (by reporter)
Not reproducible on: No other environment tested
First few lines of the stack trace:
0x00007ff70bffd128 (Unity) RendererUpdateManager::RemoveRenderer
0x00007ff70bfb6768 (Unity) Renderer::RemoveFromScene
0x00007ff70bfb3b37 (Unity) Renderer::Deactivate
0x00007ff70be55835 (Unity) GameObject::ActivateAwakeRecursivelyInternal
0x00007ff70be55674 (Unity) GameObject::ActivateAwakeRecursivelyInternal
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
- Animator Controller throws MissingReferenceException after undoing Layer Creation
- Full stack trace is always printed when an exception occurs in an IL2CPP build
- Licensing Client fails to launch when opening Unity Hub (licensing client path is not found)
- Licensing Client fails to launch when opening Unity Hub
- Different custom Shader behavior when GPU Resident Drawer is enabled
Resolution Note:
Within the project a custom script is adding new additional objects to the Tilemap which are not registered with the undo system.
Extensions to the Tilemap system outside the Tilemap editing ecosystem such as those in the example project should implement editor Undo themselves in their system.
Any change to the Tilemap such as child objects created with Instantiate, added via SetParent, destroyed via DestroyImmediate etc should be registered with the Undo System using their undoable counterpart https://docs.unity3d.com/ScriptReference/Undo.html.