Search Issue Tracker

Fixed in Unity 2017.1

Votes

0

Found in

5.5.2f1

Issue ID

888048

Regression

No

Removing Particle System component from a GameObject that depends on a Renderer corrupts the GameObject

Shuriken

-

-

Priority: 3Not yet prioritized for a release

-

Severity: 1Crash or major loss of functionality

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.

Reproduced on:
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.