Hello friends. I’d like to present to you a small tool I’ve made to improve my workflow with Unity and so yours too.
Hyperview is a custom hierarchy viewer based on nodes listed on horizontal layout.
It is a visual centric version of Unity’s hierarchy view, designed to work on Unity and Unity Pro 3.5 up to 4, with custom navigation and custom shortcuts;
Perfect for users working on environments where you have more than one desktop screen. Have a look:
º You can zoom in and out. º You can favorite object groups to have them isolated on your panel. º You can right-click an object to quickly add components. º You can double-click to rename it faster. º Etc and etc, the list goes on. It is free, just download it and check it out!
Also, if you are using Unity 4, you will have beautiful icons on your nodes so you can visually locate an object much, much faster.
To download free version, go here:
If you think you might support this tool or you feel like you can improve it for your own needs and quickly extend its functionalities, go here:
There is new version waiting for review.
Submitted 1.03 to AS with a fix for the fav panel; in earlier versions it is prone to crashes in giant scenes with too many gameObjects.
As requested by a friend on twitter, I decided to work on an new option; using asset previews as icons on the hierarchy view if the object originates from an asset or prefab:
I will release this version soon. Unfortunately we can’t zoom when this is enabled or things start to get weird on screen
The problem is Unity will return a fixed preview of 128x128 and image can’t be bigger than that unless I re-construct the texture, but doing so is too much expensive to be considered as an option because the panel is re-constructed every time hierarchy changes.
I’ve already fixed the math problem related with zooming previews, working now on a not expensive way to resize asset preview when zoom changes.
Edit: Done!
On big zoom in, previews will be stretched images though.
I have a necessity in my projects of listing components too instead of only game objects.
I need a way to find, click and edit a material right there in the panel instead of looking for an object which contais that material, than searching for the material in Inspector. ( Maya way again )
So I will soon add a panel to list and select any material used in the currently open scene. That goes on messing with project assets and comparing instances so I need to make sure I will not screw up any asset haha. Till later!
Hi Lars; I plan on doing that. I just don’t know yet if I add a panel for each type of component or just filter hierarchy using a enum mask field to filter existing panels.
Or maybe using the search convention “t:type name” in search field.
Right now I am building a preview cache system because when I duplicate a gameObject, the instance forgets which asset its parent is and the preview is gone. Weird internal Unity stuff.
Edit: preview cache ready in source version, but I will need to optimize the free version to make sure it will not leak textures; converting to the free version takes a bit of step so I will not upload this for now.
I’ve also removed that extra space in canvas caused by maths for the panel’s grid.
Removed menu buttons for manipulating grid size because became obsolete.
I’ll work on that function to filter objects by component, but I fear that may be not possible to draw hierarchy trees when this kind of filter is active. Lets see
Edit:
Just as I though; to draw the hierarchy while filtering objects by components is extremely buggy. All I could do is add the “t:type” option to the search field, just like Unity’s hierarchy panel do.
At this case I will re-compile the free version with the portrait mode code and upload to you guys. Have fun, I need now to work on the Materials panel
Oh well… I was compiling the code for the free version and after trying many things I am sorry to tell ‘Portrait Mode’ for nodes just won’t work on a DLL.
Asset previews are very limited and buggy on Unity side and an imported DLL can’t make proper use of that in every Unity version. So I won’t focus much on this. The only Unity I could make it work with compiled code is Unity 3.5.3.
None of 4 versions draw anything, unless the code is compiled into the native project’s editor dll. Because of that I can’t also clean leaked textures generated for the thumbnails so eveything goes agains’t this function for closed version;
I will upload 1.0.5 with portraits fully implemented. If you manage to make it work, lucky you; In all machines I tried, only the open code generates the thumbnails.
Guys, after crawling around using reflection I was able to make thumbnails work on all targeted Unity versions for now
I uploaded 1.0.5 to Asset Store; However, the way I found to do it was building a separate version for Unity 4.
It is inside a zip file, if you are using Unity 4, delete the default dll and unzip the ‘HyperviewUnity4’ file and portrait mode should work fine with that version. Have fun!
Hello. 1.05 with thumbnails update is up on Asset Store!
And this is what I’ve been working on for 1.06:
First utility panel coming out in few days. This is personal need of mine, it lists all materials in all game objects currently used in the open scene, instead of listing everything from the entire project:
Still need to add actions to the buttons, I’ve just started working on it.
As requested by a user with slower machine, for 1.06 I will also add a button in options menu to freeze hyperview when in playing mode, to make sure the editor will expend all resources rendering the game window only.
To let the nodes be drawn again while in play mode you just hit the pause button.
Well, the materials inspector is already done with the basic functionality I need, also made another panel to list AudioClips in current scene too.
Both have the option to select all game objects in scene using that particular asset; these panels have shortcuts to quickly rename and duplicate selected assets too, and you can enable automatic framing of game objects in scene using these assets:
Edit:
Felt like I had to add another utility panel to quickly navigate MonoBehaviours used in current scene too.
This one was kinda tricky to do:
Will take some time to convert new source to the free version, so after uploading 1.06 I will hold expansion for a while and focus on game projects (I was requested to learn Scaleform for a project). 1.06 is already all I need for a while, shipping all features I’ve always missed in Unity’s UI. However, we always have sundays so if you ppl have a great idea you think it must be in there, just let me know, if I think it’s possible for me to do, why not
Starting to convert the new source to the free package right now, till later pps!
Friends, I’ve uploaded 1.06 to Asset Store.
It will be available as soon as UT makes sure it won’t explode your computers
The option to select game objects containing the selected material or script/audioClip is one of those things I don’t understand how I could live without for soooo long. Hope you guys enjoy, good luck on your projects!
The only thing I would change is the selection highlight color, at the moment it seems a little busy and out of place in the Unity interface.
Perhaps make it just a simple color highlight not a gradient with many colours.
Thanks!
Yes it’s personal taste, my comment is not meant about what looks better it’s more about what matches the current Unity interface conventions, and it felt a little out of place for me. I’ll gladly pickup the source version and change it for myself.
Oh, this is good. I thank you very much for that. I just have to warn you that since I’ve added tons of new funtions, I had no time to update the code’s docs;
So if you try to expand the tool and run into any trouble don’t hesitate to email me and I will do my best to help! Currently I’m just messing around with Scaleform, weird plugin. Thanks too for rating on Asset Store, it really helps! After that, shy users are quietly downloading hyperview everyday
Hello!
I’ve got some emails reporting that when we load a new scene or change hierarchy while Hyperview is a hiden tab, its hierarchy list won’t update; That is right, it can’t update while the panel is not running at all 'cause it is hidden, thus it was forcing some users to re-open the panel…
I’ve just forgot to check that so, to have a quick fix you guys using the source code just add to Hyperview.cs at line 117 or so:
Edit: I’m sorry for a bit outdated documentation of source code, documenting code needs so much time, if any other issues you guys can contact me directly. Cheers!