Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Unity 4.5 New Hierarchy Window sorting

Discussion in 'Editor & General Support' started by Ben-BearFish, May 27, 2014.

  1. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,153
    With the release of Unity 4.5 it has a new Hierarchy Window sorting which seems to sort "based on transform order instead of name".

    I was wondering if someone might be able to clarify what transform order sorting means exactly as that description seems a bit vague and could mean any number of things?

    I also was wondering if there is an option to use the previous legacy sorting by name as currently the new system seems to disrupt the work flow of the project I'm currently working on due to our reliance on the name sorting.
     
    rakkarage likes this.
  2. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,153
    So it looks like Unity 4.5 has new functionality that allows us the overload how the hierarchy window sorts gameobjects in code using BaseHierarchySort which is mentioned here:

    http://docs.unity3d.com/ScriptReference/BaseHierarchySort.html

    Though I'm still unclear on how to implement it. Do we put our derived class in an Editor folder, or some other folder? Is there anything extra to set it up?
     
    rakkarage likes this.
  3. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    6,100
    The "upgrade guide" at the bottom of this page links to this docs page which gets you most of the way there. I don't see a way to actually set this class to take effect, which would be a good thing to add to the docs...
     
  4. leo-carneiro

    leo-carneiro

    Unity Technologies

    Joined:
    Sep 1, 2011
    Posts:
    48
    "based on transform order instead of name" means that you can order your objects around in anyway you want, and this is the new default behavior we are shipping with in 4.5.

    As you saw on the Scripting Docs you can create custom sorting for the Hierarchy as well. In that page you can see an example to bring back the old behavior of alpha numeric sorting.

    To make it work, just create the script inside the Editor folder, then you should see a new Icon at the top right of the Hierarchy Window.
    $hierarchy.PNG
     
    AndyMartin458 and AdrianJMartin like this.
  5. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,153
    The custom sorting is a really cool feature, though it might help if you guys have a tutorial video or explicitly state how to set this up for people who aren't aware of this. I only realized how to do this because I was part of the Beta and I checked in those forums. Thanks for the response.

    I think the upgrade guide can be easily missed, but hopefully people find this forum thread if they do miss it.
     
    Last edited: May 27, 2014
  6. jonazdk

    jonazdk

    Joined:
    Jan 26, 2013
    Posts:
    1
    That 'new feature' is super annoying. Is there any way to turn it off in the editor without resorting to scripting?
    (Sort of a leading question btw) ;)
     
    Last edited: May 27, 2014
  7. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    2,792
    EDIT: I see, you have to write an editor script to do that. It's a shame, I suppose, that the order got moved about on the upgrade,rather than starting out as alphabetical.
     

    Attached Files:

    Last edited: May 27, 2014
    Fowi likes this.
  8. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    6,100
    Read his post more carefully - that button appears only when you have another kind of sort somewhere in the project (it doesn't have to be in an editor folder, either).

    Here, I've put the sample code into a script file for script-averse types. Just download the attached script and drop it anywhere in your project. It'll compile, that new button will appear, and you can choose the AlphaNumericSort.

    There is a good point of feedback here, though - Unity's Standard Assets should probably be updated to include AlphaNumericSort.

    I for one am going to find this feature incredibly useful. Now I can sort objects based on how far through the level they are, for example, which is going to be really handy when laying out levels.
     

    Attached Files:

    Fowi, Rodolfo-Rubens, Velo222 and 3 others like this.
  9. OneThree

    OneThree

    Joined:
    Oct 28, 2011
    Posts:
    181
    Count me among the nonplussed: the presentation of this new functionality is completely lame. The benefit of custom sorting isn't offset by the annoyance of having to write a script to restore the previous behavior.

    One of the great things about Unity is how it empowers non-coders to create games. Defaulting to transform sorting (whatever that is) without an easy way to select alphabetical sorting is a real head-scratcher. User-unfriendly and tedious to undo.

    I'm sure many will appreciate the ability to create custom sorting, but it shouldn't have defaulted to a poorly-explained default without an easy way to preserve the kind of sorting that pretty much everyone is used to.

    StarManta, thanks for providing a script, by the way!
     
  10. element_wsc

    element_wsc

    Joined:
    Jul 27, 2012
    Posts:
    522
    you guys should try to get comfortable with the new system. uGUI will use the order of transforms to determine its Z order ( depth )
     
  11. Lightning-Zordon

    Lightning-Zordon

    Joined:
    May 13, 2014
    Posts:
    48
    Well, I'm impressed, this is quite a nice way to handle hierarchy sorting.
     
  12. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,114
    Completelly agree.
     
  13. aholla

    aholla

    Joined:
    May 27, 2014
    Posts:
    28
    What does this actually mean? My hierarchy is reordered but I do not understand how this relates to the transform order. I want my gameObjects to be ordered based upon their "z", it is not doing that.
     
  14. leo-carneiro

    leo-carneiro

    Unity Technologies

    Joined:
    Sep 1, 2011
    Posts:
    48
    Hmmm let me try to be a bit more clear here...

    So, for preparation to the new GUI system, we are now saving the index of each transform in relation to it's parent. So the default ordering is just using this index to order the Game Objects. That means you now have two options: you can manually re-order items in your hierarchy for your own needs by dragging them around and using the default sorting in the hierarchy, or you can write a script and have the script do the order in the hierarchy for you.

    We understand that it's a confusing change for people used to the way it used to work, but unfortunately is a change that is needed going forward.

    For now no system in Unity is using the transform index YET, GUI will be the first one to make use of this feature. But the API is fully exposed, so extension developers can make use of this feature for their own needs as well.

    @aholla: you can easily modify the example in http://docs.unity3d.com/ScriptReference/BaseHierarchySort.html to do that, something like this should order your GameObjects based on their transform.z (C#):
    Code (csharp):
    1.  
    2. using UnityEngine;
    3. using UnityEditor;
    4. using System.Collections;
    5.  
    6. public class AlphaNumericSort : BaseHierarchySort
    7. {
    8.     public override int Compare(GameObject lhs, GameObject rhs)
    9.     {
    10.         if (lhs == rhs) return 0;
    11.         if (lhs == null) return -1;
    12.         if (rhs == null) return 1;
    13.         if (lhs.transform.position.z > rhs.transform.position.z) return 1;
    14.  
    15.         return  -1;
    16.     }
    17. }
    18.  
    Note that while you can place this script anywhere in your project and it will work in the editor, it will probably throw some errors when building your game. So I would recommend putting those scripts inside a Editor folder.
     
    Manny Calavera and rakkarage like this.
  15. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    941
    I think just the notion of "Transform order instead of name" was really a bad way to say it, as transform order can mean a lot of things to different people.
    Now when you explained it, I know you meant the order in the array.

    I actually find this a welcome change. The ability to re-order is a nice feature.
     
  16. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    6,100
    "Manual reordering" maybe?
     
  17. aholla

    aholla

    Joined:
    May 27, 2014
    Posts:
    28
    Now I get it - awesome! I hated the alphabetical ordering.
     
  18. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,153
    Regarding manual reordering, it seems to be ok when loading and unloading gameobjects from scenes, but where it really seems to have an issue is when you LoadAdditive. Is there a way to control how the new gameobjects that come into the scene can be sorted by transform?
     
  19. kjuanlu

    kjuanlu

    Joined:
    Dec 4, 2011
    Posts:
    100
    To work with previous versions:

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using UnityEditor;
    4.  
    5.  
    6. #if UNITY_4_5
    7. public class AlphaNumericSort : BaseHierarchySort
    8. {
    9.     public override int Compare(GameObject lhs, GameObject rhs)
    10.     {
    11.         if (lhs == rhs) return 0;
    12.         if (lhs == null) return -1;
    13.         if (rhs == null) return 1;
    14.         return EditorUtility.NaturalCompare(lhs.name, rhs.name);
    15.     }
    16. }
    17. #endif

    Manual sort is great, maybe two lines to explain what "transform sort" is, it would be great for new users.

    Regards
     
    Ricks likes this.
  20. Screenhog

    Screenhog

    Joined:
    Jul 2, 2009
    Posts:
    496
    I'm going to have to agree with OneThree. While Unity may have good reasons to sort it in this manner, from my point of view it just went from "sorted" to "not sorted". Whatever nice things are happening on the back end because of it, it has the appearance of taking a step backward in functionality.

    Having other sorting options is fine, but please include some defaults.
     
  21. Minicades-Mobile

    Minicades-Mobile

    Joined:
    Sep 15, 2012
    Posts:
    15
    non-alphabetical sorting as default?! That's odd and annoying. Having to get a script to enable the option to put it back to how it was!? guys.........
     
  22. leo-carneiro

    leo-carneiro

    Unity Technologies

    Joined:
    Sep 1, 2011
    Posts:
    48
    @wheretheidivides: can you send us a bug report with the crash?
    We tried having the Alphabetical sort button always available in the editor, but with some usability testing and feedback from the alpha/beta group we found that it was best to remove it. The reason was that most of the users were just turning alphabetical sort on always, and then whenever they went to work with the GUI system they couldn't understand why their GUI elements were not being drawn in the order they were seeing in the Hierarchy.
     
  23. phil-Unity

    phil-Unity

    Unity UI Lead Developer Unity Technologies

    Joined:
    Nov 23, 2012
    Posts:
    1,126
    As of now now there is not. I believe that doing a LoadAdditive will place all the newly loaded Root GO's (those with no parents) at the bottom of the hierarchy.
     
  24. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    469
    Of course, in this case "writing a script" is literally copying and pasting code off the documentation into a file, adding "using UnityEditor;" and "using UnityEngine;" to the top and saving, so while it was possibly not presented in exactly the best way imaginable, it's not really a problem.
     
  25. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,545
    Does it mean we will get gameobject update order based on Hierarchy? If not, I really don't see the usefulness of this sort by transform to users.
     
  26. MikeEnoch

    MikeEnoch

    Joined:
    May 31, 2014
    Posts:
    6
    Doesn't providing the new sorting functionality and script just lead to the same problem in the long term though? Whether it's there by default, or given out as a solution to the legacy view order preference that some of us have, it's still going to cause problems down the line.

    It may have been better to provide a quick way of re-ordering the actual transform list instead of leaving it as-is and just changing your view of that list. Maybe a right click option in the hierarchy view, or in the edit menu, that allows you to re-order all the child transforms alphanumerically. That way legacy projects could have quickly re-ordered everything to be alphanumeric initially, and then gradually weened themselves off of that dependency over time (especially as they move on to using the new GUI system). Instead what you are going to have is the same misunderstanding, but in a more fragmented way.

    I actually like the new way of doing things, it makes sense, but it seems like this transition period for legacy projects could have been handled more cleanly. I'll probably end up writing my own scripts to do what I've described above.

    Is there an intended use for the hierarchy view sorting functionality beyond this issue? It seems dangerous to me to add that functionality if you're also starting to build features that rely on the actual order, because you are now letting people hide that from themselves.
     
  27. jonc113

    jonc113

    Joined:
    Mar 10, 2013
    Posts:
    10
    I've been a programmer for 30 years, using Unity for the last 3 and I thought I wasn't stupid. I know what an index is, what a transform is, and what a parent is, but I have no idea what the "index of a transform" is or how that relates to the parent - and what if there is no parent? Devil_Inside say it's
    I know what an array is, but what array is he talking about? I've traversed through this new sort and I can't detect a pattern - it seems random. So, please explain what
    means, because I'm sadly lost...

    Last question - if you manually reorder, won't that also mess up the new GUI system?
     
  28. superpig

    superpig

    Quis aedificabit ipsos aedificatores? Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,140
    Each transform has an array of child transforms, i.e. somewhere inside the Unity source code you've got the equivalent of:

    Code (csharp):
    1.  
    2. class Transform
    3. {
    4.    ...
    5.    Transform[] children;
    6.    ...
    7. }
    8.  
    The 'index of a transform' refers to its position within that array.

    Depends on whether your manual reordering is inconsistent with the Z-order that you want...
     
    rakkarage likes this.
  29. nickfourtimes

    nickfourtimes

    Joined:
    Oct 13, 2010
    Posts:
    129
    I get the use of the manual sort feature, though I'm not seeing any advantage myself. And it's super tedious that my Hierarchy got completely scrambled on the upgrade but I guess ¯\_(ツ)_/¯

    What bothers me though is that my Hierarchy doesn't actually seem to be saving properly. I'll rearrange things (mostly alphabetically, to be honest), save, then reload the editor later and find that my changes don't persist. That, uh, seems to run contrary to the spirit of manually ordering my gameobjects.
     
  30. metinevren

    metinevren

    Joined:
    May 17, 2014
    Posts:
    16
    I don't have that button in my hierarchy window. What can I do? My objects are all scrambled. I can't find a thing!
     
  31. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,078
    Why not just make something that order by transform if its parent has a canvas component? Otherwise, order them alphabetical?

    @leo.carneiro Also, a bit out of subject: it would be hard to implement a virtual folders system for the hierarchy? Is it possible to do without a plugin?
     
  32. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    740
    UT... you actually came up with a sorting method that makes alphabetical... depreciated. A true mechanim moment.

    You can almost imagine the meeting where everyone sat down nodded and said "Yeah...no one would want their child objects alphabetical anyway...right? This is so much better."
     
  33. metinevren

    metinevren

    Joined:
    May 17, 2014
    Posts:
    16
    Who in their right mind would think of giving up alphabetical ordering?
     
  34. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    740
    This sounds like a shortcoming in the code/coders, not the user. Can anyone think of any....any software company, QA manager or paying client that would approve this mildly insane hodgepodge solution? I get what you're saying. But the fact that UT couldn't figure out how to avoid user confusion is not a reason to depreciate Alphabetical order. Wow...
     
  35. meat5000

    meat5000

    Joined:
    Mar 5, 2013
    Posts:
    118
    The idea of ordering GameObjects according to their appearance order along a particular axis does sound most useful. Or radius from a centre-point.

    Keeping a fallback of Alphabetical could also be useful. e.g a number of objects are all the same distance from the centre point. These objects are listed alphabetically and between objects closer and further away.
     
  36. aresgameshk

    aresgameshk

    Joined:
    May 19, 2014
    Posts:
    30
    The new hierarchy sorting is causing a lot of problems in terms of editor performance. If you have a very large scene and multiple hierarchy window, the sorting is enough to freeze the editor for long periods of time.

    I have tested the same scene with 15000 empty gameobjects in 4.3 and 4.5 and the result was an instantaneous response in 4.3 and a 1 minute 40 seconds freeze on 4.5. (for more info: http://forum.unity3d.com/threads/unity-4-5-hierarchy-window-causes-game-view-lag-issues.248944/)

    4.5 is currently unusable for scenes with > 5k game objects unless you manually close or hide the hierarchy window(s).
     
  37. aresgameshk

    aresgameshk

    Joined:
    May 19, 2014
    Posts:
    30
    Why not give us both options as 2 windows. SortedHierarchy and UnsortedHierarchy, Unity boasts an extremely customizable editor right? This would solve a lot of problems, without the issue of sort button or not, those that wish to use a sorted can do so, and those that have issue with the sorted version can go on their merry way as well?
     
  38. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    3,549
    This really is annoying. Having to put a script IN EVERY PROJECT is a complete and total fail reminiscent of the good old Unix Haters Handbook. I'm getting sick of dealing with it.

    When you go to the Project pane, you find things alphabetically.

    When you go to the Hierarchy pane, why should it be different? It's foolish and annoying that the default is anything other than what it has always been, than what the Project window still is.

    And the fact that it changes dynamically as things are added and removed is an even WORSE fail.

    Has anyone written a Python script to go and "inject" this script into every unity project it finds on your hard drive? I'm seriously getting tired of doing it by hand.

    Please, just turn the Hierarchy pane sort back to the way it has always been, and if you must, put a button somewhere that we can enable IF (and ONLY IF) we happen to need to use the new GUI.

    Here's an excellent idea: make it exactly as non-intrusive as the 2D/3D button. That thing is NEVER a problem... because I don't use it. This shouldn't be any different.

    Thanks,
    Kurt Dekker
     
  39. toto2003

    toto2003

    Joined:
    Sep 22, 2010
    Posts:
    501
    agtreed really annoying, please give back our old hierachie!
     
  40. aresgameshk

    aresgameshk

    Joined:
    May 19, 2014
    Posts:
    30
    I think the issue is beyond ease of use or user friendly-ness.

    The fact is this is a broken feature because of the performance issues. Even with the alphabetical sorting override implemented, the performance problem still exists.

    With the launch of this feature in 4.5, Unity now no longer supports large scenes and/or multiple hierarchy windows.


    So much for saying bringing AAA capabilities, if you cant even have a scene with 5-10k objects without freezing the entire editor.
     
    Last edited: Jun 3, 2014
    Recluse and outtoplay like this.
  41. bluescrn

    bluescrn

    Joined:
    Feb 25, 2013
    Posts:
    466
    For anybody who's dealt with z-ordering in NGUI, particularly older versions, this change should be quite welcome!
     
  42. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    740
    This new 'Default' ordering is not a plus. At best, it should be an option, should someone need to use it. I can't believe you adopted this without community input... just wow.

    This is not a casual change....it's fairly significant. There may be some 'uniquely convenient' situations where this sorting scheme might be handy. But no sane individual could argue that this is a preferred method of sorting objects as DEFAULT.

    It feels like there is a massive shortcoming/problem in the new GUI implementation that required this new default sorting, and we may in fact be stuck with it because the engineers can't solve it. That sucks.

    UT wanted to know what would make things better? Come clean on this... Is there an inherent flaw in the implementation of the new GUI system that forces users to possibly live with this unwelcome sorting order scheme?

    If there isn't something significantly broken, and you think a non-alphabetical default sorting order is a good thing, you are sorely out of touch with users (one fellow's opinion, of course), and Every other professional software I have ever used.....ever.
     
    Heitor Almeida Click and Recluse like this.
  43. IsaiahKelly

    IsaiahKelly

    Joined:
    Nov 11, 2012
    Posts:
    293
    Then I guess that means I'm insane. :p

    I've always disliked it when objects got automatically reordered every time I added something to the scene. Always having to rename things so they appeared at the top, etc. This fixes all that!

    I do, however, think there should be some kind of "built-in" alphanumeric sorting option. Maybe you can just disable alphanumeric sorting for uGUI elements, so users don't get confused?
     
  44. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    6,100
    You could use GetComponentInParent<Canvas> (or something like that, I don't have 4.6), and if it's found one, then you sort by transform index order, otherwise sort by name. Custom sorting functions have lots of power to tap.
     
  45. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    740
    Perhaps insane was a bit much. And although the usage you mention is certainly handy, make it default? The asset menus will still be alpha, so you'll be looking at one list that was manually sorted, the other alpha. That should be fun if you have 500+ objects, or the poor fellow above who mentioned 10,000+. It should be a useful option, not default behavior. (Most devs I'd imagine name their gameObjects pretty carefully as they work. Need to find, ExplosiveAmmoDump135, bet it's near ExplosiveAmmoDump134 & ExplosiveAmmoDump136.

    I like this 'option', quite a bit. Being able to drag your GUI into the order you wish to see it could be appealing. But not at the cost of default Alpha sorting. The real question again, is why MUST it be this way. I've hired enough contractors (digital and house construction), to get a sense when someone is trying to whitewash an inadequacy. "Yeah, those kind of windows are suppose to open like that. Upside down the new in style."

    This feels forced. I can see folk defending it, but does anyone actually think this was the design from the start or a way around a flaw?
     
  46. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    6,100
    I think UT saw that people kept renaming and prefixing their object names with spaces and numbers to get them to sort the way they wanted them to sort, and saw this as a problem to be fixed (in addition to needing drag-to-reorder for uGUI).

    And adding extensibility in the form of scripting a custom comparer is, frankly, a stroke of brilliance. I've been sorting my sidescroller by X Position, and it makes it stunningly easy to find the exact one of the 30 identical objects I want to reference. I've also written a sorter that puts cameras and singletons at the top of the hierarchy then sorts everything else by name. The versatility of this feature is crazy.

    The only thing UT did wrong in this, IMO, is not being clear about the sorting front and center of the changelog, and not providing a link to download the AlphaNumericSort script easily.
     
  47. chargedneuron

    chargedneuron

    Joined:
    Jan 12, 2013
    Posts:
    20
    Not that my opinion counts for much but I have two comments;

    a) I can understand the need to manually sort GUI elements. How about a special GameObject (or folder) called "GUIObject" who's children are not alpha sorted, leaving the other game objects sorted as expected...

    b) get a new alpha/beta tester team...
     
    outtoplay likes this.
  48. leo-carneiro

    leo-carneiro

    Unity Technologies

    Joined:
    Sep 1, 2011
    Posts:
    48
    @rodolfo_r : I don't think there are enough exposed APIs to do the virtual folder in the hierarchy in a clean way. It's common to use an empty GameObject as a folder. Have you hit any issues with this approach?

    @Kurt Dekker : We actually would like people not to use alphabetical sorting going forward, the only reason we provided a way to use alphabetical sorting through a script is for legacy projects. But we actually expect that after this initial transition period, users will come to terms with the manual sorting, and new projects will not have the need for this script.

    @Ares Games : Please file a bug report, are you seeing issues only when using the Alphabetical sorting, or even with it disabled?

    @outtoplay : There is no inherent flaw n the new GUI System, this has been designed to work like this since the beginning, it was one of the issues GUI extensions on the Asset Store had to work around, and the users hated the workflow. And if you used Flash, Photoshop, Maya, Blender, basically most visual content authoring software, you should be used to manual sorting by now.

    @chargedneuron : a) Its often better to deliver one consistent 'way of doing things', than special case objects in the same list, having this two ways to order inside the list, users would have to actively think about which areas of his hierarchy are reorderable and the ones that aren't. b) The alpha/beta team is actually community members, they are not Unity employees :)
     
  49. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,078
    @leo.carneiro no problem at all, it's because sometimes this is not the best thing to do because of the transform component. That was already discussed here, but it's all good!
     
  50. IsaiahKelly

    IsaiahKelly

    Joined:
    Nov 11, 2012
    Posts:
    293
    There's definitely advantages and disadvantages to both automatic alphanumeric and manual transform sorting. Let's look at the trade-offs:

    Automatic Alphanumeric sorting:
    • Advantage - Automatically keeps the hierarchy organized by name.
    • Disadvantage - Can't manually reorganize the hierarchy, forcing you to use special naming conventions to customize the order.

    Manual Transform Sorting:
    • Advantage - Allows you to sort and customize the order any way you like.
    • Disadvantage - Hierarchies can become cluttered and disorganized quickly with no way to automatically organize them.


    Alphanumeric sorting is great in a lot of ways, but why exactly does it have to be automatically enforced? I think this might be the key problem here.


    Instead of forcing people to choose either automatic or manual sorting, you could simply keep the manual ordering as default, but provide a button that would allow you to manually reorganize all or just the selected content in the hierarchy, alphanumerically. This option would actually change the transform order, but based on the alphanumerical values. Giving you the best of both worlds; allowing you to automatically reorganize the hierarchy at anytime, but also manually change it afterwards.


    This feature could be further extended by allowing people to choose between ascending or descending order when sorting and you could also include a special tag called "don't sort" that could be applied to objects so they are never affected, including the new uGUI elements. You could even create a weight tagging system (e.g. 0-25) to allow for semi-automatic sorting based on weight.


    Project Upgrade fix

    It sounds like the hierarchy in a lot of projects upgrading to 4.5 are becoming completely unorganized messes. I think this may be the main source of anger concerning the sort change.

    I think this is because the old way of sorting was only really a visual thing, meaning it did not represent the true transform order. So when people upgrade their projects all they see now is the true and completely unorganized transform order.

    A way to fix this might be to ensure upgraded projects have their transform order reorganized based on the alphanumerical values to preserve the old hierarchy layout. This would be very similar to the manual alphanumerical reorganizing option suggested above.
     
    Last edited: Jun 4, 2014