Search Issue Tracker
Fixed in 2017.1.X
Removing Particle System component from a GameObject that depends on a Renderer corrupts the GameObject
It is possible to remove Particle System component from a GameObject that depends on a Renderer from the Particle System, thus causing a corrupted GameObject.
Steps to reproduce:
1) Open the attached project.
2) Open 'Test' scene.
3) In the Hierarchy, select 'GameObject'.
4) Remove its 'Particle System' component.
A message is logged in the console:
"Can't remove component: Can't remove ParticleSystemRenderer because RendererDepender (Script) depends on it".
However, the Particle System component is removed from the Inspector even though there is a script attached to the GameObject, that requires a Renderer component. Therefore, the Particle System is removed, but the Particle System Renderer remains on the GameObject, thus it becomes corrupt. If such object is used in an iOS build, it causes a crash in SyncAllJobs() or SyncJobs() at ParticleSystem.cpp, indicating that the Particle System class is still used.
2017.1.0a2, 5.5.2p1, 5.4.5f1, 5.2.4f1
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- The <sprite> tag inserted image from a Sprite Asset into the UI Builder Button disappears when the Inlined Style Text Shadow Horizontal or Vertical Offset is set to be more than 0 px
- Build fails when building with ILCPP Scripting Backend and ARMv7 as the Target Architecture
- Textures turn black in Player when they are referenced by a script instance
- [Android] Virtual device crashes with "Scudo ERROR: invalid chunk state when deallocating address" error in Firebase Test Lab when Optimized Frame Pacing is enabled
- Particle System does not resume when its Culling Mode is set to "Pause" or "Pause and Catch-up," and particle position simulate in world space