Search Issue Tracker

Status: Fixed in Unity 5.6.0

Votes

0

Found in

5.5.0p1

Issue ID

860750

Regression

Yes

Unloading Scene destroys runtime created objects, when the same scene has been loaded multiple times additively

Asset and Scene Management

-

-

Priority: 2Necessary for shipping a final release

-

Severity: 2No workaround

To reproduce:
1. Open project that i attached "unloadScene.zip"
2. Open "TestCase1" scene, and play it.
3. Look at the Hierarchy. "TestObject" got destroyed, only "SCENE obj" is left.
4. Stop the "Play mode".
5. In "TestCase1" select "Script" object in Hierarchy. In "Test Script" component, "Scene 2 Name" change from "EmptyScene1" to "EmptyScene2".
6. Play scene again.
7. In hierarchy "TestObject" is not destroyed.

Actual result: When multiple copies of the same scene are loaded using "LoadSceneAsync" and one of them is unloaded using "UnloadSceneAsync" or "UnloadScene", it also destroys runtime created objects.
Expected result: When "UnloadSceneAsync", or "UnloadScene" is called, it only destroys objects which were associated with that scene.

//Reproduces when game object is created with "new GameObject", or with "Instantiate".

Reproduced with: 5.5.0f3, 5.6.0b1
Not reproduced with: 5.4.2f1 //In 5.4 there was only "UnloadScene" but not "UnloadSceneAsync", although the description is the same.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.