Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

My biggest pain points

Discussion in 'Editor Workflows' started by chrisk, Sep 11, 2018.

  1. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, guys,

    I'm a very old Unity user from the 2.0 days and I recently start using Unity again and I think there are some serious usability issues with Unity that still hasn't been fixed.

    In short, Unity is really fun to use but at the same time, it is very painful to use in many ways. I had to mention it here because it seems that no one(in Unity) really cares enough about it, otherwise, how could it be the same still after ~10 years? I really hope that something can be done about it. The following pain-points are something I can get around if I implement something or find some assets that do similar things. But it's fundamental feature for any editor and if everyone can benefit, Unity should have it built-in to save many users from the pain looking for solutions or workaround.

    Unity started with "Simplicity" in mind, but Simple doesn't mean it's Easy. Simple editor with Simple project works quite well but with the advent of many new features lately, putting everything into the dropdown menu and one gigantic Inspector will no longer work. Focusing on Performance is good but Unity should focus also on Ease-of-Use equally as much. I think the good example is Unreal. It's not a Simple engine but they are much Easier to use in many ways and things work much more as expected. The followings are my biggest pain points and I hope someone who is responsible for the Editor workflow, will take a look and do something about it soon rather than another 10 years later.

    1. Camera Speed Control. Now a days, we are working on large scene with small objects in it. Camera speed control in fly-through is a must to be able to move around the scene. The way it's currently designed is simply utterly unusable. Dunno who designed it but I can only think that he/she never developed a large scale game him/herself, otherwise, it's impossible to come up with such an unintuitive solution.
    Here is the Feedback with 600+ votes.
    https://feedback.unity3d.com/suggestions/editor-camera-speed-must-be-configurable?page=1
    This will require a couple of hours of implementation.
    Please save yourself from the shame and support this feature.

    2. Multiple Inspector(This is my biggest pain points). Having one global Inspector for all windows is simple not acceptable anymore. Again, this is for days when you have a simple project and don't need to CopyPaste/Compare objects side-by-side as much. In the ideal editor, each window needs to have its own custom Inspector. Dual monitor is pretty much common nowadays and we can afford a lot more screen space now. If each windows having its own Inspector is not easy to implement, please consider Inspector to support Context Lock. Instead of the current Locking system, you lock to the context. The context can be either Object or Window. If you lock to an object, the inspector will respond to the changes of the object and its child objects only, but not outside of the parent object. Likewise, if you lock to a certain window, it will respond to changes to that window and nothing else. This is way it better than the current Lock systems when you manually lock an object to compare side-by-side. First of all, I don't really understand why you have to lock. When you have two Inspectors up, you can make the last active Inspector repond to selection, not both of them at the same time. Who needs to see duplicated contents on the two Inspectors?? This way, we don't at least have to lock it to have the two Inspectors to show different content. We can save lock for the more permanent lock where you want to keep it locked for a long time, not for a temporary side-by-side comparisons. This once again, I don't think the developer really have developed a game using his/her own inventions. Anyway, having each window its own Inspector will reduce the mouse movement a great deal and we don't have to constantly go back and forth between the object for CopyPaste. Speaking of going back and forth, here is my next biggest pain points.

    3. Support Forward-Backward key (mouse forward-backward key). The only way is to go back is by Ctrl-Z but it's Undo not really go Backward. Current Unity workflow requires many go Back and Forward because there is only one global Inspector, having Forward-Backward key mapping will help a little. Please view the editor as a browser system. When you already have Undo, go Foward-Backward would be easy to implement. I really cannot understand why no one raised a flag within Unity. Is there anyone who is in charge of Editor workflow? He/she should be ashamed of him/herself not eating his/her own food.

    There are more I can list(I have quite few things to say about Animation and others) but I want to focus on something everyone can easily benefit first.
    Unity has gotten much better in term of Engine but as an Editor, it's pretty much the same as 10 years ago. In terms of the workflow, it is not well designed and many seem like WIP, yet it stays that way forever. You make a simple design change, like a dockable window or something and it's becoming a part of keynotes. It's very laughable and I expect Unity, as a big company, should do a lot more. Please focus on Ease-of-Use and making it more intuitive to use. Please remember Simple and Easy are not the same. People commonly misunderstand that it is easy because it's simple. I agree when you are making a simple game but we are not. I hope Unity is not also confused and I really hope Unity one day start making on a large scale game themselves to learn where the pain points are. If not, there are tons of good suggestions in Unity Feedback. If you are not going to read, why bother asking for feedback? It's easy to say "please give us feedback" but if you are not going to do something about it, why bother?

    I know it sounds pretty harsh, but I'm not the only one who feels this way. Well please think it as I really care. I really like Unity and hope it's the only Engine I have to use.

    Cheers!
     
    SirIntruder, deus0 and transat like this.
  2. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,283
    I second the inspector suggestions. especially forward and back. There is a selection history plugin somewhere that kinda does it, but it'd be nice if it were built in.
     
  3. SteffenItterheim

    SteffenItterheim

    Joined:
    Apr 10, 2014
    Posts:
    89
    1. are you aware of all the various ways you can control the camera? For example try holding middle mousebutton and pan around. There are other tricks, like selecting an object in the view then press F (focus) to move towards it.

    2. I have not heard anyone complain about this. Very rarely did I or devs I worked with having two Inspectors open at a time. But I believe this depends a lot on how you design your prefabs and scene hierarchy. Usually it‘s best to have the root object of a prefab contain all the major scripts with children at most only having utility scripts, typically ones that don‘t need configuration.

    3. Agree that could be helpful at times.

    PS: The editor is currently being revamped, a very early preview has been shown in one of the talks. I would expect this update to address some of your pain points.
     
  4. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, SteffenItterheim
    1. Yes, I'm aware of the various camera controls but I'm not talking about panning. I'm talking about moving around the scene using Camera FlyThrough. "F" is another feature that is not well thought of. When you are closely examining an object and press "F", the camera will back out and you have to zoom in again. When you are closely examining, it should just change the camera aim point so that you don't have to constantly zoom-in. And the default distance is too far and it doesn't zoom fast enough. It's minor but also painful when you have to do the same thing thousands of times. Once people get used to it and they don't even know what they are missing, but if you experience the better way, you won't be able to live without it. You will know what I mean if you come from using the much more sophisticated editor like Unreal. ^^

    2. What I really want is independent Custom Inspector for each Window where it makes sense, instead of having one Inspector for all. When I work in particular Window(Edit mode), I want to focus on that Window. But right now, to edit some thing I have to back and forth between the window and Inspector located far away. The biggest problem is that there is only one inspector that makes it very difficult to work more than one object at the same time. The easiest solution is to have Multiple Inspectors that is locked to the Window Context. Once it's lock to the Window Context, the Inspector will respond to that window only. This way, I can simulate the custom Inspector by making a layout that each Inspector is right next to each Window. Besides, don't you think the current Multi-Inspector with a lock so painful to use? I cannot believe that they change at the same time(without locks.) and what's the use?? Only the last active(or selected) Inspector should change when you click on something. This way, you can compare two objects without the lock. Unity REALLY needs to work on improving the workflow. With so many new features slapped on, it's getting out of hands very quickly. If Unity wants AAA production company to adopt it, they better make it easider to use. The workflow simply do not scaleup when you are working on large-scale games. The current editor is so Simple(appearance-wise but it's not. Everything is hidden in the menu) but very painful to use when you have to repeat the same task over and over again. It seems like it's designed by programmers for the programmers. ^^

    3. With one global Inspector, I quite often have to go back and forth between the selections. If it was designed like that, Unity should have at least made the go back and forth much easier. It should be easy to recognize and also easy to implement.
    But what surprises me is that there are so many such small features that you can easily recognize if you were eating your own food but it never changes. The things like these make me to believe that there is no one in charge about the workflow and care enough about users to remove the pain points.
    Otherwise, how could it be left like that in the past ~10 years.

    I really hope when they redesign the UI, they focus on the workflow instead of cosmetics. Cosmetics can better change after the workflow changes to accomodate the new workflows. There are so much to improve besides the 3 pain points above. Honestly, I don't really care about cosmetics but it seems like they are focused on the cosmetics, a typical marketing stuff. I hope I'm wrong. ^^
    Cheers!
     
    Last edited: Sep 11, 2018
    illinar and jonathans42 like this.
  5. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    572
    Not sure what you are talking about "focusing on cosmetics" but Unity always looked one way and only changes to the UI is to add new menus for new features (I don't remember them talking about making it look a certain way just for that sake) and the new UI is being made to better support workflow so maybe its just what you think rather than what happened or will happen. So now where getting improvements to the UI and workflow as well as a visual update. Here's a link to info about the new UI and a Mockup of it. (We don't know if it will actually look like that but what matters is what's being said about it - It's about 3 mins watch time from where it starts)

     
  6. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, Grimreaper358
    Of course, I watch the video. He talks about setting/preferences reorganizations and adding tab views. I'm not sure if I can call that an important workflow redesign that worths to be mentioned in the roadmap for everyone needs to watch.

    Please don't get me wrong. Unity is really good in many ways and I'm really excited to see what happens next only if they can deliver on their promises. ^^ They already missed many promises from Berlin keynote announcements. (we will have this and this by this Summer but technically the Summer is over and I haven't heard any mentioning yet) Unity track record is not something that we can be very proud of. One thing I know of sure is that Editor/Workflow itself hasn't changed much past ~10 years and it's not acceptable anymore. Unity should focus on making the Editor, Easy to Use (not Simple To Use) by removing common pain points and intuitive to use.
     
    Last edited: Sep 11, 2018
  7. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    572

    Yea I get what you're saying for sure. The point to take notice in the video is that things are changing and like mentioned "it's iterative" so first changes are what's mentioned. We have no idea what's next so that's just a wait and see thing for now. (This is probably the part you would like to be more clear as to what will be happing on the workflow side of things. When it's released there will most likely be a thread where we can give feedback and such) Other than that we Have Unite LA to see what changes will be coming. Most likely they will talk about changes coming 2018.3 and 2019.1

    We all want the editor/Engine to be the best it can and a lot of work is being done, it might not be as clear since it's so fragmented at the moment but I think by 2018.2 - 2019.3 it will start/ if not shape up well although that's a long time away. Now is the time for change so hopefully that thread or someplace where we can make suggestions, etc pop up.

    From what I remember it's mainly thing from the GDC keynote that got delayed and no the Berlin Keynote so it's been a while. Things that were promised to be summer preview were/are work in progress (even if it was publicly available to users at the time mentioned) so I'm not too worried about the delays since it wasn't full releases. Most of it is now for 2018.3 instead so soon we will be able to mess with those.

    Also for camera control, you can hold shift to go faster (It's just not customizable so no speed change etc)
     
  8. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    572
  9. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Thanks Grimreaper358
    Interesting... Why hasn't it been updated yet? It is so typical Unity. Isn't it kinda crazy? There so many assets that do similar things and fundamental yet Unity doesn't provide one. It only makes me more frustrated that why there isn't anyone who cares about the small stuff like this. It will save so much pain and countless hours as a whole. I hear about experimental feature this and that but it stops at that. Excitement for nothing. Yeah, United LA soon and we will see what they will show us. Don't you think United event is little too often? I don't mind more events but It gives me an impression that the development schedule is dictated by United event and dev are busy making demos instead of releasing the products. Even when they release the product, it falls short of the expectation, it stops further improvements, and the list of changes never fails to underwhelm, compared to what their competitor is doing. United LA will probably mostly be a rehash of United Berlin and I'll be surprised that if they have something totally new. They probably show more experimental stuff, use it as marketing promotion. Oh, well.. Unity never fails to surprise me that there is no surprise. I'll be very happy to be proven wrong though. Sorry, I'm bit sour about the lack of follow ups on what they promised from United Berlin. ^^
    Cheers!
     
  10. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    572
    Yea, a lot of stuff is all over the place right now. I think they are waiting (I say waiting but it's us waiting, they would or currently be doing that) for the new editor design to put them in. This is just what I think and this is because of something I noticed with the VFX editor. It was first shown in a Unite Keynote Unity Labs Video a few years ago but there wasn't any name or extended clip on it it was just a few seconds. It seemed to be working in the default Renderer back then. (Back in 2016)

    From here till about 20 seconds in


    I believe that was going to be for the default renderer but after that, there wasn't any concrete info on it Until recently with HDRP and its only for HDRP. I remember seeing it and thinking it's cool wondering when/if it would be released and now it's coming and paired with a better renderer, tools, better everything. So just like that got pushed to a better version of the renderer I feel that most of these features are going to be pushed to the redesigned editor. That way it's introduced there instead of now and then revamped for the redesign which might get people confused, plus them doing two times the work maintaining both versions for old Unity/current UI and redesigned version. This way they can easier get rid of the legacy stuff going forward and working with the new. Of course, this is just my theory and shouldn't be taken as what's actually happening.
     
  11. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    100
    Hi and thanks for this great feedback.

    About Adjustable Camera Speed, this is something we're currently working on.

    About Workflows, we are indeed looking at improving them and we're doing some experimentations. We're trying to identify what would solve issues without breaking existing workflows or habits. Local Inspectors is one of them which we believe makes a lot of sense.

    Question for you about that: If you had Local Inspectors, would you still need a Global Inspector?
     
    Regularry and RAM804 like this.
  12. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, @benoitd_unity.
    Finally, someone at Unity responded. I really appreciate that you are looking into this. I tried to make the point but it was very difficult to get hold of the attention and I apologize if I sounded a bit harsh. If I didn't care, I wouldn't have. ^^

    If there are local(custom) inspector for windows that makes sense, there will be less use for the global Inspector, however, to keep the current workflow, and to lock certain object that crosses over more than one window it would still be helpful to have the Global Inspector.

    If I don't need Global Inspector, I can simply remove it. Likewise, I can turn on/off Local Inspector(Context-locked the local window) on click of a button(top-right-corner) or a hotkey. I imagine the local Inspector will apprea on the right side of the window and the local window will shrink in size horizontally.
    This way, everything can stay the same.

    Cheers!

    ps. After I made a post, Grimreaper358 pointed out the browser-like Inspector. Unfortunately, it's stopped developing. I hope it also comes back into the editor, not just for the Inspector, but for all Windows where applicable.
     
    RAM804 likes this.
  13. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    100
    Hey no worries, like you said, I prefer to hear about it in whatever form than not at all :)

    Apologies for the late response. Going back to Inspectors, one proposal could be that Inspectors are bound to some windows. For example, the Scene would get one, the Project window, Timeline, basically any window that needs to inspect some content.

    From there, I believe there's very few cases where multiple inspectors or global ones are required. One I see, is editing multiple assets from the Project window. Could we then have better workflows to do so? I'd be interested to get feedback on that.
     
  14. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Yeah, exactly, each window will have its own Inspectors(toggleable). When you think about it, I think all of the windows need to have an Inspector except Inspector itself and Game View but who knows? having an Inspector on an Inspector would be useful when developing a customs inspector to view the property of the custom widget, likewise, Game View Inspector would be useful for debugging.

    Anyway, make the inspector for all windows by default. If it doesn't make sense, you can just not use it, but if you need for whatever reasons, you can take advantage of it.

    And the global Inspector would be definitely useful. First of all, it doesn't disrupt the current user who is used to use the global Inspector. Second, you can use global inspector when you need to lock certain property. So please don't remove them.

    Thinking about it makes me very exciting. Please keep it up!

    Thanks.
     
  15. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    4,352
    We have implemented a solution for this in our project, as the game designers spend 90% of their time editing assets (ScriptableObjects)

    The solution is a general-purpose "PopupInspector". It's an EditorWindow that contains an Editor for a single object. Most fields that contain references to assets are drawn with a little button next to them, which opens the popup inspector for that object.

    The features the popup inspector has other than the inspector are:
    - History of selected assets, with back- and forwards-buttons.
    - Doesn't automatically target the object selected in the Project view.

    Before this was implemented, clicking assets in the project view was really scary, because you might lose track of what you were working with if you forgot to lock the inspector first. Locking the inspector is also cumbersome, as the button is tiny, and you might forget to unlock it, which can be confusing if you select a new asset of the same type as the last one.

    It's available on GitHub, in case that helps someone.
     
    jrumps and Lars-Steenhoff like this.
  16. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Baste, I'll make sure I test it. I'm surprised that you have your own selection history. Can you go back and forth using mouse forward/backward? I'm too very scary to click on something because of the same reason.

    If someone can implement this, why Unity can't? If they want to push Global Inspector to our throat, they should have made going back and forth much easier. Stuff like this makes me really mad and it's the proof that they don't do anything besides making a few simple samples.

    Cheers!
     
    jrumps likes this.
  17. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    @benoitd_unity, I really appreciate you are making some effort trying to communicate. Communicating with Unity is really frustrating at its best. No matter how I try, Unity either ignores or responds with generic replies. I have some low hanging fruits that can improve our lives but it seems impossible how to get Unity's attention.

    So please explain the procedures by answering the questions below.

    1. Is there one who is responsible for improving Editor Workflow?
    2. Once he accepts the request, does he have an authority to implement it without going through bureaucratic approval procedures? Please explain how a simple addition can be added/fixed in the Editor.

    Not sure when you will read this message, thus I'm making a request below and see if that can be addressed, assuming there is one in charge who has authority to make the changes.
    Below are really simple, probably takes less than an hour job(if he knows what he is doing) to implement that can save us a big pain.

    1. Add automatic animation playback option in the preview window: When you want to quickly preview the animation, having automatic playback option will save quite of a pain having to click on the "play" button every time. Try to search through 100s of animation this way, you will know what I mean. It is really embarrassing that it doesn't have the auto playback option.

    2. Adjustable camera speed for R-Click + WASD through mouse wheel while flying through. RClick+WASD is the easiest control to inspect the object and it's either move too fast for small object and too slow for a large object.

    3. When "Focus" on an object, and when the camera is already closer then focus distance, just change the camera angle without changing position. When I'm closely inspecting something already, I just want to change the angle but it always kicks me out and I have to zoom in again and again.

    4. When selecting the animation list from "Animation" window, add scrollbar. When there are more than several 100s of animation, selecting animation from the list is almost impossible. You have to click on down arrow and wait few minutes until it gets there. It amazes me it never got caught. I guess no one has ever worked with more than a few hundreds of animations? This is a roadblock for me to work with Animation windows. FYI, I have 1000s of animations.

    I try to include only quick-to-implementable one and 4. is more like a critical bug. Let's see how it goes. Please don't let me down.

    What I really think is that you need to make a task force to improve Editor workflow. Editor workflow basically the same in the past 10 years and some are really frustrating and embarrassing that it's been ignored for such a long time. Gather as many as "Pain points" from the user and work with the simple stuff first. And I hope you don't make a big deal out of this, by announcing in the keynotes or by listing them on the Roadmap that you recognize the pain and you will do something about it in the year 2020. Just list them on Trello and scratch them as you work through so that user can see it happening as it happens.
    Thanks.
     
    5argon and jrumps like this.
  18. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    100
    Hi Chrisk, let me attempt to answer some of your questions:
    1. I'm the Product Manager covering the core Editor workflows so I work closely with the engineering and design teams.
    2. Without having to go through heavy bureaucracy, it isn't dictatorship either. I'm responsible for bringing that feedback and prioritize it with the team. Some areas are covered by specific feature teams, like Animation for example, and they own their specific roadmap.
    About your requests:
    1. I'll bring it up to the Animation team.
    2. This has been implemented and should be released in 2019.1 I believe.
    3. I'll bring this on to the World Building team.
    4. We're considering replacing all those lists with a searchable, scrollable component similar to the Add Component pop-up. No ETA yet.
    I agree that core editor workflows need some attention and we've increased the amount of designers and product managers assigned to those lately so expect some improvements.

    I hope this gives you some clarity. Please keep asking and keep bringing up issues. We might not always be responding but we try to be up-to-date with what the community has to say.

    Cheers,
     
    Last edited: Feb 5, 2019
  19. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Thanks for getting back to me early and it makes me feel much better.
    It looks like there are teams that are responsible for themselves to make the changes and there is no higher authority to see it happen. That explains why stuff can fall through a hole. I believe Editor Workflow is so important, yet ignored for such a long time, and it crosses over many departments, you will need such a person with some authority to make sure it taken cared.

    I checked #2 in 2019.1 and I can't believe it's in there, silently. ^^ There were literally ~700 of Votes in the past and it finally made it! It makes me cry.. literally. I just can't believe how long it took.. almost 10 years?? Please don't repeat it again for other small stuff.

    If I may add feedback, it is still a bit difficult to use, for example, while you are in r-click+WASD mode and trying to change the camera speed though scrolling mouse-wheel, it zooms in/out instead changing camera speed when a camera is not in motion. Mouse-wheel should adjust the camera speed when r-click is pressed regardless camera is in motion. You will sometimes want to stop the motion and adjust the speed when you are close to the object already. Try to inspect the objects, it will be obvious to see what I mean.

    The stuff like this makes me think that they never use the stuff they build themselves. Are there usability team within Unity to test it? Or you just rely on the dev themselves? My advice is that don't make the dev come up with the design and test themselves. They are the worst designer and testers. The best is to have some UX guys comes up with the design first and dev implements according to the specification. If you let the dev to come up with design, the dev will give many reasons why it should work that way because of the current limitations and such and such, coming up with a kludge instead of fixing it fundamentally. Once they fix it, sometimes it becomes a religion and it will then become very difficult to fix it. I know that there are many religious(stubborn) guys in Unity.

    1, 3 are pretty small, has no conficts. I hope to see it soon.

    Yeah, Unity recognized #2 and mentioned they will do something about it years ago but nothing. We have no idea what the status is and it is so hard to get another response from them. I thought Unity determined not to fix it.

    To prevent misunderstandings, I suggested Trello. I don't mean to do it for everything as some can take a really long time to do it properly, but you can do that with the simple stuff first. Some are probably faster to fix it rather than being added on the roadmap or official tasklist. I can imagine you will have many small user requests(reviewed) on Trello and the dev can pick it up when they have some spare time and scratch them one-by-one. You can perhaps give some rewards to the developer who picks it up. More rewards are given if there are more user requested. I think it will be fun to interact with users and to see it happen live. Call it "Remove my pain".

    Anyway, Editor workflow improvements are much needed and it affects millions of users and I hope you give much higher priority since it's been ignored for such a long time.

    Thanks.
     
    jrumps and Rich_A like this.
  20. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    I'm very happy to hear you are working on adjustable camera speed.

    While you are addressing the flythrough mode, could you please also consider having an option in the preferences to disable the auto-acceleration that occurs when moving? What I mean is that when you start moving after a few seconds it will begin to lurch forward at a very fast speed. While the auto-acceleration may be desirable in some situations in others it is not, like when moving around inside interior areas.
     
    jrumps likes this.
  21. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, @benoitd_unity, I'm wondering if you are making a progress on local(context locked) inspector window.
    There is just too much going back-and-forth and locking-and-unlocking. I usually have 3 or 4 inspectors opened to compare and copy data. I'm sure a local inspector window will help the workflow a great deal.
    Please let us know what's going on. Thanks.
     
  22. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    100
    Hi @chrisk, not much to share at the moment sorry.
     
  23. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    @benoitd_unity ,If you are not going to do anything about it, please support history (mouse button back/forward button) support. This feature should've been there from the start but it isn't still.

    Unbelievable! There are so many such things in Unity that makes me think if there is any who is really using the Editor in Unity.

    It isn't difficult to understand why we need it and it's not rocket science to implement it. You already have Undo that does it but we need to just change the selection with the mouse button.

    Thanks.
     
  24. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,303
    @chrisk hi, I want to ask you something. You mentioned 1000s of animations, but not some problems I have personally faced for a long time, so I am curious that you may have some solution for my problem. This is from as early as Unity 3~4.6 era :

    1. How did you make uniform scaling when it is required to adjust easing details of all axis at once? I think it is impossible to select all of them and drag the handle together and I always have to match by eye. And it is even more difficult on weighted curve.



    2. When iterating on short animation (like a ~0.2s quick button bouncing) it is impossible to preview once because the play button is an on-off toggle. When it is looping like crazy it is impossible to judge the design if it is good or not. (Since the "stillness" after the animation ended is a part of an overall feel) I have to add a dummy keyframe far back so that it wait long enough, and more importantly I always forgot to remove it. (also it is ugly and unwieldly) Checking loop or not on the clip does nothing. I think I may miss something really obvious somewhere but after many years I could not find it.

    Preview once is possible with Timeline, but that's only thanks to the TimelineAsset being set to destroy its playable at the end and not loop or hold. It is impossible with plain animation.

    Ideally I would love to have this too, but I have a band aid script that ease the pain a lot more than expected. It is just a script that does reflection to lock when the mouse is hovering on a particular tab. Lock-unlock repeatedly still sucks, but at least you don't have to aim the lock icon. Surprisingly I found that clicking is much more taxing (~10x ?) to the mind than swiping cursor pass the general area plus some keystroke on the other hand, it's almost transparent. (also it only works on "Inspector" tab)

    Code (CSharp):
    1.  
    2. [Shortcut("Tools/Toggle Inspector Lock", KeyCode.E, ShortcutModifiers.Alt)]
    3. static void SelectLockableInspector()
    4. {
    5.     EditorWindow inspectorToBeLocked = EditorWindow.mouseOverWindow; // "EditorWindow.focusedWindow" can be used instead
    6.  
    7.     if (inspectorToBeLocked != null && inspectorToBeLocked.GetType().Name == "InspectorWindow")
    8.     {
    9.         Type type = Assembly.GetAssembly(typeof(UnityEditor.Editor)).GetType("UnityEditor.InspectorWindow");
    10.         PropertyInfo propertyInfo = type.GetProperty("isLocked");
    11.         bool value = (bool)propertyInfo.GetValue(inspectorToBeLocked, null);
    12.         propertyInfo.SetValue(inspectorToBeLocked, !value, null);
    13.  
    14.         inspectorToBeLocked.Repaint();
    15.     }
    16. }
    17.  
     
    Last edited: Jun 26, 2019
  25. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    @5argon, thanks for the script. Yeah, it will help until we have a context-sensitive local inspector. Some simple tasks are a real pain in the neck, especially when you have to keep doing it over an over.

    Animation has one of the worst UX and I have so many small issues, such as animation preview doesn't support autoplay. I have to click on the animation and then click on play over and over to preview each animation. I tried to extend the preview window but the class is "internal" and it doesn't allow me to extend. What's the big deal allowing us to extend??

    Animation selection popup doesn't have search nor scrollbar, and I have to press up/down button and hold it for a few minutes to get to the animation I need from the 100s of animation list. And there are many such usability problems and I don't think Unity will every listen and fix it. Otherwise, how they could be left like that for years and years. They keep on asking user feedbacks but it's not that there is a lack of feedbacks but they just don't do anything about it. It's just a gesture that they listen but all fakes.

    Animation curve issue you have is not news to me but I can't think of better ways other than trying to extend the timeline if they allow you to. Sorry but I haven't tried yet. Goodluck! ^^
     
  26. SisusCo

    SisusCo

    Joined:
    Jan 29, 2019
    Posts:
    159
  27. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    527
    Hi, @SisusCo thanks. someone is actually listening. ^^
    I love to try but it's quite expensive to just to try. And they seemed to be a bit different from what I originally wanted.
    Inspector should be part of each window and they can be folded(sideways) when not needed and also it would be nice if the Inspector can be attached any(applicable) windows such as Scene. Perhaps only Unity can implement it properly.

    Also, it would be nice if the navigation is mapped to mouse forward/backward button for easier navigation.

    Thanks, and please keep the good work.

    Cheers!
     
  28. SisusCo

    SisusCo

    Joined:
    Jan 29, 2019
    Posts:
    159
    @chrisk thanks for the feedback!

    I wholly agree that supporting mouse forward and back buttons would be awesome! Unfortunately there doesn't seem to be any easy way to detect those inputs in Unity in Edit Mode o_O I'm planning to see if I could hack in support by messing about with DLLs at some point, but haven't gotten around to it just yet.


    In Unity, when you click an Object in the Scene view, it also gets selected it in the hierarchy. All GameObjects always exist either in the scene hierarchy or in the project as assets, and the selection system in Unity has been built around this. Because of that, I don't think it would be very useful to allow targeting other windows besides the hierarchy or project views in Power Inspector, given how these things work in Unity at this time.

    But I think that just having two different inspectors, one for the hierarchy and one for the project already feels pretty great, as it reduces the amount of reselecting that you have to do quite a lot!


    It could be interesting to have a feature where the Power Inspector windows could be configured to automatically minimize when they have nothing to show. I'm imagining something along these lines:
    minimized.png
    Would this be something you think you might find useful?


    In terms of the price: I'm in the process of lowering the price by 40% temporarily in celebration of the launch (it's pending approval from the Asset Store).

    But I could actually send you free copy too, given how you've inspired me to add new features and all, if you're interested? :cool:
     

    Attached Files:

  29. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    273
    Great asset, but the price is jaw dropping, considering what else is in the store already. If people buy, good, but I'd recommend re-thinking that: you're trying to sell something at the same price as Odin (not direclty equivalent, but it's famous, plays in the same space, and sets people's expectations), but with a tiny fraction of the functionality.

    I've done a few project/hierarchy window hacks before that poke inside Unity's code at runtime and insert extra GUI features into the core windows. So I have a fairly good idea what it takes to make this work - it's hairy code, but it's nothing like the volume of work in Odin.

    (At a much lower price I'd buy your asset without much thought. At such a high price, and knowing the risk that you've made a mistake in one of the edge-cases, or that Unity changes something suddenly that breaks it (I've had to fix both cases before), it's cheaper to write it myself, and that way I know the code inside-out and can be certain it doesn't have any painful missing edge-cases, now or in future versions of Unity. (one of the biggest pains I've had in the past is how much the internals of the windowing system change from version to version, so these kinds of tools need frequent updating))

    PS: also probably want to use a spellchecker for the text on your main screenshot. At that price point, it's worrying to see spelling mistakes: since you're selling something high-quality, at a high price (which is fine), you need to show that you have that quality throughout.
     
  30. SisusCo

    SisusCo

    Joined:
    Jan 29, 2019
    Posts:
    159
    @a436t4ataf

    Thank you a lot for your feedback! I'm very happy to hear that you think Power Inspector looks like a great asset :)


    I have to say though that I strongly disagree with the sentiment that Power Inspector offers "a tiny fraction of the functionality" compared to Odin Inspector, or that it's "nothing like the volume of work in Odin".

    Looking at only the numbers, Power Inspector consists of around 105 thousand lines of code while Odin Inspector consists of around 119 thousand lines of code. That is a difference of around 12%.

    In terms of the feature set, I think that both assets have a lot to offer, but they have quite different core philosophies on how they go about giving you those new features.

    Odin Inspector gives you a large number of attributes which you can add to your code to customize the inspector experience. It also offers you a custom serialization system, which allows you to serialize things that Unity hasn't been able to serialize before. These are both really great features, but they come at the cost of tightly integrating Odin Inspector with your code base. Because of this it can become really hard to remove Odin Inspector from your project even if you should run into issues with it later on.

    With Power Inspector I have taken a completely different approach, and tried to keep everything as detached from your code base as possible, and trying to offer you a lot of features "for free" with no changes to code required. You immediately start benefitting from features such as the search box and the back and forward buttons without needing to do anything.

    This is because I fully agree with you that there's always the risk that an asset breaks in some corner cases or after when Unity release a new update. I've ran into this issue with some assets before, which is exactly why I wanted people to have the peace of mind that they always could easily remove Power Inspector from their project if they should ever need to.

    tl;dr: I am very proud of the feature set of Power Inspector and don't think that it pales at all in comparison to Odin Inspector. That's my two cents.


    As for your "it's cheaper to write it myself" comment, it makes me think that despite everything, you perhaps do not fully understand the amount of work that goes into building everything that Power Inspector offers. It is (unfortunately for me) not something one can just hack together in a few weeks; I have invested months (years) of my life into building all the features in Power Inspector, iterating and polishing everything and making it all work across all the different versions of Unity.

    This is not just a simple Custom Editor mind you. Many of the features offered by the default inspector have been rebuilt from scratch with various improvements made to them on the way. Something like "intuitive keyboard navigation" might not seem like a big deal on paper, but the amount of work that has gone behind the scenes to make that a possibility is pretty gargantuan, as the basic requirement has been to reinvent and rebuild the core powering the inspector experience.

    So if you still truly think that it's "cheaper" to do all of this yourself, I feel like maybe you don't value your own time highly enough ;)


    Still, no matter how proud I personally am of Power Inspector, I understand that is not yet a household name with a proven track record, and it can be scary for people to take my word on how awesome it is and take it for a spin. I have received the same feedback from multiple people now that the price is too high for an asset from an unknown publisher. So I think that will cut the price, at least for the time being, in order to get more people to give it a try. This has been something that I have been mulling over for some time now, so I very much appreciate you offering your opinion on this matter.


    Also thank you so much for spotting that typo on the store page and letting me know about it! I'll fix it soon when I push out the next update.

    Cheers!
     
  31. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    273
    Yep, it's totally not clear from the Asset Store page that there would be 100kloc of code in there. If that's the case, most of what I said about value added etc is wrong!

    So I revisited the asset page. On a quick back-of-envelope calcualtion, most of the features (and all the ones featured on first screenshot) should be somewhere around 10kloc or less.

    Going down the list, I'm guessing it's something like the custom script-editor that's massively ballooning your scope here.

    But whatever it is, doesn't matter: at the moment, this appears to be an asset that adds a handful of small-but-valuable changes that are useful and desirable -- so long as it looks like that, people will judge it like that. If you've got some huge super amazing feature in there - and you can't bring it to the top as the main/only feature - then maybe split that out into a separate asset, and sell it at your high price. And sell the minor items for a lower price. You can then have a third asset that bundles it all together for people who want the complete package.

    If you've got 100kloc in there, then you shouldn't be trying to drop the price, you should be considering that you've buried the major feature under nice-to-have features, and that the main value is being obscured.
     
  32. SisusCo

    SisusCo

    Joined:
    Jan 29, 2019
    Posts:
    159
    The Script Drawer and related code is around 2500 lines (and this same base code is reused for other assets like ini, xml, json). That's a relatively sizable chunk of code, but it's not so much that any one "feature" you will see listed on the store page adds a lot of bloat, it's the fact that I have actually rebuilt the whole inspector from the ground up while improving every aspect of it on the way. And I happen to be a perfectionist.

    A few years back I was trying to fix some things that bothered me in Unity, and it dawned on my that my hands were simply tied when it came to many things, as there's a lot of blackboxing going on inside the default inspector. It was really hard to just slip in small improvements here and there, as I was always working within the limitations of the few hooks provided by the inspector system. I wanted to change things everywhere, not just in the places the the default inspector would allow me.

    So to gain deeper level control over the whole inspector experience, I decided to start out on the ambitious project to write my own window that could take the place of the default inspector.

    The point also was not to just create a simple window for displaying Unity's built-in Editors. I did not like whole idea of the Editors because of them being such black boxes. I wanted my inspector and all the drawers inside it to be able to know about each other in detail and to communicate with each other without limitations, to open the door to a new world of possibilities.

    So I ended up creating a custom drawers for every built-in type in the C# language, datasets, components, GameObjects, arrays, interfaces... I have now something like 140 custom drawers in total. Some of them are basic wrappers that combine the GUI call to draw the field with the the base level enhancements of Power Inspector like reset and copy-paste. Others like the transform drawer add a lot more on top of that.

    Then instead of using an Editor to draw a target, I can now build a nested hierarchy out of these drawers, which makes many of the features of Power Inspector possible.

    And that is in a nutshell is why there is more than 100 000 lines of code in Power Inspector :)

    So it is not only the 20 or so main features that Power Inspector adds, there is also something like 100 smaller quality of life improvements tucked inside all those custom drawers.


    I have been trying to avoid boring people with too many technical details, or overwhelming them with overtly long lists of improvements in the store page.
    I guess the trouble with that is that when I try to boil down everything into a simple and short list of key features, then people can also perceive Power Inspector as being nothing more than that: a simple extension with a short list of features.

    Your idea of splitting Power Inspector into multiple assets is an interesting one... it might help in better communicating all the value offered, and could provide more room for explaining the different aspects of it in detail, when they were spread across multiple store pages. On the downside it would also be more work to keep all the different assets updated, as the plan is to keep actively updating Power Inspector far into the foreseeable future. Thank you for the idea, I will have to mull it over :)