1. Neos VR
  2. News

Neos VR News

2020.9.2.10 - World UI additions and improvements, WebSocket support and more

A bunch of new things and improvements for the new World UI! I don't think I can cram more into this build today, other things will have to wait for tomorrow sorry!

The World UI now has more intelligent sorting when searching, ability to quickly close opened worlds without switching to them, the items shouldn't be jumping back and forth when interacting with them and you can now browse worlds saved locally on your machine too!

This build also introduces WebSocket client support, based on request by many, including a Canadian Metacreation group for their research! This should open up new possibilities for interfacing Neos with external program, it has very simple interface to send and receive Text websocket messages.

Also a bunch of other tweaks and bugfixes!

[h2]New Features:[/h2]
- Added a search/filter scoring system and sorting parameter to WorldListManager, which will score and sort items based on how many search terms they match
-- This way, if you search "creator jam game", it will show items that contain all three terms at the top, with items containing either two below and items that only contain one term last
-- In the future this will also plug into more advanced scoring system by search services like Azure Cognitive Search
-- Existing facets are auto-upgraded to use this as the top sorting parameter
- Added a way to quickly close worlds from the world list by pressing the red X button in the upper right corner (it will show appropriate confirmation prompt before closing)
- Added ButtonHoverRelay which relays the button hover events (under Common UI/Events)
- WorldListManager now has "IdleSortDelay" (default 5 seconds) and "InteractingSortDelay" (default 20 seconds) parameters which will delay any updates that would change the order of listed element by that time since the last change
-- This fixes world items in the list jumping around too quickly (reported by @Enverex and @Nammi)
-- If any of the search/filter parameters are changed, the list is updated immediatelly
-- The "InteractingSortDelay" is used when any of the world items are being pointed at by the laser
- Added "Local Worlds" as data source for the new WorldListManager, allowing you to browse any worlds saved locally on the machine using the same UI (previously requested by many people, sorry I didn't keep a list but I think @SHFR_H was one of them)
-- The "My Worlds" preset now includes locally saved worlds as well in the list
- Added WebsocketClient component (under Network) which is responsible for handling connection to a websocket server at given URL
-- This follows the same host access rules as the HTTP nodes and will require user to approve connection to a particular host
- Added LogiX nodes to interface with the WebsocketClient component (under Network/Websocket) (requested by @ontodistro, @cashmoney, TylorShine (GitHub), @qdot, @Earthmark and others):
-- Websocket Connection Events - fires event when connection opens/closes
-- Websocket Text Message Receiver - fires when a text message is received on a given client
-- Websocket Text Message Sender - allows sending a text message through a WebsocketClient instance (must be connected!)
-- Websocket Connect - allows to set the URL and Handling user of WebsocketClient, which will make given user connect to particular URL
--- If URL is omitted, the current one is kept, if user is omitted local user is used
- Added IsLocalUser node (implemented by @Coffee | Programmer)

[h2]Tweaks:[/h2]
- World items now show a featured icon in the name for featured worlds (the current icon is temporary, will be updated later)
- Worlds that you have currently open will also have yellow border in the new World UI, rather than just worlds you're hosting
- WorldListManager will no longer keep updating when it's disabled or inactive (e.g. when a different dash screen is picked or it's closed)
- The Description and Details text in the World Detail (both compact and expanded view) is no longer autosized
- Changed world close dash screen (with options to save changes or discard) to a modal dialog instead
-- This fixes descriptions that include long unbroken text (e.g. a URL) having really small font (reported by @Shifty | Quality Control Lead)
- Renamed "Private Worlds" custom filter setting to more accurate "My Worlds" (based on feedback by @ArkGullwing)
- The "Friend Sessions" preset for World filtering now shows all sessions which have at least one of your friends in them, rather than sessions that are set to "Friends only" (based on feedback by @Nexulan | Community Manager)
- Added cleanup for button pressing/hovering events, to prevent potential memory leaks
- Added clamp to the VRIkAvatar HeightCompensation (0.25 to 2) to prevent the IK from getting corrupted with extreme values (reported by @Turk)
- LogiX Node selector is now aligned to the top left, rather than top center (requested by @Shifty | Quality Control Lead, @A Monsoon of Babies and others)
- Some more tweaks for the Metamovie at the Venice Festival

[h2]Bugfixes:[/h2]
- Fixed 3D model badges being rotated 180 degrees (reported by @Robyn (QueenHidi))
- Fixed RGB to HSL producing incorrect results with some values (reported by @Azavit and @Alex from Alaska)
- Fixed method mismatch when removing variables from DynamicVariableSpace, causing the system to break (found in log from @Shifty | Quality Control Lead)
-- This should also fix crashes when adding dynamic variable space to the root or over other existing dynamic variables (reported by @ProbablePrime and @Earthmark)
- Fixed exceptions in DynamicVariableSpace trying to reset variables to default state when they have already been disposed (found in log from @Shifty | Quality Control Lead)
- Fixed FacetPreset upgrade process resetting the Facet's size
- Fixed Cloud API incorrectly always reporting that it has more available results on invalid searches
-- This fixes the search getting stuck in cases where "Private Worlds" is checked and another user is selected as "By Owner" (reported by @Cyro)
- Fixed FacetPreset upgrades conflicting with old component upgrades after load, causing some things to get stuck in strange state (e.g. dynamic variables not getting properly reset)
- Fixed null reference causing users to respawn when trying to insert a relay on a drive wire (reported by @Gunnar0, fixed by @Coffee | Programmer)
- Added invalid value guards for CharacterController LinearVelocity, MoveDirection and Gravity, preventing world crashes
-- This fixes SetCharacterGravity/Velocity with NaN/Infinity inputs causing crashes (reported by @Vigilabo)

Introducing brand new World & Session UI as part of the ongoing UI/UX overhaul

Hello everyone!

We have a very special weekly update today: The new Worlds menu is finally released to the public! It’ll have a few tweaks and some polish to come, but for now it’s functional and ready for the community to use. The MCC is about to commence as well so be sure to check out Medra’s posts on it as well as our previous weekly updates!



[h2]New overhauled World UI[/h2]
We have finally released another major part of Radiant UI as part of our UI/UX overhaul efforts - the brand new world browser. This unifies browsing published worlds, active sessions and managing opened worlds into a single unified UI, simplifying the interface for new users, while allowing more flexibility to existing users.

You can find the new world browser under the “Worlds” on your main dash in place of the old one. The interface automatically merges opened instances, active sessions and published worlds into a single item for each unique world, reducing duplication and clutter and by default pushes any active sessions to the top, making it easier to join populated worlds.



By clicking on any of the items you’ll be able to quickly join the opened session (if any are running) or start your own. The compact view also shows you the list of users present in that world, with your friends colored teal and away users semi-transparent. When there are multiple active sessions of a given world, you can either cycle between them or expand the world detail.

The detailed view contains a list of all available sessions as well as an option to start a new one. You can also find the metadata, such as publishing date, tags or the description and access to common actions like getting the world orbs, URLs or starting a custom session.

[previewyoutube][/previewyoutube]

The searching and filtering functionality has been significantly improved as well. Not only it works on live sessions instead of just published worlds, but it supports more complex term matching, instead of exact phrase match. You can find items with any of the terms or force them to be present by prefixing them with the “+” plus symbol or excluding with the “-” minus symbol.

Both the backend and client have been improved to provide much more responsive search and UI, handling most of the heavy work on a background thread.



On the left you can also find common filters to quickly narrow down the list to only show Active sessions, Game worlds, Educational, your own worlds and other categories. By clicking on “Custom” you’ll be able to customize all the searching parameters.

And as last cherry on top, the whole of the new World UI is highly modular and customizable. You can use the individual components to build your own UI’s and facets. The search bar and paging control are completely general and we’ll later use them for other overhauled UI’s as well.

All the pieces are dynamically linked using the new Dynamic Variable system (which you can also use for your own tasks), making it easy to make your own custom pieces of UI.



There are still some tweaks to be done, but we hope that this will greatly improve the experience of new users and reduce frustration. The days of new users not being able to find any populated worlds should now be gone!

If you do have any feedback, problems or suggestions, please let us know on our Discord or GitHub!

[h2]Dynamic Variable Spaces, Data Presets and more[/h2]
One of the major challenges of the UI overhaul is building out new highly modular systems to enable the new UI to be developed and maintained much more easily. Similarly the World UI has paved the road with several general additions to Neos, that have a variety of uses beyond just the UI.

One of them are the dynamic variable spaces, which allow dynamically linking values within the hierarchy based on a name. We have talked about them in the last update, but they have received some more additions in the latest build, providing more components for interaction with the system, like one way value driving or automatically resetting variables when objects are loaded or duplicated.

The system might still undergo some breaking changes, so please be careful if you want to start using them right now. We'll be adding more behaviors and fine-tuning them in the upcoming days.

Another addition is a Data Preset system. This has been used to implement the search/filter presets for the World UI, but it’s generic at the core, operating over raw data. It allows you to setup a set of preset values for certain fields and organize them into a DataPreset component.

You can then automatically assign all the preset values to their fields using a button event and you even get a handy notification if all the fields are currently matching their presets!

Our custom UI framework UIX has received various additions, tweaks and bugfixes as well, helping to mature it some more and provide new capabilities for building your own custom UI.

Several parts of the old UI have also been tweaked and upgraded to these new systems. If you’d like to see all the additions, tweaks and bugfixes, check the #neos-updates channel on our Discord or the updates here on Steam!

[h2]Community Highlights[/h2]
[h3]Planetarium, by Orange[/h3]
Orange of Neos East Japan has brought the Neos community yet another beautiful creation! The planetarium is customizable and shows users many beautiful constellations, so bring your friends along for a field trip!



[h3]Blackboard by PolyLogiX[/h3]
PolyLogiX is working on a new, soon to be public tool, the Blackboard! You can draw using various brushes and materials, and scroll in 2 directions making the board itself much larger than it appears! Can't wait to see this go live for public use!



[h3]Deep Space by Enverex[/h3]
Through a lot of creative and genius tweaks, Enverex was somehow able to create a massive world that is both detailed and extremely performant! Plus some of the NPCs utilize text to speech and can even say avatars names! There's lots to explore from an alien planet to a rideable starship, so give this place a visit!
[previewyoutube][/previewyoutube]

[h2]What’s Next?[/h2]
With the release of the new World UI, our immediate goal right now are tweaks and bugfixes based on feedback. One of the changes will be stabilizing the list of worlds when it’s being interacted with to prevent the items jumping around too much. Another small feature will be the ability to quickly close opened worlds without having to switch to them.

We’ll also be fixing and tweaking many smaller things that have accumulated while the focus was on getting this new system ready for release. After that we’re considering several things. We might implement the ability to place facets on your avatar, which should be a relatively quick task and possibly an UI translation system.

For the next big task however we might focus on some major optimizations to help improve performance with large numbers of people in the world and in general, but things aren’t set in stone yet. Let us know what you think!

And as usual, thank you very much for your support and for helping Neos grow and improve, we couldn’t be doing this without you!

2020.8.31.1203 - Brand new Radiant UI world/session browser is here!

The new Radiant World UI is finally here aaaaa! This is another major addition to the UI overhaul, potentially the most important, as this should simplify finding active sessions, worlds and generally managing worlds, by combining into everything into a single unified UI, while also providing much better searching and filtering abilities and more responsive UI.

There's a whole bunch of general related additions as well, many of the UI pieces are modular and reusable, the dynamic variable system has been extended, there's a new Data Preset system, UIX improvements and tons of tweaks and bugfixes. I'll process some more of the backlogged bugfixes and additions soon, but this build is big enough as it is.

I'm keeping the on-hand world switcher for the time being, until it can be replaced with Facets and there are a few additions I plan to make soon (e.g. ability to quickly close opened worlds without switching to them), so keep tuned!

[h2]New Features:[/h2]
- Added new Radiant UI Worlds interface, for browsing opened worlds, active sessions and published worlds in a single unified UI
-- All existing dashes are automatically upgraded, replacing the old Worlds UI. This new UI is Facet-based and highly modular and customizable
-- Published worlds, active sessions and joined instances are automatically merged into a single browser item in the list, to avoid lots of duplicated items
-- Each item will expand quick detail on click, allowing quick cycling between active sessions (if more than 1 is found) and joining with a single click
-- Each detail can also be expanded to show a list of all available sessions, details about the published world / session, quick actions (copying world/session URL, getting world/session orb, editing metadata or starting custom session), description and ability to start arbitrary number of custom sessions
-- New icons have been designed by @Coffee | Programmer and show the session status (Private, LAN, Friends, Registered Users, Anyone), headless hosts and hosting status
-- The search works not only with cloud worlds, but also active sessions and currently opened worlds
-- The UI is composed from individual 4 facets - World List, World Filter, Search Bar and Paging Control (see more below on details)
- World searching & filtering now supports more complex search term parsing
-- The search term is split into individual terms and will find any result that matches any of the provided terms, rather thatn requiring exact match
-- You can prefix terms with '+' to make them required or '-' to exclude any results containing given search
-- You can put search term into double quotes to include a search term with spaces
-- E.g. you can use a search phrase like this: maybeA maybeB +mustHaveC +"also D with spaces" -"but no E's" -andNotThis
- Added PagingControl (under Common UI/General) which provides general paging mechanism that can be used to build out more complex UI's
- Added RadiantSearchBar (under Radiant UI/General) which is a styled search bar, with searching indicator and clearing functionality
- Added DynamicVariable component, which has its own value field that's bound to the DynamicVariableSpace
- Added DynamicVariableDriver component, which will drive a target based on the dynamic variable state
-- This is treated as one-way interaction, the driven target will never be treated as a source/storage of the value
- Added DynamicVariableReset, which will reset particular dynamic variable to a specific value on Load/Paste/Duplicate (configurable)
- Added "TileSizeBasis" to TiledRawImage, which allows specifying that the tile size and offset are relative to the rect's width or height, rather than being absolute (this makes it simple to for example align image to height and tile across whole width)
- Added DataPreset and DataPresetValue components (more to come, under Data/Presets), which allow assigning presets of values to arbitrary targets
-- Create a set of DataPresetValue instances, each pointing to a unique field and assign a preset value
-- Add all of the presets into the list on DataPreset
-- When the preset is set active, all the fields of preset values are set to the assigned value
-- The system also monitors if the DataPreset is active or not (meaning if all of the entry fields match the preset values)
-- DataPresetValue instances can be shared across multiple templates
-- DataPreset receives button press events
- Added "RequireLockInToPress" to Button component, which will require the button click to be locked in to trigger actual press
-- This is very useful for buttons that are part of ScrollAreas, as pressing and holding the button won't trigger the button event if the laser is moved, but will if it's pressed and then released right away (or moved in direction that locks in the interaction)
- Added AxisMultiViewportPanner (under UIX / Utility), which will smoothly transition arbitrary number of UIX viewports using AnchorMin/Max, based on a currentviewport index
- The UIX Slider component is now generic Slider, natively supporting different primitive types, rather than just float (e.g. int, double, decimal etc)
-- Existing instances are autoconverted to Slider using a new non-generic upgrade mechanism that was added (please let me know if you run into some old things breaking and not loading properly, in case there are unexpected changes)
- Added ConfirmationHandler (Common UI/Utility) which provides generic double-click confirm functionality (this is mostly internal, it'd be tricky to use this right now manually, but it will help simplify a lot of code)
- Added StringConcatenationDriver (under Transform/Drivers), which drives a target string from a list of string values and optional separator
- Added new facet presets: Paging Control, Radiant Search Bar, World Filter, World List

[h2]Tweaks:[/h2]
- WorldListManager now supports browsing own worlds (private worlds owned either by you directly or by any of the groups you're member of)
- WorldListManager supports filtering by the session Min/Max access level (e.g. showing only Friends only worlds and such), Min/Max session uptime
- The SimpleLocalUserProfile UI now shows the account type and Patreon support
- The New World Dialog is now a modal overlay on the dash
- Save/Load mechanism now saves ID's of non-persistent fields, preserving any references to those fields on save, rather than breaking them
- ScrollRect content is now aligned to the top-left by default (this affects any existing things using it - e.g. inspectors, various menus and so on, let me know if this adversely affects anything, I've checked a bunch of things, but there might be things I overlooked)
- Added extra padding to the inspector to help prevent accidental mis-clicks (based on feedback by @Coffee | Programmer)
- Added "nicovideo.jp" to the list of streaming services, which will make URL's from this website import as videos through the youtube-dl (requested by @Enkiko)
- Modal Overlays are now non-persistent by default, to prevent them from being saved when the UI saves
- WorldListManager items are now non-persistent as well
- Biped Rig heuristics will now ignore bones containing "eye" and "lid" (e.g. "eyelid") as eye bones (based on feedback from @H3BO3)
- WorldItems will now listen to local thumbnail updates, updating the UI with a new thumbnail for opened worlds, rather than getting stuck on initially loaded thumbnail
- Upgraded to Unity 2019.4.9f1 (from 2019.4.8f1)
- Small low level optimizations when saving objects/worlds and destroying objects

[h2]Bugfixes:[/h2]
- WorldListManager now exports information about its current search state - whether search is currently active, how many total results were found, how many filtered results are found and if there are more cloud results to be fetched
- Fixed WorldListManager continuously running search & filter update loop when SkipItems is larger than 0 (paging results)
- Fixed WorldListManager throwing an exception from the background work when it's destroyed mid-search/filter
- Fixed Facet placement into a Facet container depending on the UIX update loop, causing the system to place Facets incorrectly if multiple are placed at the same time
- Fixed newly reset dash Home screens getting two copies of the "Paste from Clipboard" button
- Fixed GridLayout not providing correct height metric when the ExpandWidthToFit and PreserveAspectOnExpand are enabled, causing part of the grid layout to be clipped when it's used as part of a scroll rect
- Fixed empty Video Players spawning at the floor (reported by @Rue Shejn | Artist 3D, @Shifty | Quality Control Lead, @Alex from Alaska)
- Fixed Patreon linking process breaking when no reward is claimed by the user (NCR is still awarded)

2020.8.25.934 - More world UI progress, a few other tweaks and bugfixes

Most of the work still goes into the new World UI, it's getting really close! I just need to build the Search bar UI piece and the Category/Filter UI and it'll all be ready for use! (plus some tweaking and such, but that doesn't affect functionality).

A few related and unrelated additions, tweaks and bugfixes that have accumulated along the way.

[h2]New Features:[/h2]
- Added "HorizontalAlign" and "VerticalAlign" to ScrollRect, which allows controlling how is the scrolled content aligned if it doesn't fully fill the available space
- Added "Strip Blendshape Normals" and "Strip Blendshape Tangents" to the StaticMesh, which allows removing the normal/tangent data from the blendshapes on the model, leaving only positional properties (this can be used to strip corrupt normals and/or tangents on already improted meshes)
- Added "UseZeroMetrics" option to LayoutElement, which allows overriding layout metrics with zero (negative values will still mean that the metric is pass-through)
- Added "Fetch Incompatible Sessions" setting, which will make Neos fetch all public sessions, even if they're not compatible with the current build
- Added support for loading 3D/object badges from the cloud (based on request from @Robyn (QueenHidi))

[h2]Work in progress features:[/h2]
- Heavily expanded WorldDetail component, which now has all the essential behaviors
-- It supports selecting sessions both in compact and expanded form as well as starting brand new session
-- Interactions have been implemented, allowing to actually Join sessions, Start new sessions or focus new world
-- It properly combines and updates information of opened worlds and live sessions
-- It shows list of all active sessions when expanded
-- It shows details (publish/modify dates, session uptime, present users, including list of all users in the session with transparent signifying away users and turqoise friends) and thumbnail of the actually selected session. The User count in detail features suggestions from @Turk, @Enverex, @Blaze and @Haven Splendor)
-- The UI properly animates and the top bar will be stationary when scrolling, making sure the close button is always visible
-- It has expandable detail information in the compact view mode, allowing quickly viewing list of present users or the description

[h2]Tweaks:[/h2]
- The role command for the headless now creates a persistent override (must be saved with the world) when changing user's role
-- This fixes the role being reset after the user gets respawned (reported by @Turk)
- Tweaked the text of the Discord invite join request to make it clear that the join request is coming from Discord (based on feedback by @Alex from Alaska)

[h2]Bugfixes:[/h2]
- Fixed World Announcer internally reporting that all sessions of world with given WorldID have ended, when only a single one has
- Fixed being able to make KFC withdraw request through the API
- Fixed "Save as screenshot" context menu item being generated for each held photo, rather than being combined (reported by @H3BO3)
- Fixed "Save as screenshot" option not saving the files with extension when "Keep original screenshot format" is enabled (reported by @Shifty | Quality Control Lead)
- Fixed race condition when saving multiple screenshots at the same time with the Windows platform connector (when screenshots are being saved to the Pictures folder)
- Fixed a race condition causing background exception when loading objects from URL

New Metamovie poster and another test run this Thursday, World UI progress

Hey hey, welcome back to the Neos Weekly Update!

We’ve got more information on the Metamovie project and the Biennial Venice Film Festival to talk about this week, as well as a bit of progress on the new World UI menu has been made. We’ve also got a few amazing Community Highlights to talk about, so check all that out below.



[h2]Join us for the next Metamovie Test Run[/h2]
On Friday last week we helped to run the first live test run of the Metamovie: Alien Rescue experience developed by Jason Moore, in preparation for the La Biennale di Venezia Film Festival, with VRxist as the VIP interacting with the actors and several other community members as “fireflies” watching the experience.

The whole experience went mostly smoothly, but we managed to discover a few glitches and problematic areas. To make sure those have been fixed we’ll be doing another live run this Thursday at 11 AM PST with Rukio as the VIP. There are still some slots left for the fireflies, so please get in touch with Nexulan or RueShejn if you’d like to participate! The event will be streamed on our Twitch channel as well.

Metamovie now also has a brand new official poster, featuring the main cast, aliens and some of the set pieces made for this experience! We’re astonished how beautiful this poster is and can’t wait for the live live run of the experience in September!



[h2]UIX Modal Dialogs, Dynamic Variable Spaces[/h2]
As we continue to work on the new World UI, Neos has received some new general additions necessary to build the UI in a consistent, flexible and long term manageable manner. For example Neos now has a UIX modal dialog system, which allows any piece of UI to request a modal overlay to display another piece of UI, while covering the UI below.

The login dialog has been switched over to this system and a world detail UI has been implemented, which shows up after you click on any of the thumbnails. We’ll be using this system for many confirmation dialogs, prompts and other uses as we continue to rework more of the old UI.

[previewyoutube][/previewyoutube]

We made sure to make the system also very flexible and customizable, allowing you to build custom modal dialog templates, so you can customize how it actually looks, animates and behaves.

Another addition is something we call the Dynamic Variable Space. This system will dynamically link variables of the same name in the hierarchy under the same DynamicVariableSpace component. This greatly increases modularity of the systems, by efficiently dynamically connecting the data values simply by placing objects in particular part of the scene hierarchy.

This benefits the Facet system, as Facets placed within the same container can now interlink and communicate with each other, without being explicitly connected or even designed to do so. The system is designed to be powerful enough to handle lots of other scenarios, like building games and will receive more features and integrations with LogiX. Because the system is fairly new though, there are still some changes being done to it though, so we recommend to wait a bit for it to stabilize (watch the #neos-updates channel for more).

[h2]Progress on the World UI[/h2]
With those new subsystems in place, the new World UI now has pretty much all the necessary pieces to be finished. Significant progress was made on the UI itself, building out a world detail UI that actually lets you join, focus or start sessions and view detailed information about the world.

[previewyoutube][/previewyoutube]

The UI has two modes. When you first click on a world it shows a compact view, allowing you to quickly join. By expanding the UI you’ll be able to see all the details like description, uptime, list of present users, tags and more, as well as list of all active sessions and ability to start your own.

Since the whole system is based on the reworked world fetching system, the UI intelligently updates in near real time as new sessions of the world open or close, with minimal effort on the development side of Neos.

[previewyoutube][/previewyoutube]

[h2]Community Highlights[/h2]
[h3]Music Sequencer by @kino_ko_b[/h3]
Kino has created a music sequencer within Neos, which is one of the first of its kind to be seen in the platform. And they’ve made it without the help of the future Timeline system, a planned feature on the horizon! Amazing work, Kino!


[h3]Tetris by the PolyLogiX Team[/h3]
The PolyLogiX team have been well known for their amazing, helpful and fun creations, and their rendition of the world-famous Tetris game is amazing to experience in VR! Bring your friends and try to get on the scoreboard!


[h3]Eye-interface LogiX Programming by Rhenium[/h3]
Rhenium has been a frequent flyer of the Community Highlights section of our Weekly Update, and for good reason! Their understanding of LogiX has seemingly given them superhuman abilities to connect LogiX Nodes with just their eyes! Alas it may not be super powers, but Rhenium’s ingenious LogiX/Vive-Pro Eye interface! Truly amazing!


[h3]Cyclops Avatar w/eye tracking and vocal control by Danyy[/h3]
Danyy is an amazing avatar creator and artist, creating many amazing things over his usage of Neos. This new avatar is also utilizing the Vive Pro Eye, and tracks when Danyy has his eyes wide open to send out a huge laser beam! Good job, Danyy!



[h2]What’s Next?[/h2]
The new World UI is now nearing its completion. The main remaining tasks are adding some more details and information to the UI and then building out a search bar and filtering/category UI and linking those up together on a new screen on the dash.

We expect this to only take a few more days, so the new World UI should go live this week, so keep your eyes peeled! If you’d like to see more progress as it happens, check out the #devlog channel on our official Discord.

Thank you again for reading this week’s edition of the Neos Weekly Update! We hope you all have a great and creative week, and make sure to check back on our previous updates in case you missed some. Don’t forget, Medra’s Metaverse Creator Contest is coming up soon, as previously discussed in our last Neos Weekly Update!