1. Neos VR
  2. News

Neos VR News

2020.4.13.1289 - Context Menu for World Orbs, crash fixes and tweaks

More context menu! It's now also replacing the menus on the world orbs (thanks to @Danger Tester's for reporting some problems before the release!). More to come soon (like laser going through it so you can still double click the orbs). Also lots of tweaks and bugfixes, fixing some recent causes of crashes, UIX canvas breaking and potential memory leaks due to conservative Unity GC.

[h2]New Features:[/h2]
- Replaced the old radial menu on World Orbs with the new Radiant UI context menu
-- Right now, this blocks double clicks on the orb. This will be fixed in a few days when the laser itself is updated, so it supports going through the context menu
- Added a way to open the context menu in screen mode using the "R" key when a tooltip is equipped
-- Note this is mainly for testing purposes, some interactions don't work and some things are broken.

[h2]Security:[/h2]
- Changed public record listing logic on the cloud server to not list any public records of other users unless they're marked as listed (world submissions) or explicit path is provided
-- This mitigates listing of shared inventory folders and items unless someone knows the exact inventory path
-- This is only a mitigation. If you have sensitive items in your inventory, DO NOT create a link to those folders (using the Envelope button) - use the purple hand button to un-publish them
-- If you want to share private folders with other users you can request creation of a group (if you're Patreon supporter) or wait for this to be implemented. The envelope button is for fully public sharing.

[h2]Tweaks:[/h2]
- Snapper and SnapTarget will now not snap of either of the components is disabled (suggested by @H3BO3)
- Switched Fresnel Lerp Material to not use the late render queue. This fixes some alpha artifacts in the grid space
- Tweaked update order of the locomotion system, to help it get better in sync with the colliders and avoid them lagging a frame behind (based on feedback by @H3BO3)
- Cleaned up internal references in sync references and delegates to help aid GC more and prevent potential memory leaks
- Cleaned up more references and events in destroyed Slots, fixing another potential source of memory leaks
- Set the default position of the context menu a bit further away from the hand (based on general feedback)
- Added more cleanup to destroyed/closed worlds to avoid potential memory leaks
- Removed unused Slot tag tracking mechanism, reducing CPU and memory overhead for managing slots with a Tag

[h2]Bugfixes:[/h2]
- Fixed world crash when building object hierarchy string for diagnostic purposes (found in log from @H3BO3)
- Fixed crash/exception due to a race condition in audio stream, when it receives new data while being disposed (found in log from @H3BO3)
- Fixed UIX canvas breaking in certain cases when same element would get registered as changed twice due to parent structure changes
-- This should also fix some rare cases of UIX text potentially glitching out, due to race conditions
- Fixed grabbed item rotation not always working when one of the joystick axes is perfectly 0 (reported by @Hevon)
- Fixed LogiX connection point failing when a point is requested for impulse target method that has no proxy on the node (found in log provided by @Aetoriz)
- Fixed LogiX connection wire endlessly throwing exceptions, flooding the log with errors (reported by @Aetoriz)
- Fixed exception when building debug object hierarchy, causing Neos/World to crash (found in log from @Turk)
- Fixed exception when updating slot hiearchy event listeners, causing corruption of the data model and crashes (reported by @H3BO3, @spider and others, replicated by @Shifty)
- Fixed newly created cloud home sometimes not generating correct label with the user's name (reported by @Scary Guy [Debian Linux])
- Fixed some context menu items not showing any icons (reported by @Coffee)
- Fixed LogiX node packing not removing the grabbable component on the nodes
- Fixed LogiX cast nodes not getting fully removed when they're automatically destroyed, littering the world root (reported by @H3BO3 and @Shifty )
- Reworked the world/session orb session starting mechanism to help migitgate cases where multiple users clicking the orb at once cause multiple separate instances to open (based on feedback by @Turk, @H3BO3, @Shifty and others)

First piece of Radiant UI: context/hand menu is out. Livestreams for beginners.

Hello everyone!

Welcome back to the weekly update. We have some wonderful news this time around: The new context menu has been released, our patrons have chosen the name Radiant UI for our new UI system, we’re highlighting some excellent tools by our amazing Japanese users and we’ll be talking about our new Wednesday stream.



[h2]Radiant UI[/h2]
We held a vote for our lovely Patreon supporters to choose the new UI name and they’ve chosen Radiant UI! The future is looking bright for our new user interface, and this name shines just as bright!

The name was initially suggested by one of our newest Team members, Shifty. As most of you agree, they’ve come up with a great one. Thank you for shaping the future of Neos and participating in the vote, everyone!

[h2]New Context Menu[/h2]
The new context menu has been released, the very first piece of Radiant UI!



This new menu is replacing our old wrist menu system, creating a much more pleasant experience where one no longer has to torque and twist their wrist around to make selections. It doesn’t block the user's input and automatically closes when the hand is moved away, fixing common frustrations for new users.

Now it’s all within a simple radial menu that appears in front of your hand. Some options that are there now will be moved to a more appropriate area when we release the new dash, but for now most of the options you are used to seeing will be in the new menu.

It has also received a lot of improvements and additions based on your feedback and there’s more to come still, so let us know your thoughts and experiences while things are still in flux!

[h2]Wednesday Livestream for Beginners / New Users[/h2]
We now have an official Wednesday stream, hosted by Nexulan, where we answer your questions about Neos. No question is too big or too small, we’ll walk you through our UI and get you acquainted with all of the basics. If you’ve got a question, whether you’re old or new, please join us and we’ll help you out!

You can also watch the recording of the first stream here in case you missed it live and get a proper Neos crash course on how to get started with Neos, setup your avatar and meet some awesome people to hang out with! Make sure to follow us on Twitch to catch the next stream.

We have also showcased the new context menu, so if you'd like to see it in action watch the beginning of the video.

[previewyoutube][/previewyoutube]

[h2]Inventory public folder unpublishing[/h2]

Recently there were concerns raised about the public inventory folder functionality in Neos, where those items were listable in the public API. To address this issue, we’ve made two changes.

First, the public API will now no longer list inventory items unless a path is explicitly provided. This preserves functionality of inventory links, but prevents anybody from getting a list of all public items without knowing the exact path.

Second, we have added a new button to the inventory. If you select a shared folder (with blue tab on the upper left corner), you will see a purple hand. By clicking on this button twice, you will unpublish the folder and all of its contents. If you have folders that you have accidentally published before or that you don’t want anyone accessing, you can use this button.



However despite those mitigations, we recommend using the public folder function (orange Envelope button) only for folders you want to actually share with the public. It is not suitable for sharing items privately with just a few users.

As an alternative, you can send items to other users via the messaging system or if you're a Patreon supporter, request creation of a group. We plan on having fine grained inventory sharing in the future, which will allow sharing of folders with specific users in a secure way.

[h2]Danger Nightly Tester Group[/h2]

To help test builds before they go out to the public branch, we have created a new role called “Danger Tester” on our official Discord. If you’re interested in helping to test out any builds that we’re not certain are free of breaking errors, contact Shifty on the Discord.

Whenever there’s a build that needs testing and early feedback, we’ll ping you in the #testing channel. This is completely voluntary, but any help is appreciated!

[h2]Scale aligner, performance improvements and more[/h2]

Apart from the big updates, Neos has received some new smaller additions, like Scale Aligner component, new LogiX nodes, lots of UIX bugfixes for canvases breaking and stopping to update and some significant performance improvements as well. Check out the #neos-updates channel on our official Discord for details!

[h2]Community Highlights[/h2]

[h3]Custom Menu Installer by Rhenium & Aetoriz[/h3]

Click the image, it links to a video showing the system in action

This is amazing! Rhenium and Aetoriz have been creating so many great tools to improve productivity and quality-of-life within Neos since they’ve joined and this is one of their newest additions.

You can store items, emotes, and just about anything you can save into your inventory (everything, essentially), and have them at a few clicks of the new Context menu. The setup process is a breeze, so give it a shot! Many thanks to you two!

[h3]Cherry Blossom Festival, by Neos East Japan[/h3]

Neos East Japan, a team of extremely dedicated and creative japanese community members, have put together a beautiful cherry blossom festival inside Neos. It was a fun day, with lots of users from the whole community!



[h2]What’s Next?[/h2]
Following the polishing of the new context menu, we’re now working on a new gripping, equipping and laser system, to streamline the whole experience and open up more options for control.

Thank you again for joining us during our weekly update! We can’t wait to tell you all about our progress next week, as Frooxius is working hard to bring us the next steps in the UI update.

Please make sure to join us for our streams, especially our Wednesday stream if you have questions! You can even join us in-world to get a walk-through. See you then!

2020.4.10.1217 - Optimized SkinnedMeshRenderer Global Reflections, bugfixes

Fixing up some extra issues with context menu and UI. Also two semi-major optimizations that should make things run a bit smoother! (I've done some profiling and found more things that cost CPU/GPU time, but those will be optimized in the future).

[h2]Optimizations:[/h2]
- Reworked global (skybox) reflections to only update on skybox changes, saving up a lot of CPU overhead for rendering them every frame
- Heavily optimized SkinnedMeshRenderer connector updates, avoiding constant rebuilding of materials, bones and other properties when they haven't changed
- Optimized blendshape updates on SkinnedMeshRenderer
- Added more reference breaking/cleanup to (Skin)MeshRenderer connector to avoid more potential memory leaks

[h2]Bugfixes:[/h2]
- Fixed stray clicks to UIX canvases when the trigger is held, particularly when using the flick selection with the context menu
-- This fixes options being immediatelly clicked in the Create New dialog (reported by @Shifty)
-- Also fixes randomly clicking options when opening inspector, causing objects/avatars get messed up (reported by @Rukio)
- Fixed broken libVLC library after recent Unity update due to Unity build process changes, causing various multimedia files not to play
-- This fixes MP3 files not play (reported by @ProbablePrime) and anything other than MP4 not playing (reported by @Zane)
- Fixed Undo/Redo buttons in the context menu not being properly updated (having proper labels and gray out) when a tooltip is equipped (reported by @Shifty)

Announcing Community Developer Fund and Naming the new UI (poll)

Hello everyone and welcome to our weekly update!

We have an exciting announcement this week. After recently reaching our goal of 300 Patreon supporters (thank you!), we have begun working on the promised community developer fund. Neos is a platform that’s alive thanks to you, our community and creators.

Your creativity and passion is what makes this project a success and allows us to grow and we want to share that with you. We have introduced the Community Developer Fund Token (CDFT) as a way to reward the passionate contributors in our community.

In another news, the first piece of new UI is nearly there, the new context menu! There’s also some progress on getting Neos to run with IL2CPP runtime to provide a performance boost. Details below!



[h2]Neos Community Developer Fund (CDF)[/h2]
As you may already know, Neos has its own currency called Neos Credits, or NCR. It’s a cryptocurrency minted as a reward for our Patreon and Ethereum supporters. A way to share the current and future value created by Neos back to the community that is making it happen.



We are allocating a 2 million portion (4%) of all the NCR that will ever exist (50 million) to the first phase of the Neos Community Developer Fund, which has been designed to provide support to the extraordinary community efforts we see. The Neos Community Developer Fund will ensure good liquidity for awarded members, and open a path for even more CDF funding of their projects in the future.

[h3]How it works[/h3]
During CDF Phase 1, community members contributing extraordinary value will be rewarded each portion of the 2,000,000 CDF Tokens that automatically convert into 2,000,000 NCR. Every 25th NCR minting batch is reserved to convert 1/20th of all CDFT to NCR.

[h3]How much is Phase 1 of the CDF worth?[/h3]
It depends. If all holders hypothetically sold their CDFT right after each NCR mint, it would bring them $11,032,178. If they wait for the initial coin offering (ICO) to finish, that would make it $59,061,185, and if/when Neos becomes a really successful project with the same market cap at some point as Ethereum has right now, that would make it worth approximately $634 million.

[h3]Not bad, how do I apply?[/h3]
Neos Teams will try to review every exceptional, deserving community member we know of. You may also apply through the review application form to provide us with context of your contributions, and future plans for Neos. You may also recommend or vouch for someone else. Recommendations of deserving users are especially appreciated.

[h3]Review process[/h3]
Teams will try to reach a consensus based on this approximate guiding criteria:

1) How much value is the community member bringing, and for how many people?
2) How long term are their efforts?
3) How many new users do their contributions attract?

So efforts that bring a lot of value to a small amount of Neos users, for example accessibility tools, as well as efforts that bring value to a lot of users, such as highly popular worlds and games will qualify. The third criterion carries less weight.

[h3]Timeline[/h3]
We would like to have a good estimate of the number of CDFT awards granted by the time batch 50 of the ICO is reached, and to have all CDFT awarded prior to reaching batch 100.

[h3]Phase 2 and beyond[/h3]
After batch 100 of the ICO, we will have enough Ethereum, and other monetary assets to officially start the NCR Buyback Programme to increase liquidity for existing CDFT holders, and to provide NCR for Community Developer Phase 2 and beyond.

[h3]The future and reality of Neos[/h3]
In conclusion, I’d like to say that it’s hard to predict the future of Neos, how our forward looking technical design decisions, engine and data models, VR hardware and other interfaces in general will work out.

It's hard to say how popular Neos will become, but we're pushing towards the goal of being one of the most popular metaverse and spatial computing platforms. It has the potential to get big fast or get big slowly and we will be working tirelessly towards that goal. We’re in this for the long run.

At the end of the day the only thing that really matters is that we and everyone involved have all found many new friends thanks to Neos and we treasure you beyond belief.

To find more about Neos, and its vision, check out the Neos White Paper. For questions, and discussions, join the Neos Discord, and check out the #💲neos-credits-ncr channel.

Thank you all for your current, and future support of Neos. 💛

[h2]Progress on new UI (help us name it!)[/h2]
One of the pieces of the new UI has nearly finished , the new context menu! This will very likely go out tomorrow, replacing the existing radial menus. It is designed to be much simpler to operate, requiring to just point and click and to avoid blocking other controls, which often confuses new users.

[previewyoutube][/previewyoutube]

While other parts of UI are still being worked on, the context menu will still contain options that will later on be part of the new dash, like the locomotion settings or scaling options. We’ll also do tweaking as we go to make sure it’s quick and comfortable to use, let us know what you think once you play with it!

One of the nice benefits of the new menu is that it will improve the performance as well. During our profiling sessions, we have found that the existing radial menus eat massive amounts of CPU time. With the new one being designed in a much more efficient way and built on top of UIX, this should free up some resources.

Another part of the new UI that’s being worked on in parallel is a styling system for UIX. This will allow defining styles somewhat similar to CSS, that will define how the UI looks in a unified way. This will serve as the basis for easily customizing the look of the new UI and making custom themes.

The technical design of this system is still being worked on, but here are some technical design notes if you’re curious!



[h3]Help us name the new UI![/h3]
While the technical parts of the new UI are progressing well, we have gotten stuck on the most feared programming problem… naming!

Rather than just referring to the new UI as… well “the new UI”, we’d like to give it a proper moniker, to signify its status as the serious Neos UI that we put real effort in and make it easy to refer to the whole system of new dash, facets, styling, contextual menus and other pieces under a nice catchy name (also I need to name it properly in the code, it’s been bugging me for a week now).

To go along with the whole “Facet” gem metaphor for the modular pieces of UI, we have thought up a few potential candidates:

Radiant UI - based on the radiant gemstone cut. This is a nice metaphor as this cut is typically rectangular (like UI!) and the name could also be interpreted as glowing or radiating, like a hologram.

Quartz UI - another gemstone metaphor. Quartz is a very “versatile” mineral, that comes in many forms and colors, an aspect it will share with the new UI!

OnyX UI - one of the many forms of quartz. It has a cool sounding name that fits along with the likes of LogiX, BaseX, CodeX and other Neos systems. The actual mineral is very dark and matte though, so doesn’t quite fit conceptually.

Jade UI - after the green mineral. Metaphor doesn’t quite work though as it’s not usually cut (no facets) and is green.

Ruby UI - similar to above, but red. This one is pretty shiny! Could be confused with the Ruby programming language.

Gemstone UI - very direct, not much of a metaphor here.

Glint UI - shiny! Simple and cute, who doesn’t like a pretty gem?

Baguette UI - based on the baguette gem cut. It’s a real thing! But no... just no xD In fact I don’t trust you to even put this one into the poll!

What sounds best to you? If you’re a Patreon supporter, you can head over to the Patreon poll and vote for your favorite! If you have any other suggestions, post them in the comments and if we like them we’ll add them to the poll.

[h2]Getting Neos to work with IL2CPP for performance boost (WIP)[/h2]
Another of the long running background projects has recently made some important strides. Neos is currently running inside of Unity, using the Mono runtime. For a long time this has put some limitations on certain optimizations, due to suboptimal JIT compiler and lack of access to certain modern features of the CLR.

One alternative that we were pursuing for a while is getting Neos to run with IL2CPP runtime, which converts the code to C++ and compiles with standard C++ compilers with aggressive optimizations.

Until recently this was blocked due to bugs in the IL2CPP pipeline, but after those were fixed in the latest Unity release and working more on Neos’ codebase to make it compile and run well with this runtime, it’s now nearly fully functional!

Apart from audio and some cloud functionality not working well yet, the build pretty much works with a nice performance boost. There’s still more to do before this is ready and more tweaking afterwards, but the results so far are promising. We’ll keep you updated as we progress more!

[previewyoutube][/previewyoutube]

Note that the example above wasn’t compiled with maximum optimizations. With heavier optimizations the performance gains were even higher, with still more room to grow.

[h2]Community Highlights[/h2]
[h3]Viva La Villa, by Bobotron[/h3]
Yet another world designed by Bobotron for relaxing with friends. The lighting in this world is superb, providing a relaxed yet dynamic atmosphere.



[h3]Rocky Greenhaven, by Enverex[/h3]
A serene landscape, seemingly fully designed by nature, rests along a shore in the evening sun. This wide-open land full of valleys and hills is great for shooting off fireworks and having virtual barbeques!



[h2]What’s Next?[/h2]
We’ll be releasing a new build with the new context menu very soon, very likely tomorrow! Enjoy the last moments with the current radial menus, because they’ll be gone soon! ;) After this there will be tweaks and modifications based on your feedback and more pieces of the new UI.

The things coming up next is a new laser system, having it and the context menu render through objects to avoid objects obscuring it and reworking some other basic interactions, like grabbing and equipping.

As we’re picking up the pace on the new UI you should see more updates come soon! Thank you for reading our weekly update, let us know if you have any questions and we’ll see you at the next one!




March Community Showcase, updated GitHub Roadmap, additions and tweaks

Welcome to our weekly update! This week has been a bit quieter, as the development was scattered over some smaller additions and fixes. Nevertheless we’re picking up speed on the new UI, the new context menus should come next week.

We’ve also done another livestream dedicated to the community creations of the month, so if you missed it, give it a watch!



[h2]March Community Showcase[/h2]

At the end of every month, we showcase all the amazing community creations during our regular Friday livestream. In case you missed the stream live, you can watch the recording below!

Curiously we saw an uptick in worlds largely built from primitives inside of Neos, rather than being imported from an external 3D modelling program. Regardless of how the content was made, we’re always amazed by everyone’s creativity and passion!

[previewyoutube][/previewyoutube]

[h2]Updated Roadmap on GitHub[/h2]

Based on feedback, we have reworked and updated Neos’ roadmap on GitHub, to make it easier to read and include better information about our plans for the future and things currently underway.

You can find the long term planned features, the major upcoming features and things that are currently being worked on, as well as related GitHub issues where applicable. We hope this will give you a better idea of what’s planned for Neos and roughly when it’s coming.

Keep in mind though that our approach to development is quite flexible, so priorities can change based on the needs of community and Neos and new features in the list can be added (the list itself isn’t fully comprehensive). It’s why your feedback on these things matters, so let us know what you think!

[h2]Additions to Xiexe Toon, more new UI components, some optimizations and other improvements[/h2]

As usual, we have released a bunch of builds this week, but the work was mostly scattered over smaller features and additions. The newly added Xiexe Toon shader has received more options (including cutout rendering) and optimizations.

We have added some new LogiX nodes as well for working with boolean vectors, Rects (used in UI), math and more. The CircleAligner component has also been expanded with new options for better control and flexibility.

Some time was spent also profiling Neos’ codebase and making smaller optimizations where possible, as well as looking into ways to update the runtime (e.g. compiling with IL2CPP) to get a big performance boosts, but currently this work is more in the background with uncertain results.

Lastly, there are some new UIX additions with bits and pieces of the new UI, particular circle segment UI elements and layouts for the new menus. These will serve as the basis for the new context menus, but you can use them with your own UI already!

This devlog video show them in action (WARNING: Has loud music on)

[previewyoutube][/previewyoutube]

[h2]Community Highlights[/h2]

[h3]Legoshi’s Dorm Room by Ballistic[/h3]

This room, from the BEASTARS series, was lovingly fully recreated by Ballistic. The textures were created in Gimp and are utilizing the Xiexe shader we recently implemented, but every object was created using only Neos’s built-in tools. If you’re a fan of the series, you should absolutely give this room a visit!



[h3]Space Out by Coffee[/h3]

Low gravity, low lights, relaxing music! Coffee’s Space Out world is great for doing just what the name entails, as well as a great environment for conversation with friends!



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

We’ll be replacing the radial menus for new ones next week, replacing the lasers/remote interactions and adding the snapping mechanism to tools and items, so get ready for the change!

It will probably get a bit of getting used to, but we think that the replacements will allow for easier and faster use for everyone, so it’ll be worth it.

Thank you again for reading our weekly update and for supporting this project! Whether it’s by simply hanging out in the community, building awesome content or supporting us on Patreon, Twitch and other sources, it lets us keep focused on making this metaverse better every day!