Search Issue Tracker
Fixed in Unity 2017.1
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.
- [CustomEditor] MissingReferenceExceptions are thrown when building a player when a GameObject is selected in the Hierarchy
- [Android 9] GL_INVALID_OPERATION thrown when texture.ReadPixels is called
- [Android] Gradle build system does not escape backslash character on Keystore alias password
- [Android] Texture being misread in follow up blit on Adreno 630 when blitting zero alpha into texture
- Particles are spawned in the incorrect position in Play mode when specified rotation is not along only one axis