Search Issue Tracker
Fixed in 2018.1.X
Votes
1
Found in
2017.1.0p4
Issue ID
946988
Regression
Yes
SceneManager.sceneUnloaded gets called when interacting with objects using materials in Editor
Steps to reproduce:
1.Open attached ‘sceneunloaded.zip' Unity project
2.Enter Play mode
3.Select ‘Cube’ object in Hierarchy
4.Select any different object in Hierarchy
Expected results:
Nothing unusual happens
Actual results:
SceneManager.sceneUnloaded function is called and a Debug message is displayed in Console
Reproduced in: 2017.3.0a6, , 2017.2.0b10, 2017.1.1f1, 2017.1.0f1, 2017.1.0b2
Didn’t reproduce in: 2017.1.0b1, 2017.1.0a1, 5.6.3p2, 5.5.4p4
Regression introduced in: 2017.1.0b2
Note: The function is called twice when MeshRenderer/SpriteRenderer/etc material is changed. Updating of materials might be the cause of this issue.
Comments (5)
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Arkade
Jan 25, 2018 12:45
I'm seeing this in 2017.3.0f3. It isn't completely clear which version the "hotfix" went into. Also no link to the hotfix here or in the linked thread that I could find. (sorry if I'm being blind)
JimHL
Dec 13, 2017 03:17
Edit: It's not work!, select to particle and it's still fire the bug!
JimHL
Dec 13, 2017 03:04
Hot fix by @hatsuko work like a charm! Thanks!
Peter77
Dec 07, 2017 08:05
Related forum thread:
https://forum.unity.com/threads/scenemanager-sceneunloaded-gets-called-in-editor-when-selecting-materials.491999/
Hatsuko
Dec 02, 2017 14:14
In case somebody needs it
void OnSceneUnloaded (Scene scene) {
#if UNITY_EDITOR
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
System.Diagnostics.StackFrame sf = st.GetFrame(st.FrameCount-1);
if (sf.GetMethod().Name == "OnDisable") { // Or sf.GetMethod().DeclaringType == typeof(UnityEditor.MaterialEditor)
Debug.Log("Bug!");
return;
}
#endif
Debug.Log("Do something...");
}