Neos-Metaverse/NeosPublic

UI/UX redesign

Frooxius opened this issue · 52 comments

The current UI has a lot of usability issues and confusing behaviors as it has grown over long period of time and needed to work with limitations of the UI framework.

With the redesign of UI framework (#167) it'll be possible to redesign many elements and workflows to make the experience more unified, streamlined and easier to use (and also look better).

This topic is to discuss the high level redesign changes planned for the system. The goal is to also make this iteration more future proof, so it can grow better together with Neos.

Here are some planned key principles:

  • Modularity - the system will be widget based, allowing every user to customize their experience to their needs and expand the UI with user-made elements.
  • Unification - instead of scattering lots if different styles controls in different places and putting them where they don't belong, build them around just a few key principles, so the UI is more predictable. Instead of rewriting common behaviors, they should be done once and then utilized repeatedly.
  • Better integration with the tool system - each tool can have its own UI panel on the other hand and on itself, so all important controls are easily accessible (similar to TiltBrush system)
  • Better panel/window system - by default core windows should be part of one display and only be popped out into independent windows when user chooses to do so to avoid cluttering the workspace. Having ability to attach, snap and minimize the popped out windows/panels will also help with organization.
  • Better context handling - certain options will only appear when they're relevant and will automatically disappear if the user doesn't interact - this will prevent having certain menus open by accident (e.g. the radial menus)

Feel free to make any suggestions too, but note that it's important to establish the general principles first. Suggestions for the current state of the UI might not be relevant, as a lot of those elements will be removed completely.

If possible, and component cards do stay for the Logix system. There should be some sort of field or pointer(if poor terminology sorry) at the top that lefts you quick reference a component on the slot by dragging it out of the inspector, and placing it on the top of card's field It could also have quick history but that may be a bit much. This lets you build out component logix interfaces faster and less digging through the inspector. When working on UI components atm, this would be handy.

Do you mean having something like component favorites?

Something like this, the history would be a convenience tool at best.
image
The component card would only work if the slot has the component.
Also maybe it would be better do have drawings or some sort of ui designs when suggesting for the future.

These sound like some excellent principles to start with. I'm especially excited about the Better panel/window system description.

I wonder if a guiding principle around the information hierarchy would be good to have at the onset as well. Maybe that is too into the weeds, but it seems especially important around the inspector display (visual hierarchy), inventory, file browser, and the layout of the information in most panels. Paying special attention to the vertical rhythm and proportions of the information and components within a widget can help immensely to create a sense of balance and consistency in UI design.

More on this idea: https://www.lullabot.com/articles/designing-rhythm-and-proportion

@TehTurk Oh I see, so you could build up your own favorites by dropping them there? One thing that should help a lot is search, but Coffee is already prototyping that one.

@sirkitree Yeah definitely, the new UI system should make it easier to have spacers, some common styles and sprites, that will help to visually organize and separate the UI sections and elements. That should make it easier to visually parse and find what you're looking for.

Only a little thing, but I would like to see tab orders in the new UI system.

@Frooxius You could! and I can't wait for the search But originally the intent was to have it be an easy way to swap to a logix node/interface/drive/reference that another slot has as a component. So like say I'm working on a button, instead of pulling out the NeobuttonComponent interface for that button(a couple different clicks), I just grab the slot/reference in the inspector and place it there, and the wires/ins/outs would update on the card like revealing the node(one click). Instead of digging through the inspector. Generally you won't have more then 1 of the same component per slot object, and if that were the case, maybe add some sort of index to them on the object itself when there is a repeat.

@MR-Alex42 Do you mean things like this? https://helpdesk.nuorder.com/hc/en-us/article_attachments/204229446/Screen_Shot_2016-05-27_at_1.02.46_PM.png

Those are definitely planned! They should help a lot with organization.

@TehTurk Hmm I plan on reworking the Logix interfaces a lot so that workflow should improve. I'm not sure I exactly understand your scenario, but one thing that I want to do is have certain components have "exported properties", that you can quickly access without digging through the inspector.

A way of quickly accessing things that you're most likely looking for (e.g. for slider, it would be the Value, Min and Max, with everything else ignored).

@Frooxius Ah okay! This is only working within the context of the current system so do what you will. This just adds to the current UI Logix System in some form. I just find the act of grabbing a reference and placing it in another object and having it being called properly so workflow convenient. The one thing I've always noticed for VR is the faster/less tedious the interaction the better. Maybe I can make some sort of concept for you to see in Game.

@Frooxius Those are table/grid UI elements that allow sorting, column selection & repositioning and filtering which would be cool to have. My request was much simpler. If I press tab I jump to the next entry field. Maybe you know the feature as tabindex from HTML: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex

Wrist menus should have each a way to open their respective menus. Like left wrist will have a system button to turn on your inventory, while the right hand would have something to enable your world/audio system. (Yes the orbs are a thing, but not super intuitive of I can use these) While the new system will be widget based, the default should be basic as possible so people don't have to think ( Because many won't want to)
Also would it be possible to have the sound menu be tied to the Inventory Menu and not a switcher within the world :O?

There are actually gestures already in the game to do what you're describing with the respective menus, @TehTurk. If you hold your left palm to your face (such that your grabber sphere collides with your head) and press the menu button, it opens/closes the tool belt. The right hand opens/closes the voice mode toggle/session orbs. If you use grip + menu on the left hand, it opens the inventory, and grip + menu on the right hand opens the session menu.

That said- being able to define custom gestures/shortcuts would be really handy for people to optimize their UI for their own needs.

Thanks for informing me on something I know Shifty ^.^, once you get used to the orbs they are mad handy, but for example a new user might not realize intuitively. Most people we need to introduce vs them being able to figure things out on their own. This is more so, a suggestion for the UX/UI Redesign. While they currently directly call these menus, it would be advantages for people to see something can interact with vs the orbs, like test or an icon to indicate. Because right now, while we meme, hello I'm new to Neos with the hand menus popping up constantly, people do get confused by it a bit. Each hand would just have a dedicated system menu of choice that could be configurable too since Froox said he wanted a widget based like system.

Something like this, the history would be a convenience tool at best.
image
The component card would only work if the slot has the component.
Also maybe it would be better do have drawings or some sort of ui designs when suggesting for the future.

So I realized looking back I had misdrawn this and was still getting used to Neos and understood where I might have confused you Froox. So here's a remake, essentially it's a reference of anything, and popping it into the header above a logix interface will give you the interface you desire. The behavior could be from generating another reference or swapping out the proxy target entirely, but would let you keep existing connections. This could also let you do some more dynamic stuff as time goes on as well, as you could just write a ref to an interface, and from that have various gets()/sets() methods tied to the interface, which would also make the collections aspect easier to visualize.

mspaint_KHWmyLbhFW (Sorry for MS Paint Quality :P)

If could allow you to have things easily drop in and out, and not break logix say if a ref goes poof, and you could easily just redirect a reference in logix or in menu component.

Adding another suggestion here for later from Rukio on Discord - add a microphone gate configuration by sliding a threshold on the volume bar.

I plan on reworking it a bit to integrate it into main UI. Would also want to have the voice mode switch there and quick test which records a piece of audio and plays it back.

Logging another suggestion for consideration from the Discord: Language flags for profile and sessions, to allow filtering sessions by language and setting up languages on user's profile.

From Discord:

GroxxyToday at 12:54 PM
World language filters, people who don't speak english are starting to surface so it might be a good idea to have a language filter, to avoid communication troubles if someone who doesn't speak japanese joins a japanese world, same goes for english, spanish, everything... (either that or people are gonna need to start hiring translators) also because of ping, someone in australia hosting for a bunch of americans might be a bit messy with ping

KrimzenToday at 12:55 PM
Probably difficult to regulate since the playerbase isn't very large at the moment, perhaps a better idea would be allowing users to selected a language/country that makes a flag pop up next to their name

FrooxiusToday at 12:56 PM
Yeah that's not something I've considered yet, but it's an interesting idea. It could be at least ability to flag the world with main language so people know before they join.

I'll take it into consideration with the current UI overhaul and try to incorporate features for that.

KrimzenToday at 12:57 PM
That way users from certain countries can identify each other quickly, and perhaps allowing 2 icons (one on each side of a name?) would allow bilinguals to show that they can be spoken to in either language
Something I think would be awesome would be a profile kinda thing
Perhaps something people can program (CSS, HTML) online that other players can view

FrooxiusToday at 12:58 PM
Yeah it would definitely be good as a profile thing. You can include languages you speak. And if you host sessions it could use that information as default.

Right now you can place any extra sprites and badges on your avatar yourself, so that could work in the meanwhile.

I like these ideas so far. The biggest thing I would recommend is to make the file browser look like an actual file browser you would see in an operating system (with logos and stuff), and not just a bunch of colored squares with text.

I do plan on adding thumbnails and fetching system icons for the files if possible, but it's a question of priority, so I'm not sure how soon it'll get done. I do want to rework the interface a fair bit to be nicer to work with.

I'm not fully sure if having it look the same as OS file browser would be the best though, given the lower resolution of the VR headsets it text size should be prioritized so it stays readable. I think we could have some nice sprites for common asset types that serve more as a background for the text, but those would need to be made.

Something that we should probably have to help new users is a menu that shows you the key binds, both VR and Desktop, and being able to remap them. Maybe even have custom key binds that aren't linked to any action, but are instead user specific for the stuff they create or additional input devices like soundboards and stuff.

Also, something like a push to talk button, because there should be a easier way to stay muted if there's a lot of background noise like family members or headset handling.

For avatars that don't have talking animations, or just in general, there should be some kind of indicator on the nameplate, like a loudspeaker. The same thing applies to the session menu for people who are out of sight, so that you can figure out who's currently talking, and the stream camera user menu so that you know who to mute.

Something that would be nice for world creators is having shared world specific inventory that everyone can share stuff in while building.

For game worlds though there could be some way to customize your own inventory system, like a template to use for in game items that actually have a limited amount stored. Being able to set stuff like stack sizes or weight limits.

Having UI resource elements that you can set up for health and mana/energy, or in game currency/resources, which are character specific for the world.

Being able to save your progress in that game world... This is probably way beyond simple UI though. Sorry if these are too specific ideas but I think you'd have to have an UI universal system to support such gameplay elements. Some kind of templates/components to support this or we'd have to build it from the ground up with every game map.

Thanks for the suggestions. I'm not sure if I'll get key binds with the UI/UX redesign itself, it's a separate feature I plan on adding later on. My goal is going to have good defaults for now.

We have a separate issue for push to talk: #320 There are a few issues with it that need to be solved.

I definitely want to add active volume indication to the volume sliders in the UI though, so that's definitely coming!

You'll be able to make your own UI's with the new framework (you can with the current one too, but it's more tricky), so building that isn't an issue, people are doing that already in Neos.

I'm not sure about the inventory system customization, that sounds like it's game-specific and it kinda falls outside of the scope of Neos' general inventory. Same with the saving progress, that's not something the UI is going to be responsible for.

It's something you can script with LogiX or there might be components to make it easier, but that falls outside of scope of the UI/UX update.

Something else I think should come with the new UI is an info box/tooltips. In this case the sooner the better, since new features being implemented would require some kind of in game description on what their purpose is. My reasoning for having tooltips is giving new players all the information they need without requiring to consult outside sources like the wiki or relying on someone with the necessary knowledge to be around.

This is why I wanted keybinds too, but even a temporary image to consult in game is would be nice.

We can't always rely on the community, plus having an explanation on what in game tools do speeds up the process of learning. Also having an option to write a description on items now, would allow us to have a easy how to use guide before spawning them. Really usefull for informed decisions on purchasing items when publishing becomes available.

Logix and components can have explanations and use cases too. Basically having some way to get all the info you need in game, the sooner implemented the the better. It's better practice to have new features explained at the time of release, with in game sources, otherwise we have a huge pile of stuff you can do but only few people with the experience and knowledge to use them.

Yes, tooltips are one of the major things I want to add with the UI/UX redesign. They're something that's not possible/easy to add with the current UI framework.

The explanation part is tricky though, the explanations and documentation needs to be written. Especially for components and such that's a lot of documentation work, so I don't think it will happen right away.

I do want to link it up to Wiki/Translation system later on though, so community can help documenting a lot of things and have it shown for other users in-game.

Adding note from Discord: Setting to determine which action gets preserved when using one-controller setting - turning or strafing. Alternatively preserve whichever controller is free.

Another from Discord: Option for controlling movement/strafing individually based on head or controller, to allow better customization.

There was actually a really good concept with locomotion curves from the guys on Boneworks to at least handle all the different types as well. I think something like this would greatly benefit Neos.
Screenshot_20200112-215536~2

Something else I thought of that would benefit UI windows is being able to set up and save their default scale. That way people having problems reading the tiny text can set their windows to be larger, or those with higher resolution headsets can scale them down.

Also having an option to make the window screens face the user directly (like the portal camera in the MTC character creation room).

I definitely think one area that needs to be made the most dead-simple UI and function-wise is avatar creation and FBT setup. Possibly UI prompts to adjust commonly changed values, like:

“If you can see parts of your avatar’s head when you wear it, that might be due to X. Want to adjust this?

[ ] Yes [ ] No

(And then a slider if yes is selected)”

Here’s some functionality that the current UI is missing and/or would be nice to have improved upon:

1. General UI window/function improvements

  • Being able to set up and save the scale/dimensions/position of your UI windows, so that you don’t need to readjust them every time you start the game.

  • Being able to make UI windows always face your POV, so that you can position them further away with lasers and not worry about them being tilted at a wrong angle.

  • Being able to lock/unlock a window’s position/scale etc.

  • Access to some of the UI specific functions such as Respawn, Broadcast,Whisper, especially Mute, so that you can set up Logix to toggle Mute on/off. For example if I want to add a snappable mute sticker on my character >:X , that I can snap on and off to quickly control my mic.

2. Hand Menu:

  • Having an official public tool to re-adjust your grabbable spheres, tooltip and menu anchors size and position

3. Inventory:

  • Being able to cut/copy/paste or alternatively a drag and drop items in different folders.

  • Being able to select/checkmark multiple items at once, mainly for faster moving/deleting.

  • Being able to rename the saved objects/folders and pick custom preview images from the interface.

  • Being able to open multiple inventory windows so that you can transfer items in between different folder’s hierarchies faster. Also lets us browse more asset folders at once for convenience if you're using more than one type of texture/mesh/etc in your project.

  • Having a dedicated Trash Folder that you can restore stuff you deleted by accident.

  • Saved objects, remembering when and by who the item was created.
    Example: If the object hasn’t been saved by anyone yet it gets you as its creator, but if you save someone else's object without modifying it you get something like a ID link for it like the public folders work, or a snapshot of that version of the item ID at the time it was saved.

4. Friends List

  • Being able to see when your friend has been last online. (An option to hide that information if people don’t want it shared.)

5. Session Menu

  • Being able to see who’s currently talking in the Users List so that it’s easier to identify who you need to address if you don’t have a good visual by looking at their avatar. Useful if you are hearing them away in broadcast too and don’t know who’s speaking. Also for muting people who are having a loud private conversation or just spamming when there is a huge group.

  • Being able to click on a name from the Users List and add that person as a friend/block them.

  • Being able to form a Group/Party and transfer Leadership so that when you close a map, everyone else can join the new leader.

6. World Browser

  • Being able to search for worlds with only partial text input that isn’t case sensitive.
    For example: typing in - mater , lets you find all the worlds tagged/titled with a word containing mater

  • Being able to filter your search with User, Title, Tag checkboxes, so that you don’t need to enter [by: FullUserName] every time

  • Being able to order worlds by their creation time and displaying the date when they’ve been uploaded. Ordering by visits. Maybe even being able to filter by using from/to date.

  • Being able to see/set the number of worlds displayed per page, and also being able to see how many pages/worlds there are in total. Being able to input which page number you want to go to.

7. My Worlds

  • Being able to directly delete your worlds without having to spawn a world orb.

Most of my concerns were already mentioned by abysmal2134.
The scaling of windows and texts is an important point for me. I am not sure if this applies also for the connectors between nodes and the grabbable Area of elements (e.g. if I want to shift a selected Object, that tiny arrow or in logix the small border of the string-box)

@Abysmal2134 @GoodOldNervy That's great feedback, thank you so much! Some of these go more into territory of new features rather than just plain UI, so they'll probably get done later, but they're things we want to do regardless. We'll go over those in detail on the stream next week.

@Casuallynoted Hmm would you mind elaborating on this? The avatar creation and full body calibration is something that has received a lot of work to be made much simpler already and apart from some polish on the UI and some extra hints and information I'm not sure what would make these complicated to use.

Adding some more common fixes for things like clipping geometry could be done though! I already did work on making a lot of the parts automated (eye/viseme setup and such).

@Abysmal2134 @GoodOldNervy That's great feedback, thank you so much! Some of these go more into territory of new features rather than just plain UI, so they'll probably get done later, but they're things we want to do regardless. We'll go over those in detail on the stream next week.

@Casuallynoted Hmm would you mind elaborating on this? The avatar creation and full body calibration is something that has received a lot of work to be made much simpler already and apart from some polish on the UI and some extra hints and information I'm not sure what would make these complicated to use.

Adding some more common fixes for things like clipping geometry could be done though! I already did work on making a lot of the parts automated (eye/viseme setup and such).

Absolutely! Definitely common fixes- cause right now I think when it comes to mass usership, there are too many scenarios where an avatar will be imported and set up using the avatar creator, but something is off that requires inspector use to fix. Some good examples atm aside from clipping-

-The Eye/Head target. I know when you drag the headset to the avatar's head, that's effectively placing the target, but I've had a number of times where it is in a place I totally didn't expect it to be. I think maybe having a UI element in the avatar creator that shows you the exact transform point of that target and allows you to manipulate it to the best possible point (maybe in between the eyes?) Kind of like the Avatar Edit Station in the "Essential Tools/Avatars" folder, but for eyes/head stuff.

-In general, perhaps having the functionality of the Avatar Edit Station incorporated into the avatar setup utility for post-setup changes might be really awesome for new users. I know I had no idea that existed for a while when I first started with avatars ^^;

-Kind of the same thing for avatar height and height compensation. I see these values being tweaked a lot. Maybe some text as well to give the user an idea of what type of balance they want to strike with those values.

-One thing that would be super cool UI-wise would be if there was an option that sort of forced your avatar into a T-Pose and showed the bones similar to Unity's rig configuration screen. You could then drag and drop armature elements into little boxes for each of the humanoid skeletal targets. This way if something isn't picked up by the avatar creator due to being named weird, you can adjust it outside of the inspector.

As an avatar creator, I've found the current system incredibly frustrating so, it's great the UI is getting an overhaul. Here's my quick overview of an avatar creator UI, I'm not sure how this would fit into your overall design schema but here it is:

First unless absolutely needed, eliminate the need for specialty tool tips: having to switch between them (like developer and material) is confusing!
Each of the categories below should have the basic functions at the top and contain sub-categories for advanced functions. The various sub-categories could be tabbed to make it easy to find and access.

The Avatar import/configuration container would be the main box containing navigation to the following sub-containers.

  1. Import - have the local folder navigation to pick the import file. Possible checkboxes for importing with or without textures/materials or armature. I would suggest a default material for basic setup.

  2. Texturing - If possible have materials automatically import and list. This should go directly to the avatar materials, you should not have to drill down through multiple inspector layers. The ability to drag and drop texture files would be great. The ability to drag textures onto various material slots such as albedo, normals, and specularity is extremely important! There would be an advanced button with sliders to adjust the overall textures (like alpha clipping, specularity).

  3. Armature/avatar creator - Start with a basic setup button that spawns the configuration widgets. Beyond that, the advanced sub-categories can get tricky because there's a lot to armature set up. Here are a couple of possible sub-categories. Also, if there are setup platforms/templates for any of these, there should be a button to spawn the specific platform.
    Jaw and eye setup
    Viseme setup
    Full body setup

  4. Save - Can be a button off any of the above categories with easy folder navigation.

  5. reconfigure/delete - This category would list all your current avatars and have a button (with multiple confirm) to delete. Also, breadcrumbs or tabs to the above sub-categories to allow easy choosing and reconfigure of avatars.

I asked the Japanese community about ideas for improving the UI, and they replied:

Inspector
-I want to select multiple slots at once in the hierarchy and move, delete or copy them at the same time. (E.g. Shift + click or Ctlr + click in Unity hierarchy)
-I want to copy one component to another slot. (I would like a shortcut instead of using the Component Clone tip. For example, Grip the name of the component and release it at the destination slot.)
-I want to change the order of slots in the hierarchy.

Inventory
-I want to organize my inventory by drag and drop like using Windows Explorer.

Friend list
-I want my friend request to appear at the top of the friend list.

Others (these may be unrelated to UIX, but are the features they want)
-I want a way to instantly find the connection destination of the LogiX reference node and drive node.
-The current UI is difficult to use for non-creators. I want a function that switches to a simple UI mode that is easy to use for people who only consume content.
(For example, a panel that displays only the functions frequently used by consumers, such as a friend list, a world list, an avatar list, and a locomotion mode.)
This helps non-creators use NeosVR.
-I want a function to display my language. Also, I want content to be picked up and displayed in the home world according to the language selected.
(For example, when Japanese is selected, the world orb of "JP Tutorial Worlds" appears in the home world.)
This will help beginners get started.
-I want to support multiple languages. It's very hard to translate every sentence, but we want to help with the translation.

I'm sorry for poor English.
The Japanese community is looking forward to the UIX update.

Don't know if this ever came up or was a thought, but a hybrid of the Bottom Bar and World Browser Table? As much as we go more to a UI interaction vs world orbs, would be still cool to keep the old world orbs in some form or fashion.

A search bar in the inventory and logix node selector to quickly find items by tag and nodes by name and a scrollbar for inspectors tho quickly scroll through a whole list with with both a pageup arrow and pagedown arrow that brings you immediately to the top or the bottom of the list in the inspector handy for when you got lots of materials/components and need to get to the bottom quickly to add a component

Oh yes and for the wrist dials a way to save an item directly to an assigned folder (favoriting that specific folder) in your inventory ie a download folder so when you grab it and an item is saveable the save item icon pops up do you can save it directly from your wrist menu I see lots of new users try to do this and ask for it also saving a public folder by simply dragging and dropping it into your inventory I also see new users try to do this and it would be handy indeed

Note: Illustrations are not meant for the look of the UI but to show how the functional elements would work.

This is a request of features that would be nice to have with the UI rework. It would allow users of multiple skill levels to easily customize their UI. Panels will be used to describe adjustable background display area of a menu. Widgets will describe items that are within a panel display such as component shortcuts, inventory items, logix nodes, etc...

Combining/Separating Elements
UI elements(panels) with similar widths or heights could be combined much like they are in Blender. The same is for separating a UI element into 2 parts.
Bubble UI

Widget Dragging
Ability to drag widgets into a menu much like you would for a cell phone shortcut. Widgets can easily be duplicated or moved from one UI element to another.
Dragging Widgets

UI on User for Host Manipulation
A clickable UI that appears on a User for Host to manipulate the volume and permissions visually. Circles above/below would represent max/mute.
Host to User Tools

Snap Anchors for UI
Similar to a camera anchor combined with a snap target. A visual snap target that allows for easy placement of panels. Optionally snap target could be generated from placement of panels. Other panels can easly be removed or swapped to snap to the default placement.
Snap Anchors for UI
Snap Anchors for UI-move01
Snap Anchors for UI-move02

Incremental Rotation
Rotation of the panel that can be done in specific increments (ie. 10, 45, 90 degrees) for fine tuned and easy alignment. Increment of degrees can be adjusted.
Adjustable Incremental Rotation

Here's a few other parts the UI could see improvements in when it comes to dealing with Worlds.

  1. When using the World Switcher, I've noticed that new players have a hard time navigating through the chain of world orbs. Here's some problems I can think of with the current implementation of the World Switcher:
  • Holding down trigger to close a world orb isn't immediately apparent.

  • If you close a world in the middle of the chain it often splits into multiple chains that makes it harder to locate and swap between worlds, since you need to twist your wrist or grab and reposition the World Switcher to get a better viewing angle.

  • It requires the use of both hands to properly navigate. People with shaky hands or disabilities might have a problem with that.

  • Also another point that should be made is that the World Switcher takes it's own button shortcut when you already have one for the Session Control.

  • And finally, you currently don't have an easy way to switch worlds in Desktop Mode.

My suggestion for improving the World Switcher is to integrate it into the UI. The best place would probably be as a tab under the Session Menu, since that's the place where you control your currently active session and logically that's where all currently active sessions should be rather than under the Worlds tab. This solution has the benefit of letting you navigate your sessions in Desktop Mode too,

I'd imagine the Active Sessions Tab would look something like how the active-sessions channel in the Discord, but only those your user is currently in. Some kind of highlight/border indication for your current session, and distinction between headless/hosted/local would be nice. A button for closing the worlds that can also serve as an indication that the local world session can't be closed. Maybe have and indication on when the session was last saved.
Another idea to further compact your UI belt menu is to control Saving/Closing/Creating New Worlds through the Session menu too.

  1. When opening new worlds from the world browser, in order for you to choose your session options you need the intermediate steps of spawning a world orb and then, navigating to the start a new session button, selecting your preferred permissions and then starting a new session.

It would be nice if we were able to choose the session settings from the world browser when selecting Open World. Often times people can open a world as public by default if they forget that they're not invisible.

Other thoughts. I'm not sure if World Orbs and the way they're handled are the reason for new players to have problems with navigating through Neos. To me they seem useful as a physical representation for joining and sharing a world, but at the same time they seem like a very bad tool when navigating the UI and trying to save/delete world or start sessions since spawning them only slows the process down and clutters your world.

A couple of notes, @Abysmal2134- the world browser/session managing will be heavily reworked in the new UI, and should hopefully address your issues.

In screen mode, users can switch sessions by pressing Control + Tab. Thanks for the feedback. :D

new-wrist
condensed-wrist-menu
inventory-restructure
new-menu-main
new-menus-restructure

Not sure how much of this is relevant anymore, but I figured it's worth keeping them around.

When using widgets to build custom ui elements/windows, I was thinking it could be pulling out from existing windows or using a blank window, clicking a gear>clicking edit window, then going through a categorized widget browser to add and remove what the user wishes before attaching them to a users personal space hard point.

I was also thinking if the main dash could have row options so it can be condensed at the users desire to be more middle of the screen square. One issue I see a lot is how often people have to look left and right and get frustrated having to turn nearly all the way left to right in english reading fashion before finding something like tools on the far right. If they have the option to stack dash items in a 3x3 (example, numbers flexible) grid it'd probably help them use a directional muscle memory reflex when going for specific items upon opening that menu. Admittedly, even I still go all the way from left to right in the oculus dash itself when looking for the virtual desktop.

Note: dash elements can be re-arranged to preference too, right? Thatd make a lot of people happy for customization reasons.

Facets (formerly known as widgets for lack of a better name at the time) will be modular by design so that users can customize the look, and placement of them, yes, @DeliriousJax.

I mean the primary Dashboard/Menu. That covered, too? I'd even recommend having the default start with two rows if it's rather long left and right otherwise.

Another thought. Has menu button mapping been discussed? Like pressing "m" on the keyboard brings up a dialogue in VR that let's you map your controller combos to what menu you want it to quickly bring up?

Yes the pulling out of elements is planned! Essentially the UI will be composed from "Facets", functional pieces of UI and containers (like the dash, points on your avatar or in your placespace/viewport) where you can place them.

By default, all essentials will be in the dash, with a simple access, so new users don't have to worry about lots of different places, but as you get used to the new UI you can start recofiguring, rearranging and extending it with new/custom Facets.

I do want the dash to be smaller and more snug too so user doesn't have to turn as much, but also needs to fit in all the essentials properly. Being able to adjust its size sounds good! Not sure about rows yet, I'm not yet fully decided on units, but it'll likely be more finegrained than that. and grid-based. The Facets should be adaptive too.

For controller mapping that's a separate feature/system from the UI. I'd like to add it at some point, but it'll have to be a later thing.

neos-menus-pngs
I spent time concept thinging

Each block is an added in widget with a containing window and certain widget types can be added for extra/other windows.

Optionally, no containing window, and the widgets just stick together at the edges.
Another concept I think I'll work on is how grids could work vs hexagon aligning as well with hexagonal widgets because why not.

Hey, just in response to the comment on my Steam review about the GUI!

I may be repeating a few points that some people may have already mentioned, but I endorse though~

So.. I have put over 120 hours into Neos, even tried encouraging people to join up with the fun, but from them I hear the same complaints and it has been mostly about the GUI. All of them I agree with. You can make an amazing game, but if you put a confusing GUI with a learning curve, it really can be discouraging for people. The minute people have to learn something they start to lose interest very quickly.

I do have some game design experience, but so I can be critical. I have taken some notes from my first experience around Neos, I have also taken note of peoples opinions about it.

So!.. Let's start. I will compliment the new introductory world, it is very informative for first getting started. That was a big step since I didn't go through that when I first signed up, needing friends to guide me through.

However, The build editors need a fair bit of work..

Critic:

  • Too much information in your face with categories all in one view.. A lot of it is not relevant until it is, and there are so many opportunities to accidentally push a button or remove an attribute you did not intend to. Some I found with no way to revert the error. People want the basics when they first start.

I would suggest being able to Collapse and separate categories into tabs You want to make everything as clear as possible with the tabs,
eg. Materials could be their own category and icon that clearly shows it is materials. You want to reduce the amount of information that is in your face until it is relevant. This is not saying to get rid of anything, but to hide it so you can quickly jump to what is relevant to what you do.

  • Menu colours and font
    They are affected by light which can be problematic, eg, you set your worlds skybox or light exposure way too high, blooming out everything leaving you unable to see anything leaving you blind to revert the erroneous settings. I believe this UI should be unlit and not influenced with the light and environment at all. I'd also argue about the main menu having people able to walk in front of your view blocking what you are selecting, they do not know you have your menu open, I feel that this menu should always be in front of anything in your scene.

  • One solution for the accidental selection would be to implement the double press as Neos does with the delete button in the inventory.

  • Highlighted selected objects

The current method of a wire box surrounding the model is not very clear on what you are selecting.. It is a different way to do things, but the most informative way would be to highlight and silhouette outline the object you are selecting. Every game, or 3D program does it this way, it is rather proven to be the most effective way to show a selection.

Overall, these are a few big problems I see that need attention, but there is even more that I would address later on about the GUI. Yes I am aware you can get new build tools made by Neos users.. That took me 3 weeks to find out. Already got a tool that covers all my personal problems. But that is not available for newbies.

The real TL;DR that really needs to be done is to hide the complex stuff until they are curious enough to get into the cool stuff~

I have high praise for Neos and would love to see it succeed! I hope you find any of my advice helpful.~

I have no idea if this has been brought up, but a lot of interactions simply don't work right with desktop mode, and this includes menus--for instance, I tried to use the UI edit mode earlier today, and I quickly realized that I can't grab things inside my Personal Space in desktop mode! Neos has made great strides toward usability without handtrackers and a headset, but I'd like to see the UI redesign come with better desktop mode support.

This is simply because those a mechanism for those interactions in desktop mode just hasn't been developed yet, but is planned, @Derpford.