Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

[ 2021 ] Hierarchy PRO - Auto HighLighter

Discussion in 'Assets and Asset Store' started by mr_duke, Jul 2, 2017.

?

What kind of updates would you like to see for this assets?

  1. update for highlighter (interface, features)

  2. update for bookmarks (interface, features)

  3. update for project view (revert bottom, other features)

  4. update for top bar (position, features)

  5. update for right mods (display style, additional mods)

  6. other update (type what kind)

  7. fix bugs (type what kind of bugs)

  8. less price

  9. video tutoriasls, reviews

  10. site, help page, wiki page, documentations, etc

Multiple votes are allowed.
Results are only viewable after voting.
  1. oxysofts

    oxysofts

    Joined:
    Dec 17, 2015
    Posts:
    115
    Yea in 'Plugins' by default, otherwise we have to move it again every time there is a plugin update. Personally I think
    Assets/Plugins/Hierarchy PRO/
    would be best, but either is fine for me as long as it's in Plugins!
     
    Stexe likes this.
  2. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    Stexe and oxysofts like this.
  3. Stexe

    Stexe

    Joined:
    Feb 2, 2014
    Posts:
    189
    Either works, I just move all my assets into Plugins and restart Unity and haven't had issues before. I think just "Assets/Plugins/Hierarchy PRO/" would be the best though since it would be easier to see and find quickly.
     
  4. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    Update awaliable, but it's better to wait a while, because there're some bugs, that have not yet been published.
     
    Last edited: May 6, 2021
    oxysofts likes this.
  5. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    666
    I vote "Assets/Plugins/Hierarchy PRO", keeping it simple.
    Unless you are planning on moving your other assets there, of course.
     
    sipon likes this.
  6. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    Done =) "Assets/Plugins/HierarchyPro" (u5 and u6 will too)
     
    Stexe, sipon and dsilverthorn like this.
  7. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    666
    Thanks!
     
    mr_duke likes this.
  8. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    New update and restored bottombar are awaliable:

    upload_2021-5-6_17-4-48.png

    changes list [05/03/2021] 2021.1 u5: and changes list [05/06/2021] 2021.1 u6:

    new:
    • restored 'BottomBar' (very tasty, the new integration is perfect) =)
    //note that:
    //-asset moved from 'assets/emx/hierarchy pro' folder to 'assets/plugins/hierarchy pro'
    //-top menu items moved from 'windows' to 'tools'

    other:
    • added posibility to choose hot buttons which should be disabled
    • fixed lolbug 'highlighter' - doesn't apply values after last update (there were some performance improvements)
    • fixed autohide for' hypergraph' and other some hypergraph issues
    • fixed stupid infinity repaing for external mods (i replaces onup function with list, but forget to replace if == null to if count == 0 after the changing var type to list
    • fixed new undo for higlighter
    • fixed 'LastSelection' mod - combine selection after adding / 'LastSelection' mod improved performance
    • fixed autosave patterns
    • fixed copying bookmarks or scens list cache if you will copy your scenes cache to another folder in "Assets/..." (not move, moving works fine), so just restart the editor it will help
    • improved some initialization performance (reloading settings script after compilation)
    • fixed lastselection highlighting and buttons ordering
    • fixed generating duplicated names for menus of external mods like scenes or selection history
    • fixed multiply objects names for menus of external mods like scenes or selection history
    • fixed instancing on 'alt' for bookmarks and last selection
    • fixed scenec path tooltip
    • scenes icon moved back to left
    • fixed scroling if mouse hover header rect
    • fixed modules table window
    • fixed right modules header buttons position click for 2019
    • fixed little "WindowsReader" exception after the building project
    • and etc
    a bit:
    • fixed onselection change for 'bookmarks' if last selection disabled
    • fixed closing windows when disabling external mode
    • fixed drag rect for bookmarks
    • menu moved to tools category
    plans for the next update:
    • add mods such as bookmarks and last selection for project window
    • improve texture initialization time by cashing instance ids for session
    --
    • fixed color SET method (used for settings and presets of welcome windows) [important]
    • exception in bookmarks script (you may remove this little 'if' block, to fix it) [important]
    • fixed hypergraph scrolling, and few settings fields
    • fixed instancing for bookmarks and last selection (now it will be on 'alt')
    • fixed some icons and cursors
    • fixed input windows hiding hierarchy for 2021
    • fixed higlighter strange colors for disabled objects
    • fixed folders for project - clipping view rect flickering on open and then folders expanding
    • fixed highilghter possibility to disable shadow for icons
    • added font size for header labels
    • fixed field setting for highlighter - shadow for icons
    • added and fixed font size for hypergraph
    • added interface size for hypergraph
     
    Last edited: May 6, 2021
    Stexe and dsilverthorn like this.
  9. XCPU

    XCPU

    Joined:
    Nov 5, 2017
    Posts:
    144
    I assume it would be best to just delete the whole EMX folder, then import the newer update in /Plugins?
     
  10. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    Hi, if you remove emx folder, then you may remove your settings and cache too

    - if you want to use "assets/plugins" folder, you can move it manually (asset supports moving to 3rt pary folders)
    - if no, just keep the folder and import the new update, the update will not create the duplication of asset in the new "assets/plugins" folder, it will copy new files in your current folder "assets/_editor/utils/HierarchyPro" for example
     
    Last edited: May 6, 2021
    dsilverthorn and Stexe like this.
  11. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    FYI I removed it completely from my project and re-imported the latest update, getting this error at runtime:
    (note i deleted the example scene folders with scripts and its all good)

    [Exception] ArgumentOutOfRangeException: StartIndex cannot be less than zero.
    Parameter name: startIndex
    Rethrow as ImmediateModeException
    String.Remove() at <695d1cc93cca45069c528c15c9fdd749>:0

    HierarchyExternalSceneData.GetProjectHash() at /Plugins/HierarchyPro/Runtime/TempSceneData/HierarchyExternalSceneData.cs:320
    318: {
    319: // var path = Folders.PluginInternalFolder + SCENED_DATA_FOLDER + scene_path.Remove(scene_path.LastIndexOf('.')) + ".asset";
    -->320: var path = d + scene_path.Remove(scene_path.LastIndexOf('.')) + ".asset";
    321: return AssetDatabase.LoadAssetAtPath<HierarchyExternalSceneData>( path );
    322: }

    HierarchyExternalSceneData.GetHierarchyExternalSceneData() at /Plugins/HierarchyPro/Runtime/TempSceneData/HierarchyExternalSceneData.cs:225
    223: var scene_path = GetScenePath(scene);
    224: // if ( !descriptionWasSave.ContainsKey( sceneID ) ) descriptionWasSave.Add( sceneID, false );
    -->225: var result = GetProjectHash( ref scene_path);
    226: if ( !result )
    227: {

    HierarchyExternalSceneData.LoadObjects() at /Plugins/HierarchyPro/Runtime/TempSceneData/HierarchyExternalSceneData.cs:185
    183: {
    -->185: var file = GetHierarchyExternalSceneData(scene);
    186: /*if (type == SaverType.ModDescription)
    187: {

    HierarchyTempSceneData.__() at /Plugins/HierarchyPro/Runtime/TempSceneData/HierarchyTempSceneData.cs:326
    325: //LOAD DATA
    -->326: var LAODED = HierarchyExternalSceneData.LoadObjects((SaverType)t, scene);
    327: UnityEngine.Object[] result = new UnityEngine.Object[0];
    328: if ( LAODED.Length != 0 )

    HierarchyTempSceneDataGetter.GetObjectData() at /Plugins/HierarchyPro/Editor/Scripts/SavedDataScripts/HierarchyTempSceneDataGetter.cs:284
    282: var scene = _o.go.scene;
    283: if ( !scene.IsValid() ) return null;
    -->284: HierarchyTempSceneData.__( ref scene, t );
    286: return GetObjectData( type, _o );

    HighlighterCache_Colors.HighlighterHasKey() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/HighLighterMod/old/HighlighterCache_Colors.cs:103
    101: if (!cacheDichighlighter.TryGetValue(_o.id, out HighlighterResultOut))
    102: {
    -->103: var data = HierarchyTempSceneDataGetter.GetObjectData(SaverType.ModManualHighligher, _o);
    104: if (data == null || data.highLighterData.Length == 0 || data.highLighterData[0].TempColorData.Length == 0)
    105: {

    HighlighterCache_Colors.HighlighterHasKey_IncludeFilters() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/HighLighterMod/old/HighlighterCache_Colors.cs:123
    121: if (!skipManual)
    122: {
    -->123: manual = HighlighterHasKey(_o, mod);
    124: if (manual.id != -1) return manual;
    125: }

    HighlighterMod.DrawBackground() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/HighLighterMod/old/M_Colors_ModuleTexture.cs:1126
    1124: while ( parent != null )
    1125: {
    -->1126: if ( (child_Res = HighlighterCache_Colors.HighlighterHasKey_IncludeFilters( parent, NowPrefabIsOpened, this )).IsTrue( true ) )
    1127: {
    1128: if ( !SelectionRect.HasValue || set.HIGHLIGHTER_GROUPING_CHILD_MODE == 0 || child_Res.BroadCast == -1 )

    HighlighterMod.GetSavedColor() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/HighLighterMod/old/_4_ _ OnGUIDraw.cs:376
    374: {
    375: tempDynamicRect.o = h;
    -->376: return DrawBackground( null, null, tempDynamicRect, h, 1, resetFonts: false );
    377: }
    378: else return null;

    DrawButtonsOld.DrawButtons() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/TODO/DrawButtonsGuiOld.cs:824
    822: if ( ROW_PAR.DrawHiglighter && memoryRoot[ i ].IsValid() )
    823: {
    -->824: tempColor = adapter.modsController.highLighterMod.GetSavedColor( Cache.GetHierarchyObjectByInstanceID( memoryRoot[ i ].gos_get()[ 0 ] ) );
    825: }
    826: }

    LastSelectionHistoryModWindowInstance.DoLast() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/GameObjectsSelectionHistory/GameObjectsSelectionHistoryModWindowInstance.cs:286
    -->286: if ( !dob.DrawButtons( line, cType,
    287: // RowsParams[PLUGIN_ID.LAST].HiglighterValue
    288: /* &&*/ rowParams.BgOverrideColor.a != 0 ? Color.Lerp( Color.white, rowParams.BgOverrideColor, rowParams.BgOverrideColor.a ) : Color.white

    GameObjectsSelectionHistoryModWindow.ManualDraw() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/GameObjectsSelectionHistory/GameObjectsSelectionHistoryModWindow.cs:177
    175: /*controller.type = cType;*/
    176: controller.tempRoot = w;
    -->177: instance.DoLast( r, controller, Root.p[ 0 ].LastActiveScene );
    178: Root.p[ 0 ].RestoreGUI();
    179: }

    BottomBarExtension.DRAW_BY_INDEX() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/BottomBarExtension/BottomBarExtension.cs:735
    733: case MemType.Custom: BookmarksforGameObjectsModWindow.ManualDraw( ref line, p.m_custom, p.HierarchyController, p ); break;
    734: case MemType.Scenes: ScenesHistoryModWindow.ManualDraw( ref line, p.m_scene, p.HierarchyController, p ); break;
    -->735: case MemType.Last: GameObjectsSelectionHistoryModWindow.ManualDraw( ref line, p.m_last, p.HierarchyController, p ); break;
    736: case MemType.Hier: HierarchyExpandedMemWindow.ManualDraw( ref line, p.m_hier, p.HierarchyController, p ); break;
    737: }

    BottomBarExtension.NEW_BOTTOM() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/BottomBarExtension/BottomBarExtension.cs:686
    684: }
    -->686: DRAW_BY_INDEX( RowsParams[ i ], line, w );
    688: // if ( RowsParams[ i ].PluginID == PLUGIN_ID.BOOKMARKS ) w.HierarchyController.CustomLineRect = line;

    BottomBarExtension._draw() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/BottomBarExtension/BottomBarExtension.cs:373
    371: {
    372: //OLD_PAINT( selectRect, w );
    -->373: NEW_BOTTOM( p.o, p.window.bottomParams );
    374: }

    PluginInstance.gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:1014
    1012: if ( g[ pluginID ].BuildedOnGUI_last_butBeforeGL != null && EVENT.type != EventType.Layout ) g[ pluginID ].BuildedOnGUI_last_butBeforeGL();
    1013: gl.ReleaseStack();
    -->1014: if ( g[ pluginID ].BuildedOnGUI_last != null && EVENT.type != EventType.Layout ) g[ pluginID ].BuildedOnGUI_last();
    1015: // sended = false;

    PluginInstance.hierarchy_gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:595
    593: {
    594: pluginID = 0;
    -->595: gui( instanceID, ref selectionRect );
    596: }
    597: internal bool baked_HARD_BAKE_ENABLED;

    SceneHierarchy.OnRowGUICallback() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.DoItemGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.IterateVisibleItems() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.DoTreeView() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.DoSceneHierarchy() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    HostView.InvokeOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.DrawView() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.OldOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    IMGUIContainer.DoOnGUI() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.HandleIMGUIEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.DoIMGUIRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChainCommand.ExecuteNonDrawMesh() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChain.Render() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIRRepaintUpdater.Update() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    VisualTreeUpdater.UpdateVisualTreePhase() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.UpdateForRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.Repaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIElementsUtility.DoDispatch() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIEventRegistration.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    GUIUtility.ProcessEvent() at <6ddf8eac3856492ab1b8cf42618915cc>:0
     
  12. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    I was wrong... if I try to open the DontDestroyOnLoad during runtime, tons of erros:

    [Exception] ArgumentOutOfRangeException: StartIndex cannot be less than zero.
    Parameter name: startIndex
    String.Remove() at _695d1cc93cca45069c528c15c9fdd749_


    Exception: Cache not finalizing EMX.HierarchyPlugin.Editor.Mods.Mod_Descript
    Rethrow as ImmediateModeException




    [Exception] Exception: Cache not finalizing EMX.HierarchyPlugin.Editor.Mods.Mod_Descript
    Rethrow as ImmediateModeException
    RightModsManager.DrawModulesContent() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/RightMods/RightModsContentDraw.cs:94
    92: }
    -->94: if ( targetMod.CURRENT_STACK != null ) throw new Exception( "Cache not finalizing " + targetMod );
    96: } // foreach

    RightModsManager.Draw_Middle() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/Hierarchy Mods/RightMods/RightModsManager.cs:150
    148: if ( TEMP_HIDE ) return;
    149: // if (header_event_were) return; //maybe hot control warning ;; if no - uncomment
    -->150: DrawModulesContent();
    151: }

    PluginInstance.gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:998
    996: {
    997: if ( g[ pluginID ].BuildedOnGUI_middle[ i ].middle != null )
    -->998: g[ pluginID ].BuildedOnGUI_middle[ i ].middle();
    999: if ( g[ pluginID ].BuildedOnGUI_middle[ i ].middle_plusLayout != null )
    1000: g[ pluginID ].BuildedOnGUI_middle[ i ].middle_plusLayout();

    PluginInstance.hierarchy_gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:595
    593: {
    594: pluginID = 0;
    -->595: gui( instanceID, ref selectionRect );
    596: }
    597: internal bool baked_HARD_BAKE_ENABLED;

    SceneHierarchy.OnRowGUICallback() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.DoItemGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.IterateVisibleItems() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.DoTreeView() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.DoSceneHierarchy() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    HostView.InvokeOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.DrawView() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.OldOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    IMGUIContainer.DoOnGUI() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.HandleIMGUIEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.DoIMGUIRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChainCommand.ExecuteNonDrawMesh() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChain.Render() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIRRepaintUpdater.Update() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    VisualTreeUpdater.UpdateVisualTreePhase() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.UpdateForRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.Repaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIElementsUtility.DoDispatch() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIEventRegistration.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    GUIUtility.ProcessEvent() at <6ddf8eac3856492ab1b8cf42618915cc>:0
     
  13. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    @zKici, thanks. I'll get it fixed right away.

    Also, I'll add part of code, which would just disable the asset for a while, if something like this happens again

    ---

    I can offer the quick fix (but eventually it will be little complicated),
    so to fix this "DontDestroyOnLoad" problem
    please open "HierarchyPro\Runtime\TempSceneData\HierarchyExternalSceneData.cs" and add:
    this line:
    Code (CSharp):
    1.      if ( !p.EndsWith( ".unity", StringComparison.OrdinalIgnoreCase ) ) p += ".unity";
    to 333 or 335 line in the 'GetScenePath' method.

    The problem is that the DontDestroyOnLoad is a scene too, but path doesn't end wtih the ".unity" extension, but asset is trying to find a dot at the end of the file))
     
    Last edited: May 7, 2021
    Stexe likes this.
  14. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    Thanks I will try that fix, first I had to delete the whole asset as it was impossible to work with... I'll keep you posted later on
     
  15. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    It seems to be okay for now =) Thank you
     
  16. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    Well, more errors..


    [Exception] MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    Rethrow as ImmediateModeException
    Object.get_name() at <c7864a0eaeb24b2a999fb177623d54b4>:0

    EMX.HierarchyPlugin.Editor.Mods.DrawButtonsOld+GameObjectMemory..ctor() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/TODO/DrawButtonsHelperOld.cs:1305
    1303: }
    1304: if ( incr != 0 ) result += " + ";
    -->1305: result += go.name;
    1306: ++incr;
    1307: }

    DrawButtonsOld.GET_OBJECTS_LIST() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/TODO/DrawButtonsHelperOld.cs:443
    441: var temp = HierarchyTempSceneData.InstanceFast(scene);
    442: var res = new List<BookmarkRoot>();
    -->443: for ( int i = 0; i < temp.LastSelection_Temp.Count; i++ ) res.Add( new GameObjectMemory( temp.LastSelection_Temp[ i ].targets.ToArray(), i, -1, temp, type ) );
    444: cached_categories[ SH ].Add( (int)type, res );
    445: }

    LastSelectionHistoryModWindowInstance+<>c__DisplayClass5_0.<OnSelectionChangeStatic>b__0() at /Plugins/HierarchyPro/Editor/Scripts/ModsScripts/External Windows/GameObjectsSelectionHistory/GameObjectsSelectionHistoryModWindowInstance.cs:65
    63: if ( !skip )
    64: {
    -->65: var ex = DrawButtonsOld.GET_OBJECTS_LIST(cType, null, adapter.LastActiveScene);
    66: var res2 = Selection.gameObjects.ToDictionary(g=>g.GetInstanceID(),g=>g);
    67: GameObject[] res;

    PluginInstance.CHECK_ONESHOT_GUI() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:564
    562: if ( (EVENT.type == EventType.Repaint) && _oneShotGui[ pluginID ].Count > 0 )
    563: {
    -->564: foreach ( var item in _oneShotGui[ pluginID ] ) item();
    565: _oneShotGui[ pluginID ].Clear();
    566: }

    PluginInstance.gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:655
    653: modsController.rightModsManager.headerEventsBlockRect = null;
    654: HoverDisabled = false;
    -->655: CHECK_ONESHOT_GUI();
    656: CHECK_ONESHOT_GUI_FIRSTONLY();

    PluginInstance.hierarchy_gui() at /Plugins/HierarchyPro/Editor/Scripts/Root.cs:595
    593: {
    594: pluginID = 0;
    -->595: gui( instanceID, ref selectionRect );
    596: }
    597: internal bool baked_HARD_BAKE_ENABLED;

    SceneHierarchy.OnRowGUICallback() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.DoItemGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.IterateVisibleItems() at <e09fc44b2b464346872ad04477f51ab1>:0

    TreeViewController.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.DoTreeView() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchy.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.DoSceneHierarchy() at <e09fc44b2b464346872ad04477f51ab1>:0

    SceneHierarchyWindow.OnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    HostView.InvokeOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.DrawView() at <e09fc44b2b464346872ad04477f51ab1>:0

    DockArea.OldOnGUI() at <e09fc44b2b464346872ad04477f51ab1>:0

    IMGUIContainer.DoOnGUI() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.HandleIMGUIEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    IMGUIContainer.DoIMGUIRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChainCommand.ExecuteNonDrawMesh() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    RenderChain.Render() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIRRepaintUpdater.Update() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    VisualTreeUpdater.UpdateVisualTreePhase() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.UpdateForRepaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    Panel.Repaint() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIElementsUtility.DoDispatch() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UIEventRegistration.ProcessEvent() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2() at <6c6f6b8c83db428b9291ed876a84f98a>:0

    GUIUtility.ProcessEvent() at <6ddf8eac3856492ab1b8cf42618915cc>:0
     
  17. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    @zKici you can wait for the next update, it's already done. or if you want, you may find around the 1270 line in this constructor "GameObjectMemory" and insert this line:
    Code (CSharp):
    1. gosin = gosin.Where( g => g ).ToArray();
    before the this.CategoryIndex = CategoryIndex;
    it should look like:
    Code (CSharp):
    1. gosin = gosin.Where( g => g ).ToArray();
    2. this.CategoryIndex = CategoryIndex;
    (have to avoid checks for large arrays to improve performance, plus this script is the previous modified version)


    new u7 update commin soon:

    important:
    • fixed drag to last gameOjbect in the hierarchy if the bottom bar enabled
    • fixed multihierarchy windows issues
    • fixed exception for objects marked - DontDestroyOnLoad
    • added additional check for null in the bookmarks and the gameobject history mods
    • improved performance for bookmarks and gameobject history mods
    • added exception handling as option by deafult, now asset won't throw exception by deafult
    • exception will displayed as a simple log message once time
    • or you can completely disable any log from the hierarchy
    • added temperary disabling when exceptions are thrown in loops
    • fixed option - clamping graphic behind right modules for components icons
    • fixed option - clamping events behind right modules for components icons
    bottom bar improvments:
    • new icons for hypergraph
    • improved field displaying for hypergraph
    • buttons for bottom bar - left click show/hide function / right click - menu
    other:
    • improved settings navigation
    • disabled checking sriptable objects windows for settings by default
    • fixed loading function for sriptable objects windows method
    • fixed background and button colors for external mods like bookmarks or last selection
    • some fixes for GetTreeViewontroller method
    • fixed shadow for highlighter
    • fixed drawing textures with borders for auto higlighter window
     
    Last edited: May 9, 2021 at 6:03 PM
  18. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    293
    I'll wait for the update, hopefully takes care of most of the bugs so its functioning :)

    Thanks
     
  19. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    Well... a new, reasonably normal, update is ready. I'm glad it all worked out at last ))) It's the first time I'm enjoy about working with hierarchy, in years DD Thank you for your support gentlemen

    and, hierarchy by default won't throw exceptions:
    upload_2021-5-11_18-18-52.png

    and, bottom bar again ^^:
    upload_2021-5-11_19-0-41.png


    changes list [05/03/2021]:

    Changes list [05/11/2021] 2021.1 u8:

    - u8:
    • fixed right mod alignment issues
    • fixed window initializations after reload and switching
    • fixed highlighter opacity for bottom
    • fixed other bottom bar issues
    • fixed design for external mods
    • fixed search for memory info mod
    • fixed brodcasting flags for memory info mod
    - u7:

    important:
    • fixed drag to last gameOjbect in the hierarchy if the bottom bar enabled
    • fixed multihierarchy windows issues
    • fixed exception for objects marked - DontDestroyOnLoad
    • added additional check for null in the bookmarks and the gameobject history mods
    • improved performance for bookmarks and gameobject history mods
    • added exception handling as option by deafult, now asset won't throw exception by deafult
    • exception will displayed as a simple log message once time
    • or you can completely disable any log from the hierarchy
    • added temperary disabling when exceptions are thrown in loops
    • fixed option - clamping graphic behind right modules for components icons
    • fixed option - clamping events behind right modules for components icons
    bottom bar improvments:
    • new icons for hypergraph
    • improved field displaying for hypergraph
    • buttons for bottom bar - left click show/hide function / right click - menu
    other:
    • improved settings navigation
    • disabled checking sriptable objects windows for settings by default
    • fixed loading function for sriptable objects windows method
    • fixed background and button colors for external mods like bookmarks or last selection
    • some fixes for GetTreeViewController method
    • fixed shadow for highlighter
    • fixed textures with borders for auto higlighter window
     
    Last edited: May 11, 2021 at 10:07 PM
    dsilverthorn and Stexe like this.
  20. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    666
    Thank you for reviving it and keeping it alive for us!
    We all appreciate your work!
    Unity is incomplete without this up and running.
     
  21. mr_duke

    mr_duke

    Joined:
    Jul 19, 2013
    Posts:
    172
    @dsilverthorn, my fingers crossed, updates usually end in a complete mess lately ))
     
    dsilverthorn likes this.
unityunity