1. Neos VR
  2. News

Neos VR News

Welcome to new team members! Xiexe's Toon Shader, UI "Facets" and more

Hello everyone!

Welcome back to the weekly update. We have some wonderful news; The Neos Team has grown again! We have three lovely new members who have been working very hard alongside the rest of the team for quite a while now. If you wish to, give them congratulations when you see them online in Neos!

We also have a new, highly configurable addition to our Materials, the popular Xiexe Toon Shader used by many in other platforms. Over time, this will replace our current “Unlit Toon” shader. We’ll be going over why this is a pretty important step forward for our platform below.

COVID-19 has been changing the way a lot of us are communicating. The Neos Team is very thankful that we can at least provide you all with a virtual universe where you can safely communicate face-to-face in these trying times. If you ever feel lonely, come give us an in-world visit! There’s always friendly faces here. We’re all in this together, so let’s keep going strong!



[h2]Welcome to the team, Lewis, Rue, and Shifty![/h2]

We have three lovely new team members who have been working hard the last few months to help our community grow and thrive.



In all the excitement we forgot to take a proper group picture, so these two random ones will have to do!

[h3]Lewis Snow: Neos Team Sound Engineer![/h3]
Lewis has been a part of the community for quite some time now, and has been making some amazing items for everyone to enjoy within Neos. He’s quite multifaceted in his talents, ranging from modeling, world creation, LogiX creation, and sound design. He hardly needs an introduction, though, as he’s quite the social butterfly and is well-known throughout the community.

[h3]Rue Shejn: Neos Team 3D Modeler[/h3]
Ever since Rue has joined, he’s shown a huge interest in helping Neos move forward. Within his first day, he built out a world using only in-world tools. Now he’s progressed on to 3D modeling from within Blender and bringing his creations into Neos. He’s been working alongside our main 3D artist, Aegis_Wolf, for a couple months now on the MetaMovie project, improving his skills and showing his team spirit.

[h3]Shifty: Neos Team Bug Management/Triage[/h3]
From day one, Shifty has shown a huge interest in learning all they could about Neos, and has used their knowledge to assist anyone in need. You’ll frequently see Shifty in our official Discord server’s #questions-help channel, eager to answer any questions they come across, and taking the burden of helping users with troubleshooting bugs off of the shoulders of the rest of the Neos Team.

[h2]Xiexe Toon Shader[/h2]

Based on popular community demand, we have added a new Toon shader, to replace the aged Cubed’s Flat Lit Toon we’ve been using for a while. After evaluating several candidates suggested by our community, we have picked the Xiexe Toon Shader as the best balance of features and clean maintainable code.

Because long term compatibility is crucial for Neos, we have stripped away some functionality that we’re not certain we can ensure will stay supported, especially with some upcoming changes to the rendering pipeline or introduction of our own toon shader at some point.

Nevertheless this shader still offers greatly expanded functionality and customizability and better interactions with the lighting in worlds. So far we’ve heard positive feedback on this new addition!

Once a few more functions are added in and the integration is polished, we’ll deprecate the Flat Lit Toon and auto-convert existing instances of it to a close equivalent of the Xiexe Toon.

[h2]The functional UI elements have their name: Facets[/h2]

During the design phase, we have called the individual functional pieces of UI “widgets”. However this term doesn’t quite describe them well, because they can be anything from just a tiny FPS counter to a complex component or scene inspector.

After a discussion with the community on our Discord (in the #devlog channel), we have settled on adopting a new term: “Facet”. This will describe any individual self-contained modular piece of the new UI.

Each facet is going to be a part of a “container”. This can be the dash, its own individual window or a grid on your palm. The important part is that they can be freely moved between containers, allowing you to rearrange, modify and extend the UI so it suits your needs.

Under this new system, each screen on the dash is going to be a container, usually with multiple facets. By default it’ll be preloaded with the official ones for the common functionality, but allow it to be customized and expanded with community made facets, to introduce completely new functionality to the UI.

We chose this term for a few reasons. One of them being a nice metaphor. Facets can be nice and shiny pieces, like on a gem. And having the UI be highly customizable can be considered to be multifaceted.

But also importantly, it’s not a term that would be used too commonly and confused with other things. We expect that the community will start building lots of custom facets and once we roll out the Neos Workshop, share or sell them, so having a unique term will make it easy to search.

[h2]Community Highlights[/h2]
[h3]Avatar Motion Recorder by Dante[/h3]

Dante has created an amazing piece of LogiX, which can record a user’s body movements, save them into an avatar, and that avatar can play the recorded animation! This will be great for creating NPCs in all types of games!

[previewyoutube][/previewyoutube]

[h3]Planetary Prometheus by BIOHAZRED[/h3]
This dark, beautiful world is inspired by Destiny, and features many interesting areas and mysterious structures. Great for hanging out and exploring! Come bring your friends to this amazing world!

[h3]Celebrating Saint Patrick’s Day in Neos[/h3]
We hope everyone had a happy Saint Patrick’s Day this week and stayed safe! And thanks to everyone who joined us for the celebration party in Neos in Epic’s Cave Club by Epica2m! You can check out this beautiful world in Neos or watch the livestream here:

[previewyoutube][/previewyoutube]

[h3]GDC 2020 event in Neos[/h3]

This year we had the honor to participate in the Playable GDC 2020 event as one of the social VR spaces that people could try out at the event and serve as one of the camera feeds for their livestream. It was a blast, thanks everyone for joining and trying out Neos!



[previewyoutube][/previewyoutube]

[h2]What’s Next?[/h2]

Currently the work is undergoing on implementing the new UI. A few small components have already trickled into the builds, with more to come. First we are replacing smaller parts of the UI that can be released in smaller chunks, to provide improvements early on.

This includes the new circular menus, lasers and laser interactions (like remote grabbing and clicking) and equipping tools and items. You’ll be able to use these still with the old dash and windows.

The next step after that will be the dash itself and the facet system. Since for this it’s harder to replace things piece by piece, it will take longer to rework all of the important bits and swap the dash, but we’ll release the bits and pieces in regular bits for you to play and experiment with as we have done with UIX.

Thank you for reading this week’s Weekly Update!

Semiweekly Podcasts, UI/UX overhaul details, Linux support, Etee Controllers

Hello everyone, welcome back to your weekly dosage of NEOS news! This week we’ll be talking about our new semiweekly podcast, brought to you by our wonderful Team member, Coffee!

We’re moving our release schedule around a little bit to adjust to the Neos Team’s new work schedules, our Friday night streams will still remain on Friday, some time between 6-6:30 PM Eastern.

The Weekly Update will be releasing on Sundays in the evening, specific time pending. The semiweekly podcasts will be Sunday 3 PM Eastern (12 noon PST) and Wednesday 10:30 PM Eastern (7:30 PM PST).

We’re also sorry for missing the weekly update last week! Frooxius, our project lead, had his wisdom tooth pulled last week and was out of commission, so last week was pretty quiet. Hopefully this week updates and details will make up for it!



[h2]Semiweekly Podcasts[/h2]

Coffee has initiated our new Podcast schedule, where on Sundays, we will be having a podcast talk with users along with Coffee and I (Veer). We’ll be talking about some fun and interesting topics revolving around Neos, creativity, philosophy, psychology and how it ties into VR in general! If you want to join the cast, please contact Coffee about joining!



Topics change every week, and we’ll be showing off various worlds as well during the podcast. We’ll be currently utilizing Mixer for our podcasts but our friday streams will continue using Twitch. We want to expand Neos to a bunch of new horizons!

Also, after the streams, we typically will do something fun after for a while. Last sunday we infiltrated Nexulan’s CreatorJam Twitch Stream. We hope to see you there. Feel free to ask us anything, we’ll be responding to chat!

You can watch the podcast here on Mixer.

[h2]UI/UX Overhaul is taking shape[/h2]

The work on the second phase of the UI/UX overhaul has already begun. The first and most important step is defining the fundamental principles of the new UI. We’ve collected information on common user frustrations with the current UI, the issues it has and things people would like to see.

Based on this we’re designing a new system to solve all of those issues, while providing a good set of ground rules to keep the new UI system consistent and avoid confusing and frustrating behaviors. Decreasing friction for new users is one of the major goals, as well as allowing the UI to grow and adapt as they get more used to Neos.

To achieve this, we’re currently considering a system with following three UI subsystems:

  • New Dash - this would be a dash screen, similar to Oculus or SteamVR dash. It would contain everything you need to navigate Neos, join friends, socialize and play, all in one place. For new users, this would be the only interface they need to understand to get around and as such having a quick and easy way to open and hide it is key.

  • Contextual Hand Menus - these would replace the current radial menus. They’d be redesigned to allow quick use and navigation, but also to not block any interactions and automatically dismiss themselves when not interacted with.

    The purpose of these menus would be to provide functions that are contextual to user’s hand - destroying, duplicating or equipping items as well as quick access for common functions for equipped tools.

    One key difference is that those are non-essential for socialization. We still want to make them easy to use, but any functionality necessary for socializing/navigating will be moved to the dash (e.g. locomotion mode), decreasing the systems a new user needs to learn, while allowing quick workflow as the user gets more experienced.

  • Hand / Arm / Head / Userspace UI slots - these would be designed for more advanced users, as they get more used to Neos and want to improve their workflow. Thanks for the widget-based design, pretty much any piece of the UI could be taken out and placed in a different place.

    For example, instead of having to open dash for access to voice controls, you could take the voice widget and put it on your palm for quick access. Or take the FPS counter and pin it to a permanent place in your viewport.

    By default, this system would be empty, not requiring new users to know anything about it. However as the user gets more experienced, this would allow them to customize their workflow and adapt the UI to their needs. Casual users could place shortcuts for any socialization features, while creative users could put widgets for quick tool or prefab access.


These are several other principles and changes that go hand-in-hand with those systems. Namely:

  • Widget based design - instead of monolithing interfaces, every piece of the UI would be containerized into “widget” (we might call them something else later on) - individual modular piece that can be placed/snapped into lots of different places.

    More complex UI’s can be composed from several interacting widgets - for example the friends list can have a widget for friend browsing/search, another for viewing their profile, another for status and another for chat.

    This allows for several things. On our end it simplifies the development, by breaking up the pieces and making them have more clear defined roles and allow for better reuse. On the user's end, it lets you take a piece of the UI - say a chat window with a particular user and pin it to your hand or playspace.

    And importantly for creators, it gives the ability to extend or modify the UI in much simpler ways. The community can build completely new widgets that you can then place into your UI or replacements for official widgets - for example building a different chat or friend browsing/search, giving everyone more control over Neos.

  • Emphasis on using tools without equipping - equipping tools and items can be quite confusing for users, so we want to make several improvements there. One of them being more emphasis on being able to use items without having to equip them first, simply allowing to hold an item or tool and use it.

  • Disabling shortcuts by default - another related change would be redesigning behaviors to be more explicit and use existing systems that the user is already familiar with. For example if the user wants to actually equip a tool or item, they would do so through the contextual hand menu.

    This will prevent scenarios where using the double grip to equip is difficult for users to execute correctly or happens by accident, making the users confused, because their controls have suddenly changed.

    However we still want to have shortcuts, so having ability to enable them in settings is equally important, again allowing the user to improve their workflow as they get more used to Neos.

  • Explicit laser toggle - users grabbing or clicking things by accident due to infinite range of the laser is one of the other common confusions. To solve this, we want instead switch to a more common scheme used in SteamVR, Oculus Home and other places, where pressing the trigger once will first activate the laser.

    This will let the user to click remote items and grab remote objects. The laser will automatically dismiss itself when not in use. We believe this will also improve immersion, putting more emphasis on physical interactions by default and having the remote ones being more explicitly activated.

    It will also let us improve interactions with the UI. Because the interactions will be more purposeful, we can for example allow us to use a joystick for scrolling the UI panel while it’s being interacted with, without fear that it will be randomly blocked by this behavior by the user accidentally pointing at some distant UI.


This is more or less the gist of the crucial UI changes and principles. The are a lot more things, details and implications that are considered and any of these things can change as we go on, but hopefully this gives you an idea of our goals and thought processes for the redesign.

If you have any thoughts, suggestions or feedback, let us know! You can talk to us on Discord or the UI related topics on our GitHub issue tracker.

You can also check out Frooxius' notes on the overhaul by clicking on this thumbnail:



[h2]Linux Client Support[/h2]

Neos now officially runs on Linux! While far from perfect, the native Linux builds are usable both in the debug screen mode and in VR, allowing you to do most things that can be done on the Windows counterpart. You can host or join worlds (there’s a full cross-play support), hang out with others or build.

Currently there are several major limitations. Video playback is not supported, some shaders don’t work (mainly Flat Lit Toon), 3D models can’t be imported on the Linux build (but already imported models will load) and visemes won’t show on avatars due to lack of Linux support in the OVR Lip Sync library.

[previewyoutube][/previewyoutube]

Regardless, this is an important step towards multiplatform support, as those issues can be fixed or mitigated over time. In the meanwhile, we recommend using the Windows version, but if you’re okay with those limitations simply download Neos on Linux version of Steam and play!

You can discuss the development of the Linux build on our Discord or here on GitHub.

[h2]Etee Controller Support[/h2]

We’ve brought Etee controller support into Neos! Currently, the system is a little buggy since the controllers are still in development, but at least we’re seeing the family of usable Neos controllers grow a bit! Supporting a wide variety of hardware is important for us, as it gives more users access to the shared metaverse.



[h2]Updates, optimizations, tweaks as usual[/h2]

Apart from these big features, Neos has received many smaller tweaks, optimizations and bugfixes as part of its daily development. Watch the #neos-updates channel on our official Discord or the patch notes on Steam for details.

One of the major ones were optimizations to our cloud infrastructure. We have moved from Windows App Service to Linux version, providing significant cost savings and allowing us to scale more freely under load and we have made major optimizations, which improved the stability and lowered server utilization under load.

[h2]Community Highlights[/h2]

[h3]Bob’s Sleeping Place by Bobotron[/h3]



A relaxing little world, dimly lit to help keep a calm atmosphere and may even help users get sleepy before bed. Complete with a unique media player and a full playlist of chill music, you’ll definitely feel zen after visiting.

[h3]Avali Campsite by Kazun[/h3]



This world invokes nostalgic feelings of Starbound, with beautiful music accompanying familiar visuals of Avali architecture. You’ll find a cozy little Avali tent, some computer hardware, a galaxy map visualizer, and a longing to travel the stars in the sky.

[h3]Escher Stairs by GearBell[/h3]



GearBell is continuing to wow us with her amazing worlds! This is her VR rendition of Escher’s Relativity, a gravity defying, mind-bending piece of historical artwork. A really fun tooltip is provided that can shift your gravity so you can enjoy this world from all of it’s respective angles.

[h3]Space Commute by Mr.MegaTronic[/h3]



Mr.MegaTronic has created a stunning world where you’re in a commuter train in Space! The seats are set up with avatar anchors, with a set of chairs utilizing an experimental anchor creation system. The lighting and materials are top-notch, so give this world a visit!

[h3]Remote University lecture due to the COVID-19[/h3]
Because of the Coronavirus COVID-19 threat, the schools and universities in Czech Republic have closed down. Doc. Petr Klán, who teaches VR1 class at the Czech Technical University in Prague wasn't stopped by this, instead doing his lecture fully remotely through Neos, as well as student's exercises.

Unfortunately the lecture is in Czech, but if you're interested you can give it a watch here:

[previewyoutube][/previewyoutube]

[h2]What’s Next?[/h2]
Our main focus is currently the UI/UX overhaul. We'll be starting to implement first parts of it soon, so keep an lookout for changes!

Thanks again for reading our Weekly Update! We’ll keep you up to date for future events and happenings within the next few podcasts and streams, as well as future weekly updates to come.

Look for us on Twitch and Mixer as some of us will be streaming for fun on non-scheduled days! And as always, stay happy, stay creative and have a great week!

2020.3.6.46 - Etee Controller Support

Adding Etee controller support. Sorry for lack of builds or being around recently, I've been out of commission for past few days (my wisdom tooth got inflamed and had to be pulled and I spent most of the week in fever/pain :( ), just pushing this one out because I promised a delivery date. I'll have some more builds for you soon!

[h2]New features:[/h2]
- Added support for the upcoming Etee controllers
-- They need to be used with the Vive Trackers for 6 DoF tracking
-- Assign the trackers a "Right Shoulder" and "Left Shoulder" role in SteamVR input binding, depending on which hand they're held in (shoulders are used due to some issues with SteamVR Input)
-- Launch Neos with -Etee argument to enable etee support
-- Here's a quick demo video: https://www.youtube.com/watch?v=BKF-OF1oyus

[h2]Tweaks:[/h2]
- Added info whether a finger tracking solution tracks the metacarpals bones. This allows the hand poser from trying to update or simulate those with some hand tracking solutions, resulting in mangled hands.

Introducing UIX - new high-performance UI framework, UI overhaul coming next

Hello everyone!

We have a very exciting update this week, the technical phase of UI overhaul is now complete! I’m excited to introduce UIX, our new high-performance flexible UI framework that will power Neos’ UI for years to come.

And even though right now the UI still looks more or less the same (that will start changing very soon though), it brings massive performance improvements, significantly reducing lag with inspector, friends lists, inventories and other heavy UI’s open. Read more on it below!

Last week we also held a special stream discussing the future of Neos’ UI. Thank you everyone for your feedback, suggestions and ideas! With UIX complete, we’re now moving onto the second phase of UI overhaul to improve the ease of use and visual aesthetic of Neos and knowing what issues you have and the things you’d like to see in the future will help us with the design tremendously.

Don’t forget to join us for today’s livestream as well! Not only we’ll be talking and showcasing UIX, but more importantly the community creations from February! After all you’re all who gives this metaverse life.



[h2]Massive performance improvements for the UI[/h2]

One of the design goals of UIX was to significantly improve performance with complex UI’s in Neos, particularly inspectors. We have achieved this through a combination of design principles, that have provided orders of magnitude improvements.

The old UI system built with Unity UI would easily bring the framerate under 20-30 FPS opening a single scene root or avatar rig, but with UIX you can open dozens without affecting the framerate.

Similarly if you have accumulated a lot of friends in the Friends dialog, opening this would cause many people to freeze briefly and drop the framerate by dozens of FPS. Virtually all UI interfaces are now significantly more optimized, removing or reducing initial hitches and their continuous impact on framerate.

This makes Neos much more comfortable to use for everyone, allowing more users to easily edit inside for a world without hurting other people’s experience (and their own) and makes accessing and modifying complex components (e.g. DynamicBoneChain with hundreds of bones) possible.

[previewyoutube][/previewyoutube]

There are 4 design principles that have made UIX a highly performant framework:

  • Asynchronous - only basic update information is collected on the main thread and computations are then done in the background, while the rest of the game still runs. Complex layouts that take long to compute will no longer freeze you until they are done
  • Multi-threaded - a lot of the layout and generation work is split across multiple cores, using your CPU better to compute UI faster, resulting in snappier and more responsive UI. Each UI canvas also runs its own loop, allowing them to update independently of each other, instead of freezing the game until they’re all done
  • Change-driven - only the changed parts of layout will actually be recomputed. UIX intelligently invalidates only properties that have actually changed and “absorbs” invalidations that produce no effect higher in the hierarchy. This reduces the overall amount of work when only parts of the UI update every frame
  • More efficient - the compute and layout algorithms have been designed and written in a highly-performant way. Even without multi-threading and change tracking, UIX takes fraction of time to compute the same layout as the old Unity solution






https://www.youtube.com/watch?v=_1eryMreauc

[h2]Custom font support, materials, unicode and more features[/h2]

Performance wasn’t the only thing that UIX has improved. Built with our new text rendering system, UIX inherits all of its capabilities as well!

Now you can use any TrueType/OpenType (.ttf, .otf and such) fonts within the UI. Want all inspectors to use ComicSans? We don’t see why you would, but now you can! And of course you can use multiple fonts for your own UI’s, the possibilities are limitless.

[previewyoutube][/previewyoutube]

Dynamic generation of Unicode glyphs is also supported, so languages like Japanese, Korean, Chinese, Russian and others will now render correctly in all interfaces - inspector, inventory, file browser, in-game messaging and all others.

Another of the additions is support for materials. UIX neatly fits into the rest of Neos’ architecture, allowing you to use pretty much any material for any part of the UI. Most materials don’t support things like masking, so they won’t work well in some contexts, but as we add more UI materials the possibilities will grow!

If you can use inspector like this, you're either massive Neos fan or massive Stargate fan.

[h2]Fixed glitchy UI behaviors[/h2]

Neos’ UI was long plagued by some unpleasant and confusing glitches, that couldn’t be easily fixed due to the hacky nature of the old UI system built on Unity UI. In comparison, UIX is a solution fully native to Neos and independent of Unity, giving us full control and nicely integrating to the rest of Neos’ engine.

As a result, all those long time bugs were fixed. Overlapping UI windows will no longer cause masking issues, making UI render where it shouldn’t. Pointing one controller at one window and another at some other now also works properly, instead of selecting random elements instead, confusing users.

Cases of some UI being randomly mangled, misaligned or missing have also been fixed. For example the notoriously missing “2/@” key on the virtual keyboard, often confusing new users trying to type their email address or the inventory window buttons popping out of its bounds.

UIX makes it significantly easier to move forward, introduce new features and fix more bugs without breaking the whole system.

[h2]What’s next? Onto the second phase of UI overhaul![/h2]

With UIX complete, we now have complete control over the UI system in Neos and full flexibility to add new behaviors, visuals and interactions, the way we want, without being impeded by the old technically limited system that would just break anytime it was touched.

In the upcoming weeks, we’ll be redesigning the core of Neos’ interfaces, to make it much easier to use, especially for new users just looking to hang out, socialize and play and also look up to today’s standards, ditching the old “programmer aesthetic”. Essentially you'll see the actual visuals and interactions change bit by bit from now on!

We’re very excited, because this will be one of the most significant milestones in Neos’ development, making it and its rich functionality more accessible and discoverable to new users and making it much more friendlier and powerful for the existing ones.

You can still provide us with feedback and participate in the process. Either on the GitHub megathread or on our official Discord or Patreon (links below). Now is the best time to provide feedback and ideas, before the fundamentals of the new UI design get locked down! The new system will still be very flexible though, as we expect it so serve us for a long time ahead.

Designing UIX to allow for high flexibility, while also providing exceptional performance took a significant amount of time, more than I have initially expected, but I believe the performance benefits alone are worth the effort and I am thankful for your support and patience through this.

With the old Unity UI system being excised from the codebase we have paid one of the biggest Neos’ technical debts from its alpha phase and we’re free to move on forward into the future.



[h2]Thank you everyone for the support[/h2]

Help us shape the design of the new UI and UX for Neos (UIX nearly finished)

Welcome everyone to your weekly update!

Today we have a special one. With the new UI framework UIX now nearing its completion, the technical phase of UI overhaul is going to be finished soon and we can move on to reworking the visuals and interactions of the UI system.

It’s no secret that the current UI has many problems, that lead to a lot of frustration in both new and existing users and doesn’t look or feel like a modern app would. With the technical backing of UIX, we plan to change that and make it easier, sleeker and prettier for everyone.

While we already know many of the major problems from your feedback from the past year and half, we feel that now is a good time to get a lot of it together and help shape what will the new UI and UX of Neos become.

Whether you are a regular Neos user, or someone who tried it and went away because of the bad UI, we want to hear from you. What are the things that frustrate you the most? What would you like to see in the new UI?



[h2]Making the new UI both simple, yet powerful[/h2]

We have several goals for redesigning the UI and UX of Neos to bring up to the standard. One of them is making it easier and more intuitive to use, especially for newcomers, to remove the high initial learning curve most people face and that unfortunately turns a lot of people away.

Part of that will be major unification. Currently Neos has lots of separate UI’s and widgets that have accumulated over time and that aren’t very consistent, adding too many things for new users to learn with how to interact. With the new UI we want to put everything into one place with a consistent usage pattern, so you just need to know how to point and click.

At the same time we want to keep our current power users in mind and allow the newcomers to more easily become ones too. To do this, our goal is to make the new system also a lot more modular. That way you could pluck different parts of the UI and rearrange them or put them on different places within your user space or on your avatar or even completely replace with community made widgets (or the ones you make yourself).

This way the simple unified UI will serve as a starting point, from which you will be able to customize the look and structure of the system to your own tastes over time, while also giving the community the power to build custom parts of the UI and share them with others and later with introduction of in-game economy even sell them for NCR (Neos Credits), giving our skilled creators another avenue for revenue.

Doing both will definitely be a challenging task, but also a very important one. Up until now we always considered the current UI “temporary”, something to hold us over while we work on other features of Neos and a proper framework to power the new system.

Now with UIX nearly complete and getting ready to replace the old technically limited system, we can build the UI we really want, but also the one you want! It is going to represent Neos and our community for a long time, so we want to hear from you.

[h2]Help us shape the design of the new UI[/h2]

What would you like to see in the new UI? What frustrates you the most about the current one? What do you like on the current one? What do you think is the major cause of the high learning curve and what do you think would help to ease it?

Whether you are a seasoned Neos user or you have used it only briefly and have been waiting for a good UI we want to hear from you. For the duration of the next week is your best chance to help shape the design and look of the new UI system by providing us with your thoughts and feedback.

We want you to understand the process as well. While we won’t be able to implement everyone’s exact ideas, in part because we expect a lot of diverse and different ones, we hope to distill the essence from all of it - the good principles, the pain points (to avoid) and incorporate all of that into the design.

Even if your idea or suggestion might not make it its exact form, it will still influence how we think about the new design and our plans for the future, so don’t hesitate to share it, even if it’s out there!

On February 21st at 3PM PST we will hold a special livestream on Twitch to discuss all the ideas and suggestions with you live, so remember to tune in by then!

If you won’t be able to make it, you can still share your ideas before then. Write down a comment here in the discussion or post it on the UI/UX redesign topic on our GitHub. We will gather the comments and discuss them on stream next week.

We’re looking forward to hearing from you and to finally fixing one of the biggest pain points that our users were facing for so long. There are exciting times ahead!

[h2]UIX framework is nearing its completion[/h2]

The new UI framework dubbed UIX is now nearing its completion! There was even more complexity to deal with than I originally expected, so it unfortunately didn’t make it this week, but I’m pretty confident it will be ready sometime within the next week.

For those unaware, this is the new technical UI framework, that will completely replace the current solution built on Unity UI. This will get rid of the technical limitations of the old system, which were a big part of the reason why the current UI is the way it is and solve another major pain point - performance.

In the devlog video below you can see the system now handling multiple layouts - horizontal, vertical and grid and also incorporating the new text rendering system into itself, with full support for layout metrics, autosizing, custom fonts, languages with large characters sets like Japanese, custom materials and more.

[previewyoutube][/previewyoutube]

The system efficiently handles even large amounts of text and UI elements even when constantly updating thanks to its efficient and multi-threaded design, which is going to be important for things like inspectors.

Near the end of the video you can also see another aspect of its design when handling an enormous amount of text (or any complex UI element) - while the UI itself gets choppy, the game still maintains smooth framerate above 120 FPS.

This is thanks to its asynchronous design - the heavy computations happen on background threads without bringing the main FPS down - no more intense lag when you open a large object in the inspector! (note that the lag you see in the video is due to the Inspector still using the old UI system)

Overall ensuring high performance and reducing the work needed to be done was one of the most challenging parts of designing and implementing UIX. The system does a lot of complex flagging and caching to avoid as many recalculations as possible, especially when only parts of the UI change.

The system also intelligently combines materials and meshes as the UI is generated - e.g. if you have multiple text elements using the same font (and material), they end up batched into a single mesh.

There are still several things to do before it’s ready, mainly adding scroll areas and interactions so you can click and interact with the elements and adding various features and polish to match the current UI system to allow for a seamless swap.

[previewyoutube][/previewyoutube]
Here's an earlier video showing some of the development work and experimenting with UIX, particularly on the grid layout. Later in the video you can see it handling 5000 individual elements!

I expect this to happen sometime next week. I know I’ve promised that the new framework would come sooner and I have greatly underestimated the complexity required to design and implement it properly (even though I already thought it would be one of the most technically complex parts ^^; ) and I apologize for that.

But I am thankful for all your support and patience throughout this. It will be worth it for years to come!

[h2]New versioning scheme[/h2]

In other news, we have switched to a new versioning scheme for Neos to make it easier to make sense of the build numbers! Due to the build number being semi-random and non-sequential, it was often difficult to tell which build number was newer.

The new scheme follows a more modern approach, where the build number is essentially an UTC time and date of when the build was made, starting with Neos Beta 2020.2.9.629.

The format follows .... First three numbers are simply year, month and day of the build, the last number is the minute of the day when it was built. There are 24 hours * 60 minutes - 1440 minutes per day, so the last number will range between 0 and 1440.

The important take-away is that the build number will now always increase, making it easier to tell if you’re using an older build when there’s a new one out!

[h2]Community Highlights[/h2]

[h3]Campfire by Dusty[/h3]

Sit by this cozy campfire in the woods, roast some marshmallows and hotdogs, and enjoy the night breeze with friends! This lovely little world is small and intimate, just the right place for a small group to hang out in!



[h3]Valentines by GearBell[/h3]

Come check out one of GearBell's newest worlds, right on time for Valentine's Day. With it's lovely Valentines theme, you can take your significant other here for a romantic session of shooting each other with love guns!



[h2]What’s Next?[/h2]

As mentioned in the paragraphs above, the next week is going to be pretty much about finishing UIX and replacing the old UI framework and getting ready for the visual/interaction phase of the UI overhaul, by gathering your ideas, suggestions and thoughts!

Make sure to tune in for our live stream on February 21st at 3PM PST next week (and don’t forget we have one today too ;) ) or post a comment on Steam, Patreon or GitHub before then (wherever you prefer) when we’ll discuss it live with you!

We’re very excited to get to this stage, Neos wouldn’t be here without you, so thank you again for your support, enthusiasm and creativity! We have reached nearly 300 supporters and $5000 per month on Patreon! We're very grateful for your generous support, never we have imagined having such a great and generous community, you guys are all awesome!

See you all next week!