yasirkula / UnityRuntimeInspector

Runtime Inspector and Hierarchy solution for Unity for debugging and runtime editing purposes
MIT License
1.68k stars 135 forks source link

UnityException: Transform child out of bounds #2

Closed kefik closed 6 years ago

kefik commented 6 years ago

Hi! Great asset! And for free! I'm trying to make it work, playing with almost empty scene.

a) positioning inside canvas is off (I'm using Unity 2017.3.1f1), but that can be easily adjusted b) however, once I start inspecting the hierarchy of RuntimeHierarchy, which is ideal as it is deep, and I do some expand/collapse, the RuntimeHierarchyPool gets populated and if I try to expand RuntimeHierarchyPool it throws the following error

UnityException: Transform child out of bounds RuntimeInspectorNamespace.HierarchyItemTransform.GetChild (Int32 index) (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeHierarchy/HierarchyItemTransform.cs:101) RuntimeInspectorNamespace.HierarchyItem.Refresh () (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeHierarchy/HierarchyItem.cs:199) RuntimeInspectorNamespace.HierarchyItemTransform.Refresh () (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeHierarchy/HierarchyItemTransform.cs:52) RuntimeInspectorNamespace.HierarchyItem.set_IsExpanded (Boolean value) (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeHierarchy/HierarchyItem.cs:96) RuntimeInspectorNamespace.HierarchyItem.m__1 (UnityEngine.EventSystems.PointerEventData eventData) (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeHierarchy/HierarchyItem.cs:134) RuntimeInspectorNamespace.PointerEventListener.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Assets/Plugins/RuntimeInspector/Scripts/RuntimeInspector/Helpers/PointerEventListener.cs:27) UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:50) UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:261) UnityEngine.EventSystems.EventSystem:Update()

Any suggestions or workarounds?

Thanks!

kefik commented 6 years ago

Ah, I probably got it - never expands RuntimeHierarchyPool, I guess it tries to take a child from itself, causing the error?

yasirkula commented 6 years ago

That's right :) RuntimeHierarchyPool and maybe RuntimeInspectorPool can yield this exception when expanded in RuntimeHierarchy.

P.S. If you would like to hide them from RuntimeHierarchy, you can DontDestroyOnLoad them, as objects under the DontDestroyOnLoad scene are not visible inside RuntimeHierarchy.