1. Neos VR
  2. News
  3. Third person mode in desktop, improved connection robustness, Among Us map

Third person mode in desktop, improved connection robustness, Among Us map

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.



[h2]Third person mode for desktop[/h2]
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.

[previewyoutube][/previewyoutube]

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!

[h2]Improving session connection robustness[/h2]
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.

[h2]Reworked Patreon integration[/h2]
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!

[h2]Business and demo additions[/h2]
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.

[h2]Desktop polish, import heuristics fixes and improvements and more[/h2]
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.

[previewyoutube][/previewyoutube]

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!

[h2]Community Highlights[/h2]
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!

[h3]Among Us by Lucasro7 & Maddmaxxz[/h3]
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



[h3]Creator Jam 98 - Cloud Climber[/h3]
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!



[h3]The Cube by Gunnar[/h3]
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!



[h3]The Birthday Experience by Taerlyn[/h3]
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!



[h3]Lunar Plants by Jellysaurus[/h3]
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.



[h3]IDA Dance Battle[/h3]
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.