Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Concept: Visual Designer for Unity Editor Windows...

Discussion in 'General Discussion' started by AdamScura, Dec 21, 2014.

  1. AdamScura

    AdamScura

    Joined:
    Mar 25, 2012
    Posts:
    55
    Hey guys. I wanted to throw out an idea and get your opinion.

    How many of you would be interested in a visual designer for Editor Windows? This would be similar to the designer for Windows Forms or WPF.

    Visual-Designer-Mockup.jpg

    Primary features would be
    • Drag controls onto a window from a toolbox
    • Select Controls in the Hierarchy
    • Preview GUI Layout
    • Resize and Position Controls
    • Edit Properties for Selected Control
    • Bind Controls To Data (automatic sync)
    This is mainly for designing Editor Windows (On GUI) but could also be used for SceneView editor overlays, Inspectors, and in game GUIs.

    I'm already working on an advanced Editor GUI Framework. And I want to know if I should focus my efforts on including a visual designer.

    So what do you think? Would you like to see a visual designer for editor windows on the asset store?

    Edit: Uploaded a mockup image.
     
    Last edited: Dec 23, 2014
    Kiwasi and Ony like this.
  2. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,042
    What advantages does this offer over uGui?
     
  3. Dabeh

    Dabeh

    Joined:
    Oct 26, 2011
    Posts:
    1,614
    It's for editor windows :p.

    On topic though...I find it easy enough to make cool editor windows, although there certainly is a need for a great library that implements stuff like centering buttons etc in a nicer way. A visual designer, not sure...
     
  4. AdamScura

    AdamScura

    Joined:
    Mar 25, 2012
    Posts:
    55
    UGUI only makes in game GUIs. This is for Edidor GUIs like custom Windows, inspectors, etc.

    AFAIK there is nothing like this on the asset store.
     
  5. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,042
    Ah gotcha. Cool.
     
  6. Zerot

    Zerot

    Joined:
    Jul 13, 2011
    Posts:
    135
  7. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    Yes! I've wanted a editor window editor for ages!
     
  8. R-Lindsay

    R-Lindsay

    Joined:
    Aug 9, 2014
    Posts:
    287
    I would buy this. *waves hand* make it so.
     
  9. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    If you can make it easy to rip out a single element from an inspector and replace it with something else without having to rebuild the entire thing, then you would get my money... eventually.
     
  10. AdamScura

    AdamScura

    Joined:
    Mar 25, 2012
    Posts:
    55
    Uploaded a new mockup image. That should give a better idea of what I'm talking about. See original post.
     
  11. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,042
    Looking forward to seeing how this turns out. I do a ton of editor panels, primarily copy and paste and have a handful of helper methods. A clean tool for fleshing them out quickly could be very useful. Styling would a nice feature as well.
     
  12. AdamScura

    AdamScura

    Joined:
    Mar 25, 2012
    Posts:
    55
    Thanks for the support guys.

    Have you looked at PropertyDrawer? I believe you can already do this by creating a custom PropertyDrawer and PropertyAttribute, but it does require a little coding and you'll have to translate the examples from JS if your working in C#.
     
  13. AdamScura

    AdamScura

    Joined:
    Mar 25, 2012
    Posts:
    55
    You should be able to make fully functional editor windows with almost no code at all. The framework will automatically keep your data in sync by using dynamic data binding.

    Data-Binding-Mockup.jpg


    To add button functionality you would just write an event handler and bind it in the designer like this...

    Event-Binding-Mockup.jpg

    Edit: Updated the graphic.
     
    Last edited: Dec 23, 2014
  14. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    I have, although I haven't gotten around to doing anything with it. Any time I have to mess around with the editor, it always feels like I'm doing something improperly, so I usually end up not bothering. That's probably just my issue though.
     
  15. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,042
    That's cool. Personally, I don't have much need for the data binding, most of the stuff I do is tools for artists/designers or pipeline tools. If it does layout and structure/styles that would be very interesting to me. I spend more time than I really should on tweaking. If works like your mockup and kicks out an editor layout without dependencies, I would definitely take a look! These are the kinds of things I typically build:
    Screen Shot 2014-12-23 at 5.56.32 PM.png Screen Shot 2014-12-21 at 6.05.35 PM.png Screen Shot 2014-12-21 at 4.56.47 PM.png Screen Shot 2014-12-21 at 6.08.57 PM.png Screen Shot 2014-12-21 at 6.01.55 PM.png

    Speeding up the process would a welcome time saver!

    Keep us posted!
     
    TylerPerry, Ony and RJ-MacReady like this.
  16. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Nice! I like it and it would be useful for us. :) Thanks.
     
  17. tswalk

    tswalk

    Joined:
    Jul 27, 2013
    Posts:
    1,109
    I'd be interested in this too.. a RAD tool for Unity is most needed.

    This tedious processes and discombobulated framework is sad. Their solution for scroll view and scroll bars are really limited and terribly documented.

    Data binding would be ok, but really just something to assist in layout is all that is needed. Making sure to be able to support nested BeginArea & BeginGroup would be handy.

    as it is, since scroll bars for GUI are pretty much dysfunction in my use case, I'm going to have to roll my own.

    on that note, I probably wouldn't use the "scene" view as my RAD environment.. I would create an editor window to make editor layouts... and you could probably use your framework to make the tool :D
     
  18. AhrenM

    AhrenM

    Joined:
    Aug 30, 2014
    Posts:
    74
    Ok...I have to ask and if it's a trade secret then I understand.
    How did you get the edit window updating in real-time? Is it just references to the controls?

    Data binding is going to be key to something like this. They way the GUI calls are implemented it's a pain in the backside getting data in and out them in a way that's useful to anything other than a top down script.
     
  19. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Did anything ever come of this?