Neos VR - Frooxius
Hello everyone and welcome to another of our weekly updates!

NeosVR can now be played in third person mode in desktop! Simply press the Alt key (this will change soon, check the release notes for latest binding) to toggle between first and third person on the fly. This mode makes it easier to see your own character as you interact with others and with the tools, providing another way to experience the world of Neos.

There's still more things that will come to this mode to fix some of the teething issues and add new capabilities, it's not quite fully finished yet, but should be lots of fun to play with regardless. Interactions, grabbing, context menus, tools, weapons and gadgets should all work, it's even possible to do building as well, although this will improve with some more additions.

You can adjust the camera as well by holding Ctrl and the right mouse button. By default the character is centered, but this way you can change the view to be over the shoulder if you prefer.

We have made some significant improvements to our infrastructure too. The Patreon API integration has been reworked to use a more reliable endpoint, which should fix the increasing issues with people not getting their rewards or them taking a long time to be granted.

The NAT punchthrough and relay services have been made significantly more robust too after outage at the beginning of last week and connection fallback has been added as well to handle networking issues more gracefully in the future.

Don't forget to check out the community highlights too! The Among Us map has been published after long development, as well as some other awesome worlds alongside it.



Third person mode for desktop
Neos now officially supports third person mode gameplay in our new desktop mode! At the time of writing, you can simply press the Alt key to toggle between first and third person on the fly (this will change soon, so check the latest release notes if that doesn’t work anymore). This way you can easily see your own character as you play and interact.

We have generalized more parts of our interaction system to enable this mode, so all the same interactions work - you can grab items, click, use context menus, gadgets, items, weapons and even build (although it might not be optimal for that in some cases)! Specifically for the building we also have an upcoming freeform camera, which will utilize a lot of the same generalizations made for the third person mode.



There’s a lot more coming to this mode as well and things around it - improving the camera behavior (e.g. detecting occlusion), adding freeform cursor mode, improving procedural posing to give the head and hands more natural movement and general polish and fixes as it gets its use.

But even in its current state we think it’s a good start and adds more flexibility and choice to how you play Neos. Plus it’s fun to see your own character as you interact with others and do things in the virtual world! With our generalized systems, content creators also don’t have to worry too much about making their gadgets and tools compatible - most of them will work the same across VR, first and third person modes, which just become different ways to experience the same shared world!

Improving session connection robustness
At the beginning of the last week, part of our cloud service responsible for initiating connections to other users has dropped, causing people to be unable to connect to sessions unless they were on LAN or switched to Steam Networking Sockets.

We have identified the cause to be caused by malformed network messages that weren’t properly handled and fixed the issue so it doesn’t happen again. To go a step further, we’ve also added more mechanisms for error checking, logging and recovery, so if a different unexpected bug occurs, it has much lower chance to bring this part of the service down.

But because things can always unexpectedly break, we implemented another feature that was on our to do list for a long time - connection fallbacks! Most sessions in Neos are hosted on both LNL protocol and the Steam Networking Sockets. In some cases the LNL protocol has two URLs available as well - direct IP (e.g. on LAN) and NAT punchthrough.

Previously Neos would determine the best connection URL and connect to that one. With the connection fallback system, it will now try them all in order of priority. What this means is that if one of them fails, it’ll try the next one on the list.

For example when connection over LNL protocol fails (either due to network issues or perhaps another issue with infrastructure), Neos will try the Steam Networking Sockets automatically. That way even in case of problems the system should be more robust and the chance of not being able to connect at all much lower.

This system also solves some bugs, like not being able to connect to a world through session orb spawned by a person on the same LAN as the host (e.g. headless), due to everyone trying to connect over the direct IP and failing.

Having a smooth experience is very important to us, because we know how frustrating it is when you can’t connect to your friends and coworkers and the changes we have made should add a few layers of robustness to the system.

Reworked Patreon integration
Our Patreon integration with Neos takes care of automatically giving rewards to users each month as they get charged - assigning storage space, Patreon tier and minting NCR. Over the past several months there were some hitches with few users, who wouldn’t get their rewards on time (or at all) requiring manual intervention.

This month, the issue has deteriorated further, with many people having issues getting their rewards, but also some getting . The underlying cause was due to the Patreon API endpoint providing information about total support being very slow to update and sometimes getting stuck or missing some of the charges.

Due to the increased volume of issues fixing them by hand became too tedious, so we have prioritized rework of the integration to use a newer API endpoint and iterating over the Patreon history ourselves, computing the total support to ensure proper rewards get distributed.

This was a pretty tedious process - we were very careful to make sure the system doesn’t mess the accounts up, but after a few days we have now successfully transitioned to this new updated integration, fixing the majority of the account issues!

If you had some rewards and NCR missing, it should be now properly awarded. The system also ensures that the proper tier gets activated on your account regardless. Thanks to this new system the integration should now be much smoother going forward, meaning you should get your rewards sooner and we’ll have to spend less time dealing with Patreon issues and more time developing!

There is one downside to the new API however - if you pledge in currency other than USD, you need to select a tier on Patreon - it won’t be matched automatically based on the actual support value. If you support in currency other than USD, the NCR mint will also always match the tier, rather than the actual amount, even if you pledge more.

We’d like to thank everyone for your patience and understanding as we went through these issues! We know it’s frustrating not getting the rewards you paid for right away, so we really appreciate everyone’s kindness and support when communicating with us about those issues. We couldn’t ask for a nicer community!

Business and demo additions
Over the past week, we have also made some improvements to our business oriented features. Notably Neos now has the ability to set up a custom branded splash screen. At the moment this can only be done by us, but we’d like to expose this more widely in the future.

Another addition is that you can now use the Config.json file to automatically start up sessions worlds right after Neos starts, which can be very useful for doing public demoing and similar applications. This is a feature that you can use yourself as well, simply add the worlds to the list in the Config.json! You can even create profiles, by making multiple configuration files and passing which one to use as a command line argument.

Desktop polish, import heuristics fixes and improvements and more
Among the more major additions and fixes, we have done numerous tweaks and improvements to the new desktop mode and other features. The key bindings have been further refined, odd interactions fixed and some niceties added.

Detecting bone and blend shapes names and categorizing them by heuristics has been improved as well, which should fix numerous issues with biped rigs, hand rigs and expressions not being automatically detected.

Interaction gizmos were improved as well, the global scale gizmo now behaves properly with the projection mode, making it possible to both scale things up and down in the desktop mode and VR.



If you’d like to know more about everything that has been changed, check out the release notes on Steam or on our official Discord!

Community Highlights
Hey there Neos Community! Hope you’ve all been doing well this week, this week has definitely been interesting for some folks, I know it’s been crazy for me this week so hopefully I got a good glimpse of all the nifty things happening this week!

Among Us by Lucasro7 & Maddmaxxz
The long awaited Among Us map has finally arrived! If you want to get a good look at the gameplay, check out the weekly dev stream from last week! It definitely took a long good to complete the map, and even folks from the community myself included pitched in where they could as well to help push the project along. Thank you everyone who contributed to this project in some small way! The map’s effort really shows! Thank you Lucas and Maxx



Creator Jam 98 - Cloud Climber
This week on Creator Jam there’s alot to climb up! Inspired by the game Cloud Climber, folks are tasked this week to build an environment where you need to keep climbing in any means possible! So gather your ropes, bridges, and scaffolding that’s lying magically around and see if you can climb up and up!



The Cube by Gunnar
One might not think much of this map at the get go, but when you get inside you can definitely feel the awe and the surrounding environment feel “alive”. You look at the walls and subtly see the world breathing around you as it rotates you around, wondering how you got here and what brought you here. Thanks Gunnar for the really awesome map!



The Birthday Experience by Taerlyn
A map made in the moments of loneliness of one’s birthday, Taerlyn surprises us with a map with a really artistic look and makes you think. You look at the room and think, your all alone on your birthday. Little did Taelryn know by making this map folks would join on in and make a play on the joke making quite the memory. So if you're ever alone on your birthday, come on in and have some cake! Folks will come on in and say Happy Birthday, you're not alone! Thanks Taerlyn and happy belated Birthday!



Lunar Plants by Jellysaurus
A map inspired by the one in VRC, Jellysaurus takes an attempt at making their own rendition of the map, giving a lovely blue vibe to the air. You can run through the flowers, watching them disappear as you run on through. Be careful though, you might run around in circles! Thanks Jelly for the map.



IDA Dance Battle
This weekend we had our very first dance battle hosted in Neos hosted by the folks at IDA (International Dancers Association)! The start was a bit rocky, but everyone stuck with it and ended up having a really nice battle. Some folks were using 3 points, and some folks more up to 11, but it was a good showcase of where Neos is at for some folks to be using Neos to dance off to one another! Thanks IDA and sorry about the early bumps!



--------------------------------------------------

This is all for this week! As usual, big thank you to everyone for being part of this community, building awesome stuff that makes this place alive and for supporting this project, so we can keep adding more features and improving the experience every week! We have a lot more in store for you. If you'd like to keep up with the development as it happens, check out our official Discord, where we post in the #devlog channel as we work on things, so you can always see what's going on.

Neos VR - Frooxius
Hello everyone! Sorry this took a while, I've had a few high priority things to deal with over past several days. Particularly dealing with the issues with Patreon API causing more and more people to not get their rewards on time (or at all, requiring manual corrections), so I ended up biting a bullet and rewrote part of the integration to use a newer, more reliable part of their API.

This took a few days to do fully, partly due to a lot of manual verifications (this is not a system you want to mess up!), but the good news is that the integration should now be much smoother, getting you your rewards sooner and requiring a lot less work on our end that distracts from the development! :smile:

The big thing in this update is the 3rd person camera mode for the new desktop! It has all the interactions and should be fully usable, though there's still more things and polish to come to it, but hopefully you'll have fun playing with it already! There's a lot of underlying work that went into making work, particularly making things behave when the view and head positions are decoupled (this is crucial for the upcoming freeform camera for editing) and adding various mechanisms to enable communication between different systems (e.g. the avatar turning only when moving from the locomotion module).

There are some business oriented features too (mostly internal now), like supporting adding custom splash screen or auto-starting up worlds with a config file (you can use this one yourself too).

Also some tweaks and fixes as usual, some rig heuristics issues should be fixed now and the scale gizmo is usable in the projection mode too.

New Features:
- Implemented initial version of third person camera mode for the new desktop
-- You can toggle between first person and third using the Alt key (this will change soon. Currently not persistent across worlds either.)
-- By clicking the left mouse button you can activate laser, which will slide the camera slightly to the side and allow you to aim
-- Interactions with tools, items, grabbing and context menus are supported with above
-- When stationary and not interacting, you can orbit the camera around the character to look from the front
-- You can hold Ctrl+Right Mouse Button to adjust the camera offset (horizontal and distance) (if you offset the camera sufficiently, it won't auto-offset on interaction)
-- Hold Ctrl and double click the Right Mouse Button to reset the camera offset
-- There are more features and camera modes to come, it's not complete yet!

- Implemented a proper projection algorithm for global scale gizmo, so objects can be scaled down, not just up (based on report by @DeliriousJax, @Shadow Panther [RU/EN, UTC+3] and @ProbablePrime)
-- This method is analogous to the uniform scale gizmo in tools like Unity. Moving in positive direction (usually right/up) will scale up, moving in the opposite direction scales down

- Implemented ability to setup a custom startup splash screen (requested by @Karel | CEO, @VRxist and others)
-- This is mainly for custom branded commercial builds and needs to be setup on our end
- UniverseID, NoUI mode and auto-startup world can now be configured using the Config.json file
- Auto startup worlds/sessions can now be configured in the Config.json file (based on request by (requested by @Karel | CEO and @VRxist)
-- Syntax is the same as the headless startup worlds (minus headless specific parameters, like locally saving, auto-invite, auto-recover and similar)
- Added ability to specify custom config file with commandline argument using -Config <filename>
- Added hidden _useProjectionInVR configuration to LogiX tooltip, which allows disabling the new projection interaction when in VR (based on feedback by @ProbablePrime)

- Rewrote part of the Patreon integration to count the total support on Neos' end, rather than relying on the same value provided by Patreon API
-- This fixes many issues with getting rewards in-game - minting NCR, getting the right tier and storage space due to the precomputed Patreon API values growing more unreliable over time
-- The system now automatically matches the latest pledged tier, fixing cases where the wrong tier was activated due to the pledge not matching the tier exactly (e.g. $14 for the $12 tier)
-- This also fixes some unreliability and issues when using currencies other than USD.
--- Please note that using currency other than USD will mint NCR matching exactly to the tier you selected, even if you pledge more than that. Pledging in USD will still mint the exact amount pledged.
--- If you pledge in currency other than USD, you also need to select a tier, otherwise you will not get your rewards
-- The new API endpoint also provides most up to date data, which should result in the rewards being distributed much sooner after beginning of the month
-- If you find any discrepancies or issues with your account, please let us know!

Tweaks:
- You can now use the Delete key again to destroy grabbed objects as alternative to Ctrl+Shift+D (@Lewis Snow | Lead Audio Engineer, @Turk, @ohzee, @AshtonSparx, @Robyn (QueenHidi), @Psychpsyo and others)
- Slightly increased the interval of tapping the C key to toggle crouch (based on report by @epicEaston197)
- You can now use the T key to open the context menu in addition to the Middle Mouse Button (this is useful on laptops where it's difficult to do a middle mouse click)
- LAN session discovery now respects the world's UniverseID and doesn't display worlds that belong to different universes
- Out of touch angle filtering for TouchSource is now based on the actual viewpoint rather than the head
-- This fixes interfaces not being interactable in VR and desktop when the view position is overriden
- Input binding system input groups will no longer block each other's inputs if they have exactly the same priority
-- This fixes regression where only one AnchorLocomotionData worked and provided inputs (reported by @ProbablePrime)
- Improved robustness of message sending, preventing them from being successfully marked as sent, despite being correctly sent out
- Notification sounds now ignore reverb zones (requested by @Robyn (QueenHidi) and @Rukio)

- Merged German locale additions and fixes (including new MTC strings) by @3x1t_5tyl3
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Russian locale additions and fixes by @Shadow Panther [RU/EN, UTC+3]
- Merged Korean locale additions by @MirPASEC
- Merged Japanese locale additions by @Aesc

Bugfixes:
- Fixed Context Menus not autodismissing in VR when the hand is moved verly quickly while opening the context menu
- Fixed reticle sticking to a grabbed Draggable object (e.g. Slider or Joint) when trying to interact with the context menu
- Fixed regression bone/blendshape name heuristics detecting incorrect chirality for some names (particularly names starting with uppercase L like "LowerArm_Right"), resulting in rigs not importing correctly (reported and sample model provided by @ohzee, @Shifty | Quality Control Lead, @H3BO3, @Turk and @200Tigersbloxed)
- Fixed Paste From Clipboard button not working when desktop tab is currently active and focused on the dash, due to the desktop taking the active focus
- Fixed Userspace having two instances of ScreenModeController, resulting in potentially odd behaviors
- Fixed overwritten worlds getting the owner display name from the overwrite source, rather than keeping the original (reported by several people before)
-- Records already in the cloud are currently being corrected and should be done within the day
- Fixed dynamic bone chains and other behaviors that query hips/feet positions breaking when trackers are deleted from user root (reported by @AshtonSparx, @Readun and @Tekno Catron)
- Fixed unresolved Android compilation error due to new SteamVR version, resulting in Android builds missing (reported by @Karel | CEO)

Neos VR - Frooxius
Hello everyone, sorry for taking so long before the next build, past few days were a bit crazy! Reinstalled my whole system and had a bunch of things catch on fire at once, so I've been working on putting them out and making sure they don't happen again or so we have better tools to deal with it (particularly Patreon API being messy)! ^^; Also our spinoff Neos Classroom app needed some updates too.

The good news is a bunch of things are more robust now! There was a problem in the transport protocol and some related things, which affected the NAT punchthrough and relay, causing problems connecting to sessions through LNL. Those have been fixed (I pushed them to cloud soon after it happened, but the fix is now in main Neos too, which will help prevent potential session crashes) and made more robust with more logging, protections and auto-recovery, to make sure this doesn't happen again!

I've also took it as opportunity to finally implement a protocol fallback system when connecting to sessions. Instead of just trying one, it tries all of them if one fails! In case there's another connectivity issue, Neos will now automatically fallback to Steam Networking Sockets. It even tells you what it's doing now with more verbose info! This also fixes some cases of people not being able to connect, e.g. due to session orb having LAN URL on it or someone's connection just not playing nice with LNL.

I've also investigated some issues with the KFC balances that have been reported and fixed an issue that caused them to be calculated incorrectly. If you were missing some KFC it should now show up properly. NCR and CDFT were unaffected, but they benefit from the fix too. There's now also a command so you can request your transaction history for any of the tokens too to make sure everything is good!
In other news, there are some more bindings updates for desktop. Crouch is now a single brief tap, with a longer press being the normal hold behavior. Duplicating, destroying and saving items is now also easier with key combinations! Others like pasing and undo/redo have been moved to the new input binding system, so they don't clash with other behaviors anymore either.

There are other quality of life changes too, the "Null" unlodaed material now has soft checkerboard transitions, which should fix the flickering in some cases and session asset transfers getting stuck should be fixed too.

New Features:
- Implemented connection protocol fallback system, which will try all possible protocols (and URLs for each protocol) when connecting to a session
-- This should improve the reliability of connecting to other sessions. E.g. in cases connecting through LNL fails, the connection will try connect through Steam Networking Sockets if available
-- This also fixes users failing to connect through a session orb spawned by a user who is on the same LAN as the session, due to connection being attempted on the LAN IP first and failing
- Neos now shows detail about the current part of the connection establishing process (e.g. connecting through direct IP, NAT punchthrough, Relay or Steam Networking Sockets)
- Added /requestTransactionHistory <token> command, which will generate and send your complete transaction history for given token to your email (requested by @Alex from Alaska)
- Added periodic validation of cloud transaction balance data, to catch any potential problems early
- Added ArgumentValues to LocaleStringDriver which allows driving locale string with static arguments in addition to fields
-- Old "Arguments" is now ArgumentSources
-- This is mostly internal change to add flexibility for the localization system
- Added a mechanism for determining when the user is able to crouch and when not
-- No Clip and and any Physical Locomotions with gravity currently set to 0 do not allow crouch
-- PhysicalLocomotion has AllowCrouch property which can be used to customize the behavior

- Added internal diagnostics and tools for solving some common Patreon linking and rewards issues
-- We now have ability to unlink a Patreon account from Neos account in case you register another Patreon account. However the unlinked account wil be PERMANENTLY blocked, please do not rely on this capability to casually change Patreon accounts and only use it in case of issues

Tweaks:
- You can now duplicate grabbed items using Ctrl+D on desktop
- You can now destroy grabbed items using Ctrl+Shift+D on desktop
- You can now save grabbed items using Ctrl+S on desktop
- Implemented a different mechanism for the crouch toggle, using a single tap (suggested by @Nammi)
-- By briefly pressing the C key you will crouch until it's pressed again
-- If the key is held for longer (100 ms at the time of writing) you will stop crouching once you release it
- Ctrl+V to paste and Ctrl+Z and Ctrl+Y to undo/redo are now handled by the new input binding system
-- This fixes Ctrl+Z toggling the slow movement (reported by @Shifty | Quality Control Lead)
- Desktop photo capture is now much closer to user's viewpoint
- Rewrote the "Null" shader when material/shader isn't loaded yet to add soft checkerboard transitions and fix flickering/strobing for parts of mesh that are right at the transition edge
-- This should help significantly reduce eye strain and graphical glitches when worlds are loading (reported by @Ukilop, SmallObservantBird, @uyjulian and @Shifty | Quality Control Lead)
- Darkened the checkerboard of the "Null" shader to reduce eye strain
- Darkened the default checkerboard texture to reduce eye strain in certain scenarios
- Upgraded cloud API libraries
- Improved performance of the cloud relay and NAT punchthrough service

Neos Classroom:
- Added ability to hide the presentation table and the database in Neos Classroom
- Added exit button to the Neos Classroom screen
- Fixed users being able to join the same session multiple times when pressing the Join button rapidly

Bugfixes:
- Improved handling of malformed network messages in the LNL protocol to prevent misbehavior and session crashes
-- This also improves robustness of the NAT punchthrough and relay service and prevents the connections getting stuck in limbo state
- Added extra error handling for the NAT punchthrough and relay services as well as watchdog service
-- Combined with above, this should reduce downtime due to unexpected errors and issues connecting to other users (reported by @Aegis_Wolf | Art Director, @Shifty | Quality Control Lead, @Lewis Snow | Lead Audio Engineer, @Theo | Video Production, @Veer | Chief Moderation Officer, @Alex the pet peeve avali 🐦, @聖なる人 (Holy), @Skywind Kitsune, @Rukio, @Turk, @H3BO3, @DAWKY, @NatBard, @Eearslya, @Epsilion, @Shadow Panther [RU/EN, UTC+3] and others)
- Fixed cloud cleanup tasks not working properly and throwing exceptions
- Added locking mechanism for running Patreon updates, to prevent multiple update jobs running in parallel, resulting in some users receiving multiple messages and wasting resources (note that you can still get multiple messages in some cases if the process fails and needs to re-run again)
- Fixed KFC balance status not being updated properly in some cases (reported by @Shifty | Quality Control Lead, @Nammi and @H3BO3)
-- The balance on the user profile has been recalculated and should now represent the actual number
- Fixed context menu breaking when the locomotion module isn't setup (e.g. in worlds where locomotion is disabled)
- Fixed Userspace interaction laser in desktop mode being misaligned, causing odd interactions with any non-projected userspace elements
- Removed deprecated "Setup Circular Menus" from CommonAvatarBuilder
- Fixed not being able to delete inventory links with invalid URLs (reported by @3x1t_5tyl3 and @jeana)
- Added username RTF sanitiazation to the contacts list and inspector (reported by @Vixus)
- Fixed not being able to edit LogiX parented under yourself (reported by @Polaris (she/her), @Hayden and @Ukilop )
- Fixed keyboard block not being properly registered in-world, causing inputs to be still processed when typing/editing in text fields
- Fixed local session assets not loading after the original owner has left the session (reported by @3x1t_5tyl3, @Toxic_Cookie)

Neos VR - Frooxius
Hotfix for startup crashes on Oculus runtime and imports failing due to defining an invalid thumb bone segment! Compatible with previous, don't need to update unless you're running into issues.

Bugfixes:
- Fixed import failing on rigs that have a thumb bone labeled as intermediate segment (reported by @かず (kazu / GitHub: kazu0617))
-- Real thumbs do not have intermediate segment, only metacarpal, proximal and distal. When it's defined as intermediate it's assumed to be distal instead.
- Fixed crash on startup when using the Oculus runtime (reported by @Zandario and @Froppy)

Neos VR - Frooxius
Hello everyone and welcome to another of our weekly updates!

We have some more good news for the desktop users! Building in the new desktop mode is now significantly easier, with gizmos and LogiX now being much more friendly to mouse and keyboard operation. Not only that, but VR users benefit from those changes as well, as they add new workflows there as well!

The new desktop mode and things around it also received more polish in form of small additions, tweaks and bugfixes based on your feedback, so some of the initial pains should be gone! The input bindings have been adjusted too, making Shift the sprint key again, with Z toggling the sneaking on and off instead.

There's still more to come to make the process even easier, notably UI aligned and freeform camera, which will remove some of the clumsiness of working from the first person view.

We're also seeing some cool uses of the Vive Facial Tracker in Neos, from silly avatars to people producing some machinimas and cool videos. Check out the community highlights below to see it in action!



Building made easier in the desktop mode
In the last week, we have focused on improving the building process in the new desktop model, specifically making the Developer Tooltip and LogiX tooltip much easier to use. To achieve this we have introduced new behaviors to both, that benefit both desktop and VR users.

The developer tooltip now has a new interaction mode for gizmos, using projection based on the direction the tool is aimed at, instead of the position of the tool. On the desktop, the projection mode is used automatically. Coupled with the cursor becoming freeform on interaction, this makes gizmos behave in a more familiar way, similar to tools like Unity, Blender and so on.



In VR you can toggle between the old behavior and the new, with the projection mode being particularly useful for manipulating gizmos and moving, rotating and scaling objects over large distances with ease, without having to scale yourself up, or fly too far.

The LogiX tooltip has gotten similar treatment, with new behavior to allow connecting wires using the laser, in addition to the tip of the tool itself. On desktop, this is essential to being able to easily connect the nodes, but it expands the workflow in VR as well.

Specifically on desktop the cross gesture to disconnect wires uses projection mode as well, with small tolerance (10 cm at the time of writing) to allow dealing with spatially arranged wires.



A lot of other smaller behaviors have been changed, tweaked and fixed as well, particularly positioning of spawned inspectors, nodes, grabbing things, assigning references in the inspector and so on, making the building process on desktop overall much easier and less frustrating.

There are still some major features planned that will further improve the usability on desktop coupled with the changes above, notably UI aligned camera as well as freeform camera, which should get rid of some of the clunkiness from editing in the first person view.

New default avatar, improvements to desktop and fixes
Alongside making the building process easier in the new desktop, we have also applied numerous tweaks, fixes and other additions to the desktop experience, as well as other general features.

For example the motion blur effect has been made configurable for in-game cameras (including the streamer camera). The key bindings and their behavior was also improved based on general feedback, as more things keep falling into place, based on general feedback we have made the Shift key the sprint again, with Z key toggling sneaking on and off, since it's used less often and more in editing scenarios.

We introduced a brand new default headset avatar as well, with a custom design and optimized assets! It even shows the user's profile picture on the front! The hand models have gotten a refinement and optimization pass as well.

We have also made some improvements to the cloud API and increased the database throughput due to increasing load with the growing community, which should ease some issues with slow responsiveness and messages not loading in some cases.

Community Showcase

Facial Tracking in Neos
With the new facial tracking craze, and finally hitting the shelves for the rest of the world we figured it was only a matter of time till folks in the community got their hands on them! Folks now can see where the facial tracking can really shine in personal projects, cinematic environments, or even just for casual expression! Thanks Jax, Froppy, and Reactant for giving us some nice showcases for Neos! Can’t wait to see what folks will make!








https://twitter.com/i/status/1376727150976466945

Ocean View by VRtualis
Feeling the warmth of the room, and the chill lofi in the background, you enter the map just feeling at ease and all anxieties melt away. A new map by the VRtualis team, another environment for folks to use as a cloud home, or for users to just hang in! This map just oozes quality for folks who just want to relax in a nice environment. Thanks VRtualis for keeping the effort up!


Creator Jam 98 NotSims
Creator Jam is at it again! This week it was one of the first 24 Creator Jams! We had the JP and English Communities each have their own crack at the Creator Jam theme this week which was NotSims! People focused on building environments with Guhehe’s Building Tool making some wonderful environments! Check it out and see what folks made! Thanks CJ Team!




MetaVerse Easter Meetup
Happy Easter from the community everyone! This week we had a nice community easter party! People searched for eggs, ate some chocolate, and got really sleepy and took some naps!. So hopefully you channeled your inner bunny this weekend! (With bunny ears of course!) Thanks to everyone who came to hang that day! If you are ever new and want to just meet some folks, come to a meetup! You won’t regret it.




--------------------------------------------------------

That's all for this week! If you'd like to keep up with the latest developments, definitely check out our official Discord below, we post in the #devlog channel as we work on things and #neos-updates as we push out new builds. You can also see the release notes here on Steam, with list of all the changes.

Our goal is now adding some extra polish to the new desktop mode, particularly the different camera modes and working on some other features as well as time permits. We'll have more for you next week, so stay tuned!

Neos VR - Frooxius
Hello! Sorry for smaller build again, I just want to push out a few improtant bugfixes and tweaks before the weekly update goes out.

There are some important changes to the desktop mode in this one, notably the default input bindings! Based on some general feedback and internal discussions, the sprinting and sneaking bindings have been changed again (sorry for the muscle memory!), with Shift being used for sprint and sneak (which is used less often) is now toggled on and off by pressing Z.

There are some improtant fixes as well, for example for finger rig detection, some avatars not being able to use the context menu in the desktop mode and permission system session crash (notably on the Among Us Map)!

New Features:
- Exposed "Generate" on MazeGenerator as impulse target (requested by @Kal)
- Added "Material" to MazeGenerator, which allows overriding the material used for the walls

Tweaks:
- Holding Shift key is now used for sprinting again (double tap for directional keys still works too)
- Press the Z key to toggle slow movement on and off
-- It will also automatically turn off if you start sprinting

- Reworked parts of hand rig detection heuristics to improve correct detection from bone names, which should improve hand rig compatibility
-- This fixes metacarpals being incorrectly detected as proximal (reported by @Groxxy but dumber, @chemicalcrux, with sample from @Aegis_Wolf | Art Director)
-- This should also better utilize short finger names used in some rigs (previously suggested by @Groxxy but dumber)
- Moved BodyNode LogiX nodes under Avatar/BodyNode (suggested by @Cyro)
- Categorized the ComposeFinger LogiX node under Avatar/BodyNode
- Reduced latency of some boolean input system operations by a frame
- Improved touchable permission security

- Merged Spanish locale additions by @Ruzert

Bugfixes:
- Fixed Context Menu not being interactable in some avatars in the desktop mode due to it being spawned too close (reported by @Zyzyl, @Scott Daybreak, @firr, @Arito, @Kulza and @Turk)
- Fixed wires being dragged from LogiX interfaces and nodes when holding them and clicking to align them (reported by @xYreous)
- Removed forgotten debugging logging code for dynamic variables (found in a log from @LucasRo7)
- Fixed AvatarObjectPermissions validation causing session to crash when equipping a template avatar for joined user in some cases, when swapping avatars is not allowed (reported by @Nexulan | Community Manager, @LucasRo7, @MAX-KZCLOUD, @ProbablePrime for the Among Us map)

Neos VR - Frooxius
Hello everyone, got another batch of new desktop mode improvements and additions! Most notably, the LogiX tooltip is now much easier to use in the new desktop! It has projection interaction for connecting wires that not only works in desktop, but also in VR! There's still more things to come, like UI aligned camera with freeform cursor, which will make it even easier to use, but this should hopefully help quite a bit already!

Some other behaviors were improved as well with many things, from better inspector spawning position, improvements to controls and many bugfixes too for all things around! Also new nodes for easier work with the BodyNode enum!

New Features:
- LogiX tip now supports projection interaction in addition to physical one as well, allowing you to drag and connect LogiX wires from distance
-- This makes LogiX tip significantly easier to use in the new desktop mode
- LogiX tip now also uses projection for deleting wires by crossing them in desktop mode
-- Note that there is small-ish tolerance (currently ~10cm) for the depth of the wires, allowing deleting wires that are at somewhat different depths (the tolerance can be tweaked based on issues)
-- The projection distance is updated anytime a wire is crossed over with a cursor. If the crossing doesn't catch a specific wire, make sure that your cursor hovers over it at some point (I can make this part smarter if this becomes a common problem)

- Added Slerp node overloads for 3D and 4D vectors
- Added listbans command to the headless, which allows listing of all active bans (requested by @Dante)

- Added new nodes for working with BodyNodes under Utility/BodyNode (based on feedback by @Turk)
-- Chirality - gets body node's chirality
-- RelativeBodyNode - gets the body node which is the root of given body node's tracking space
-- FingerNodeIndex - gets the index of the finger node
-- IsEye - is given body node an eye
-- OtherSide - gets the other side for sided body nodes (e.g. left leg will give the right leg)
-- Get Side - gets specific chirality of given body node
-- Finger Type - gets the finger type from a body node (thumb, index, middle, ring and pinky)
-- Finger Segment Type - gets the finger segment type from a body node (metacarpal, proximal, intermediate, distal and tip)
-- ComposeFinger - composes a BodyNode from a finger type, segment type and chirality

Tweaks:
- LogiX tip now spawns new nodes at the location of the screen cursor in the new desktop mode, making working with nodes easier
- Tweaked positioning of spawned inspector from the developer tooltip to be more consistent
-- This heavily improves the positioning when in desktop mode, preventing the inspector from spawning at akward angles and too close to the view
- In-game photos now persist list of users who have exported it within the session
-- This prevents the "Save Screenshot" from reappearing after rejoining a session
- When spawning a photo captured by someone else, the "Save Screenshot" option won't reappear for the user who spawned it
- Grabbed object laser smoothing is reduced when the laser is pointing at a touchable interface (e.g. inspector canvas)
-- This makes it easier to drop in textures, materials and other references to fields in the inspector, without having to waiting too much on the laser to catch up
- Lowered smoothing of the FOV change when running in the desktop mode (based on feedback by @Shifty | Quality Control Lead)
- WASD double-tap sprinting now keeps the sprint active as long as any of the keys is held, even if the original double-tapped key is released (requested by @Shifty | Quality Control Lead)

- Upgraded to Oculus SDK v25.0 from v19.1 which includes OVRPlugin 1.57.0 (previously 1.55.1)
- Upgraded to SteamVR Plugin 2.7.3 (SDK 1.14.15)

- Merged Korean locale addition by @LUA

Bugfixes:
- Fixed TooltipMultiplexer not passing through OverrideTargetPoint calls, resulting in projection mode on developer tooltip in multi-tools misbehaving (reported by @Shadow Panther [RU/EN, UTC+3], @ItsDusty <PRISM> and @RaiRu <PRISM>)
- Fixed incorrect target distance calculation when in the new desktop mode, resulting in not being able to drop references/textures/materials to inspector from a distance larger than 1 meter (discovered by @Rue Shejn | Artist 3D)
- Potentially fixed mesh renderers becoming visible and/or not having assigned proper materials, blendshapes and other properties when the mesh was previously setup and cleaned up (based on report by @Kal, @Cyro and @Shifty | Quality Control Lead)
- Context Menu will no longer auto-dismiss immediatelly if the cursor isn't inside of it
-- In other words, the cursor needs to be inside of the menu first, before the auto-dismiss behavior activates
-- This fixes the context menu immediatelly closing in some cases due to the cursor not being automatically centered in the screen (e.g. when using gamepad or on Linux where cursor re-centering isn't supported as reported by @Greyfus, @hare_ware and redyoshi49q)
-- This should also fix it being dismissed when the user is moving too fast (reported by @epicEaston197 and @Shadow Panther [RU/EN, UTC+3])
- Interactive Camera will automatically stop mirroring when switched to the desktop mode (reported by @Hayden)
- Audio Streaming Panel now has the audio output placed outside of the UI canvas, preventing it from being too quiet when spatialized due to the canvas scale (reported by @marsmaantje and @Elektrospy)
- Fixed sides of dash not being visible when the display (or Neos window) has a narrow aspect ratio (reported by @hare_ware)
- Fixed log-spam when exception occurs during permission validation (found in a log from @LucasRo7)
- Added extra diagnostics to the AvatarObjectPermissions to help diagnose crash reported by @Nexulan | Community Manager, @LucasRo7, @MAX-KZCLOUD and @ProbablePrime
- Fixed IME input mode not getting activated in the new desktop mode, making it impossible to write certain symbols like Japanese (reported by @Aetoriz)
- Fixed regression in texture variants incorrectly combining point-filtering with billinear and higher, causing textures to not be able to switched to Point filtering if there is another request for the same texture that's Billinear or higher

Neos VR - Frooxius
Hello! Another small build, but this one has an important improvement for both the desktop and VR modes, that took some internal redesign to work out - the developer tooltip now supports projection mode! This makes it much easier to interact with gizmos at bigger distances.

In desktop mode, this is always on by default (since you can't freely move your hand), which makes the gizmos behave as more traditional ones in tools like Unity or Blender, making the developer tooltip much easier to use! Once freeform camera & cursor are added, it'll really shine, but even now it should help quite a bit.

Also some important bugfixes that I didn't want held up, notably fixing a new issue with youtube-dl which would cause most videos to not load on some systems and fix for stability issues for users who use the lip tracker with eye tracking.

I've also done some tuning to the cloud API and increased the database throughput, since we were getting some throttling due to increasing load, this should solve some issues with messages not loading!

New Features:
- Added new Projection interaction mode for the Developer Tooltip
-- This mode uses the origin and direction of the tooltip to interact with gizmos, instead of pure positional offset (e.g. for translation along a line, it will project the tooltip direction onto the line)
-- Using this moving objects along big distances or rotating/scaling from distance should be significantly easier
-- You can toggle to the previous "Tip" interaction mode for near/more precise interactions through the context menu
-- When the Desktop mode is active, this mode is always on, along with automatic freeform cursor whenever interacting, making gizmo interactions significantly easier to use in the desktop mode

- Added new expressions to the AvatarExpressionDriver for driving bi-directional movement
-- By default these map to 0...1 range, meaning the resting position is 0.5. Set the Min to -1 if you need resting position to be at 0 and go to negative for Left
-- Following expressions were added: TongueHorizontal, TongueVertical, LipMoveHorizontalUpper, LipMoveHorizontalLower, JawHorizontal

Tweaks:
- Increased database throughput to better handle high load situations, preventing some behaviors from getting stuck indefinitely (based on report by @Medra)
- Tweaked the cloud API retry logic to improve chances of succeeding under load and to avoid throwing unecessary exceptions on failure, causing potential breakage

- Upgraded youtube-dl to 2021.04.01 from 2021.01.24.1

- Merged Japanese locale additions by @Aesc
- Merged Korean locale additions and tweaks by @LUA
- Merged Russian locale additions and tweaks by @Shadow Panther [RU/EN, UTC+3]
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)

Bugfixes:
- Fixed youtube-dl output parsing errors in the NYoutubeDL library when the bitrate is specified as floating point number, rather than integer
-- This fixes new cases of YouTube (and potentially other) videos not loading
- Fixed Neos repeatedly trying to initialize eye tracking, when only the lip tracking module is present, causing instability issues (reported by @ProbablePrime, :cheese: and @Kal)
- Fixed notification sounds being very quiet after recent change to audio distance space (reported by @AshtonSparx and @Shifty | Quality Control Lead)
- Fixed user's nameplates becoming fruit baskets, resulting in too many vitamins
- Fixed corrupted branch in the tree of life, resulting in every user in Neos hatching from a gigantic egg
- Fixed excessive user loafing

Neos VR - Frooxius
Hello everyone, sorry for another small build, the weekly update took a bit today instead! ^^; Some more goodies though, the default Neos head and hands avatar has been updated! It's now all our custom design and the assets have been more optimized as well. We will probably do some more tweaks on them as it goes live and we find more issues, so let us know what you think!

The Motion Blur is now also configurable on the in-game Cameras! The Intractive Camera control now exposes both Screen Space Reflections and Motion Blur as settings too, so you can adjust them based on your liking/needs.

I've added some options for configuring how are motion vectors for objects generated as well. If you have rapidly moving objects in your worlds that shouldn't be blurred, you can now disable it specifically for those - do not apply it on everything though, otherwise you'll cause problems with antialiasing, eggs, AO and other things!

There are some more tweaks and additions too, more to come soon!

New Features:
- Added new custom default Neos VR headset head avatar (created by @Ryuvi | Technical Artist)
-- This is a more optimized model with custom design that displays user's profile picture on the front
- Updated default Neos hands (redesigned by @Ryuvi | Technical Artist)
-- These use more optimized geometry (previously requested by @H3BO3, @Turk and @Alex from Alaska)

- Added Motion Blur and Screen Space Reflections settings to the Camera component and the Interactive Camera control settings (based on feedback by @DAWKY, @Robyn (QueenHidi) and @Rukio)
- Added MotionVectorMode to MeshRenderer components, which allows controlling how are motion vectors generated (based on feedback by @Toxic_Cookie, @Snooper, @Shadow Panther [RU/EN, UTC+3], Helix-9 and others)
-- You can set it to following options:
--- Object - object's motion will generate blur)
--- Camera - only camera motion relative to object will generate blur
--- NoMotion - motion vectors are always zero
-- For rapidly moving objects that are causing excessive unwanted blurring, it's recommended to switch this to "Camera" mode
-- IMPORTANT: that this is only suitable to fine tune motion blur when it's active for problematic objects, it's STRONGLY not recommended to set this for everything to disable motion blur, as motion vectors are used for many other effects (antialiasing, AO and others) and you WILL cause graphical artifacts by doing so. If you want to disable motion blur completely use the on-camera option

- Added MaxRowSize property to AvatarBadgeManager, which allows controlling at how many badges a new row will be added (default is 12)

Tweaks:
- "Save To Inventory" menu option will no longer appear when grip equipping tooltips (based on suggestion by @Beaned)
- Opening dash and other actions that block input will no longer interrupt crouching and other double-tap toggled actions (based on report by @Psychpsyo and @Zaravi)
- Default DistanceSpace for AudioOuput is now local (suggested by @Shifty | Quality Control Lead)
-- This will make the range of newly created audio sources scale with the object
-- Existing instances of AudioOutput are unaffected

- Merged Korean locale additions by @MirPASEC
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Japanese locale additions and tweaks by @Aesc
- Merged Russian locale addition and English locale fix by @Shadow Panther [RU/EN, UTC+3]

Optimizations:
- Added memory pooling when updating name badges, to reduce GC pressure and CPU usage
- Optimized setting up user badges on spawned users, to run the setup process only once after all badges were registered, rather than rerunning it for every single badge added

Bugfixes:
- Fixed MTC tutorial text mentioning "Ctrl+S" combination for the new desktop mode instead of the Context menu (fixed by @Rue Shejn | Artist 3D)

Known Issues:
- Motion Blur of objects behind UI causes the UI itself to become blurry

Neos VR - Frooxius
Hello and welcome to our latest weekly update!

We have several very exciting news this week - the first phase of our new desktop mode has been finished and released to public! Simply launch Neos without a VR headset to use it! It has all the core interactions for casual use implemented - you can grab things, click, interact with in-world objects, use the context menu, switch locomotion, save items and play with in-game gadgets and tools!

It is by no means finished however. While you can use the building tools, they are still somewhat clunky in desktop. We are working on adding more mechanisms to significantly improve their usability and ease of use. There are more goodies coming soon as well, like 3rd person camera mode, freeform cursor and more!

A community group Mystic Forge has also released their narrative puzzle map "Cabin Of The Seasons". This incredibly detailed map is currently one of the best and most polished experiences on our platform and certainly worth your time to check out, whether you do it alone or with your friends.

We have also released the MTC Avatar Lobby as well, serving both as a tutorial on finding and setting up avatars in Neos and a cool hang out place for both old and new users.



New Desktop mode ready for casual social use
We have reached a very important milestone with our new desktop mode, finishing implementation of the core interactions and making it now the default desktop mode when you launch Neos, both with VR or without.

All the core interactions - grabbing, clicking things, using the context menu and using tools/gadgets are now implemented. These cover the majority of things you can do in Neos, particularly when socializing, using in-world interfaces, playing around with toys and gadgets and so on.

The interaction system is designed to utilize the same items and tools built for VR. Assuming they are properly setup, they will work in the new desktop mode without an issue, despite never being built for it.

This is an important part of our design philosophy - we don’t want creators to worry whether users are playing on desktop or in VR and focus more on what they’re creating, rather than optimizing for different ways of use. As a result, the majority of existing VR content works on the desktop out of the box!



Some new features were added as well. For example you can now save items to the inventory through the context menu, using the new “Save to inventory” option alongside Duplicate and Destroy. Right now the use is still a bit clunky, as you need to navigate to the right inventory folder first, but that will be addressed with the planned rework of the inventory UI.

You can also easily take in-game pictures now, similar to the finger photo gesture in VR! Simply press Shift+P to take a snapshot or Ctrl+P to start one with a timer for group photos. Those screenshots are fully native Neos screenshots, with full metadata and ability to quickly save them through the context menu.

Manipulating grabbed items is easier now as well. We have adopted the GMod style rotation for objects - simply hold the E key and move your mouse around to rotate around the two axes. Holding Shift+E will rotate around the vertical axis. Holding just Shift and using the scroll wheel will also scale the held object.



MTC and intro tutorial has been updated as well to cover the new interactions and key binds. There might be still a few stragglers around as we transition, but the system should be ready enough to start getting some use.

Thanks to this, when you launch Neos without VR now, the new desktop mode will be in use instead of the old debugging one. If you need/want to use the old one, you can do so by choosing the “Legacy Screen” option in the menu, but please note that it will be removed at some point in the future.

What’s next for the desktop mode - building & improving interactions
Desktop mode is still not finished by far. Our goal for the first phase was to cover the basics and make the core of Neos usable without VR. While you can technically use all the tools, including the building ones, certain ones are still quite clunky and difficult, notably the developer tooltip and LogiX.

To address this, we are working on some changes to general mechanisms in Neos to make them work well in both modes, particularly by adding projection interaction mode, so the tip of the tool doesn’t have to be brought physically to the item. Other tools like brushes will benefit from extra features as well, allowing to draw on virtual surfaces for example.

We are also working on a 3rd person camera mode as well, adding freeform cursor mode and UI-aligned camera mode, which will make interactions with complex UI’s easier to do. Polishing for the character head and hands posing is planned too, making the movements less robotic and more natural.

Another planned feature is adding more overlay UI (which will go with the freeform cursor), for showing some current information and making the toggle between VR and Desktop more discoverable rather than a hidden key.

More long term plans include the ability to partition your UI and pin some in-world UI’s to parts of your screen, like inspectors, or chat windows. Many of these changes will require more of our UI’s to be reworked as well, which is on the roadmap.

We hope that even with the current feature set has become more accessible to users without a VR headset and let VR users bring in their friends who couldn’t previously play and for the VR users give ability to stay in-world even after leaving the headset by dynamically switching, or perhaps to mix VR and desktop workflows.

MTC Avatar Lobby released to public
As our ongoing work to rework the core Neos tutorials, we have released another reworked room to the public - the MTC Avatar Lobby! In this room, users can learn how to find and setup avatars in Neos, as well as easily make their first one with an easy to use UI to customize their own version of the Neos bot.





Since we often saw users hang out in the old avatar tutorial room, with other users helping them setup their own avatar, we have designed the new one to serve as a nice friendly hang out place as well.

Our next goal is to get the Streaming & Recording room ready for the public as well, since it’s the most commonly visited room after the avatar one, by users who are interested in streaming and recording videos in Neos. We have some nice features coming in this as well, like a customizable green screen area, so stay tuned!

Community Highlights

Cabin of The Seasons



You come upon a hallway brimming with iridescent purple energy. The energy draws you towards a pedestal that hovers gently at the end of the shimmering hallway. As you approach you notice a book as the centerpiece. After flipping through some of the pages, you find yourself at a cabin in the woods. How did you get here? Why can’t you escape? Who is Gerb? Where'd the cabin come from? - A memoir from a Traveler



A new map brimming with charm and anticipation, brought to you by Mystic Forge, "Cabin of The Seasons!" A narrative puzzle map that makes a mark on Neos history, showcasing of what a polished experience within the Metaverse is like. I hope you enjoy this as much as I did!



Thanks Mystic Forge Team!

Infinite Hallway CJ 95
Last week at CJ the theme they explore is “The Infinite Hallway”, where folks come and go making their own room in a seemingly infinite hallway for many to create or make complete worlds of their own. It’s quite an experience and I don’t want to spoil! So go on and check out all the doors!



The Backrooms
The smell of the carpet fills your nose. The walls start to blend as you notice the faint smell of cigarettes and leftover deodorizer in the air. I hope if you end up here, you at least know your way out because finding your way out is Tricky. Thanks QueenHidi AnythingDoesn’tReallyMatter and Jeana for this really neat map! If I ever need to feel lost or escape this place is wonderful for that.



Hangout Room
A Chill lofi world created by the user by the name of Grost. You can hop into the room and instantly feel the beats of the music permeate the walls of the room as you can go outside to the little dance area to just groove to the music.Feeling tired from all the events or just want somewhere to relax and recharge? This place definitely fits the bill.



The Hard Boiled Jam
This week on Creator Jam this weeks theme was Film Noir. You enter the map and are greeted with the smell of booze and smoke, and everything is grey and dull. In this map creators explore the possibilities of the theme and make some interesting things from Cement Shoes, dimly lit alleyways, and the ever expanding city and how it fills up the night.



Noisy Studio by Hai~
This is a really neat clip that shows the power of Neos! Hai a newcomer to the community has made a really neat Studio to swing in on, but then she magically appears somewhere else.Stuff like this really shows the power and versatility of Neos! Not only is it a platform, it’s also a tool for creators altogether! Thanks Hai for the showcase! Keep on spinning!


https://twitter.com/i/status/1373785683173769218

neoDMX by PRISM Team
Folks in Neos have been cooking up some interesting things! Here we have a DMX System built for managing and maintaining your light setups to give people an easy setup for shows, or even performances, I for one can NOT wait to see this in action at some performances. This upcoming year is so exciting! Thanks for adding to the fire Prism folks!

{LINK REMOVED}
{LINK REMOVED}

-----------------------------------

Anyway that's all for this week! We hope you had a great one and we can't wait to bring you more improvements for the desktop mode over the next one! We'll also likely start mixing things up a bit more and working on some other features as well. You can always keep an eye on our official Discord to check out the latest developments!

...