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
- PlayerPrefs get corrupted when a minimized fullscreen Player is closed through the Taskbar
- "To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations." warning is printed when JobTempMemoryLeakValidation switch is enabled
- Main Thread stalling when loading Audio Source asset asynchronously while preloading another Audio Source asset
- Material artifacts occur in the Material Preview window when baked lighting is applied to scenes
- “ArgumentOutOfRangeException” after saving, reseting and re-add Default Tile Palette Tools to the list in Preferences window
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.