Search Unity

[Feedback] The approach with putting UIs in the scene view confuses the crap out of newbies

Discussion in 'UGUI & TextMesh Pro' started by blockimperium, Feb 12, 2018.

  1. blockimperium

    blockimperium

    Joined:
    Jan 21, 2008
    Posts:
    452
    Just wanted to share this feedback from a class I taught this weekend. While I'm used to the somewhat awkward effect of Unity putting the UI in the sceneview with a game, just know that new users get INCREDIBLY confused by the process. They start worrying about scaling, trying to find their user interfaces in the scene, etc. I know its probably a bit much, but I think you'd be better served to have a dedicated view for the User Interfaces similar to the way you have a dedicated interface for Timeline, Animator, etc. It is certainly weird to look at and I'm used to the system - but newbies (especially 2D game writing newbies) just hate seeing the UI on the same interface as their game being drawn in some sort of 'ether limbo' disconnected from the rest of the development process.

    And yes I know you can turn it off and such, that doesn't make it any less weird.
     
    BenSizerRovio likes this.
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Think it's more of a workflow problem really. What stops you from making the UI in a dedicated UI scene? That is the most common approach I've seen used.

    Then this scene is additively loaded or exists to edit the UI prefab.
     
  3. blockimperium

    blockimperium

    Joined:
    Jan 21, 2008
    Posts:
    452
    Going by what I observed them do, they fall into two categories:
    * They take the prefab approach and dump their UI into a prefab and then instantiate the prefab - workable
    * They try to create their UI in the same scene that they are already in so they can test and view it in Unity while they are designing other components - most common

    While they most certainly could put them in a dedicated scene and additively load it, they don't come to that realization until a bit later in their understanding of Unity. It's not the 'intuitive' approach for the newbies. They all started asking "where is the new Screen menu" and that is totally understandable coming from the design of a lot of tools and from the way Unity batches functionality into different UIs.

    The UI itself isn't 'conceptually' a scene from their perspective.
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Another way of looking at it is... is a "new screen menu" actually efficient? Why are they even asking for a "new screen menu" ? What trained them so far in their computer usage to expect that?

    Fact is UI is easy to use, and very easy if you do the UI scene approach. That's the "new screen menu" they're asking for. As there is no difficulty involved I think it's a matter of training.
     
  5. blockimperium

    blockimperium

    Joined:
    Jan 21, 2008
    Posts:
    452
    Many of them are going to be Adobe trained and familiar with a creative process that involves the Adobe workflow which consists of creating new things, adding a ton of layers and then when they want to create something else - creating a new image/project.

    Many of the newbies are not thinking "how do I do this in code" initially. They are thinking "how do I make it work". As they get more maturity in their process they start thinking of how to spread things out across scenes, but it's not initially intuitive.

    Certainly you can train a person to do something that they wouldn't intuitively think of (I spend a LOT of time doing that), but that doesn't mean its the best way :)

    I put it up there with "I went to play an explosion sound and then destroyed my object - but my sound didn't play". Yes there is a reason why that doesn't work, but intuitively new developers think that their sound should plan and THEN the object is destroyed. I stopped counting the number of times I've had to answer that question.

    Just take the feedback for what it is.
     
    BenSizerRovio likes this.
  6. JimmyTheBeamer

    JimmyTheBeamer

    Joined:
    Mar 1, 2018
    Posts:
    6
    That right there.

    See, Adobe and others, are "asset" creation tool/software.
    Unity is a game engine. The workflows are going to be different by some measure.

    Unless you have extremely l337 Uber coding skills and powerful understanding of maths, you have to use an asset creation tool. Without one, its impractical as it would take a year of code to do the same thing that photoshop does in a day.

    To make a game however, you don't *need* a game engine, but it is alot faster and easier to learn. Your students need asset creation software. They don't really need a Game engine. They can learn to code in C# and do everything manually like the days before a public, free engine. Still no "create new" button.

    Taking a tour of GM and their sub plants, you will find that Adobe is the individual parts manufacturers.
    The main GM plant is the like Unity, a place to put all those parts together. The work flows and thought processes for both are totally different.


    Also, users can right click in project view > Create> scene. Or in upper menu... Assets >Create> scene. So yea...there is a create new scene button. lol.

    1)Create the UI scene, set it as 2d, then save.
    2) Go back to game scene
    3 drag the UI scene into Hierarchy - Or right click UI scene and select Open scene asset.

    Not ragging on your teaching skills or anything but...isn't that why you are there? To teach them how to use the tools, instead of them trying to figure out on their own? Thank God your not a shop teacher lol. "here's a grinder, just turn it on and put the blade to the piece you want to grind" *students* "how tf do I start it..."
     
    daxiongmao likes this.
  7. blockimperium

    blockimperium

    Joined:
    Jan 21, 2008
    Posts:
    452
    No offense taken, but I am curious if you've ever tried to teach kids? ;)