- Home /
Internal Unity crash during UnloadGameScene (2017.2.0f3 )
We have a complex game that's ready to ship, but unfortunately encounter a semi-frequent internal unity crash when unloading a scene. We filed a bug a couple of weeks ago but have had no response from Unity so I'm guessing they don't know this one yet. Our scenes are composed mostly of instantiated prefabs (and the same scene is used for all game boards apart from the level selection screen.)
The call stack shows the application in UnityPlayer.dll!TransformInternal::DestroyTransformHierarchy()
> UnityPlayer.dll!TransformInternal::DestroyTransformHierarchy(struct TransformHierarchy *) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!Transform::MainThreadCleanup(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!delete_object_internal_step1(class Object *) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!CommitBatchDelete(struct BatchDelete &) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!DestroyGameObjectHierarchy(class GameObject &) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!DestroyObjectHighLevel(class Object *,bool) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!UnloadGameScene(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!LoadSceneOperation::PlayerLoadSceneFromThread(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!LoadSceneOperation::IntegrateMainThread(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!PreloadManager::UpdatePreloadingSingleStep(enum PreloadManager::UpdatePreloadingFlags,int) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!PreloadManager::UpdatePreloading(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!PlayerLoop(void) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!ScreenManagerWin::`scalar deleting destructor'(unsigned int) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!TitleBarTimerUpdateCallback(struct HWND__ *,unsigned int,unsigned int,unsigned long) Unknown Non-user code. Symbols loaded.
UnityPlayer.dll!_UnityMain() Unknown Non-user code. Symbols loaded.
Any ideas or experience in this matter would be greatly appreciated. We've suspected lights attached to transform hierarchies and seem to get this bug less if we remove many lights and particles, but it's unclear if this is simply a matter of reducing the number of game objects that may be affected.
It would be really useful if we could somehow inspect the memory of the offending object the internal unity call is dying on so maybe we'd have a smoking gun, but that's not possible AFAIK.