1. Neos VR
  2. News

Neos VR News

2021.4.24.620 - OAuth support, improved third person mode, fixed crackling audio

Hello everyone I've got a big batch of improvements for the third person mode! :smile: The camera now detects occlusion with world to avoid clipping through, its smarter when adjusting its position and the posing of the character has been improved too! For example you can now move with the camera being in front of the character without your avatar immediatelly turning their back on the camera (how dare!). A whole bunch of bugfixes should fix usability issues too.

Some more important fixes are in as well, notably crashes when switching to audio output device that has 96 kHz samplerate or higher - looks like the audio library doesn't like to do resampling on its end, so we're doing that ourselves now. As part of that I reworked the logic a bit, which might fix some of the glitchy audio that some users have been reporting, need more testing on that though!

The Ctrl+D, Ctrl+Shift+D and other shortcuts have been fixed as well, that one was a big trickier than thought, but has been solved by a good general addition to the Input Binding system, which can now block keys based on the order of pressing (Right Mouse Button -> Ctrl for grabbed item actions and Ctrl -> Right Mouse Button for camera control). It's part of why this build took a bit more, had this and few more gotcha's to deal with, sorry!

Oh also changed the temporary key for 3rd person mode to F5 for now instead of Alt. It's still temporary, so give me a bit to resolve some of the other camera modules before a proper binding falls in place!

[h2]New Features:[/h2]
- Added support for ordered input gating to the input binding system, which avoid blocking inputs unless they're pressed in specific order
-- This fixes Ctrl+D, Ctrl+Shift+D and Ctrl+Shift+S not being usable to delete held objects after recent addition of Ctrl+Right Mouse button to pan camera (reported by @3x1t_5tyl3, @Toxic_Cookie and @AshtonSparx)
-- To pan the camera, you need to hold Ctrl first, while the right mouse button is released

- Added ButtonStringAppend component (Common UI/Button Interactions), which appends a string to a target string on button press (based on request by @Rue Shejn | Artist 3D and @Aegis_Wolf | Art Director)
-- It also supports appending in front
- Added ButtonStringErase component (Common UI/Button Interactions) which erases a specified Count of characters from target string on button press
-- It can erase them from both end and beginning

- Third person camera now detects occlusion with the environment and brings the camera closer to avoid clipping through the geometry (currently only looks for character colliders, might change the behavior to be a bit smarter)

- Implemented internal algorithm for processing CDFT batches in preparation for the upcoming 75th NCR batch (requested by @Karel | CEO)
- Implemented internal protection to accidental saves to the Neos Essentials and Essential Tools for the Neos Team

[h2]Tweaks:[/h2]
- Camera does no longer move upwards when interacting in the 3rd person mode, only to the side
- Third person camera will now offset in the direction that the camera is panned on interaction, rather than direction determined by the primary hand
-- This fixes the camera moving to the other side of the character when interacting with things in some cases
- The third person camera offset on interaction is now proportional to the camera distance
- The character in third person mode will now face the camera when you swing it in front of them, rather than just keeping head straight
- The character in third person mode will now turn their body towards the interaction target if the angle difference is sufficiently large
-- This fixes the arm/hand being bent at awkward angles when moving grabbed items too close to the camera or interacting with things that go too far
- The character in third person mode will keep their facing direction when walking in directions that aren't aligned with the camera and will have small delay before they turn when walking forward
-- This makes it possible to move the character with the camera being in front of them, without them turning back
- Tweaked positioning of spawned dialogs in third person mode (some more refinement will still be applied to this, but should be better for now)
- Changed the key to switch between 1st and 3rd person to F5 for the time being (based on feedback by @3x1t_5tyl3 and @ProbablePrime)
-- Note that this is temporary change, the Alt key will be used in some way once more modes are added and refined, but this should eliminate some conflicts for now
- Tweaked look speeds in the third person mode

[h2]Bugfixes:[/h2]
- Rewrote the local database API to use async/await with async locks, rather than synchronous locks (based on report by @AshtonSparx)
-- This should significantly reduce UI locking up due to background threads being locked
- Improved audio output device timing logic, which should improve cases where the audio becomes glitchy/stuttery (previously reported by @Jaiden#1262, @Shadow Panther [RU/EN, UTC+3])
- Fixed updating friend in the cloud (e.g. accepting friend request) breaking if the target friend never updated their current status (e.g. by logging into Neos) (discovered by @ProbablePrime)
- Fixed Neos crashing when selecting audio output device with high sampling rate (e.g. 96 kHz) (reported by @Shifty | Quality Control Lead, @Cyro, @Tatsu Kimiero, @Hayden, @httmj#3473, @あむ(Rabbuttz), @Alex Thorin)
- Fixed audio samples processing breaking when trying to copy samples from a source that has none available
- Fixed some recurrent cloud validation jobs failing on certain accounts
- Fixed Angle measurement between two vectors occassionally producing NaN result when the input vectors are too similar
-- This might fix numerous subtle and random errors with existing behaviors and your custom ones as well
- Fixed debug test showing up in front of the head, instead of in front of the actual view
- Clamped minimum configurable FOV in the desktop mode, to avoid confusion when the value is accidentally set to 0 (based on report by @Fuzy Sidwell and @Shifty | Quality Control Lead)
- Fixed Userspace keyboard inputs becoming blocked after a focused element (e.g. text field on an inspector) in the world is destroyed, preventing opening dash (reported by @Shifty | Quality Control Lead and @Cyro)
- Fixed interaction start distance in third person mode not compensating for the current user's scale (this fixes interfaces and context menus not being usable when too small, as reported by @Shifty | Quality Control Lead, @epicEaston197 and @ChrisWarner103 (DelVR))
- Fixed Context Menu being positioned at wrong distances in third person mode when scaled up or down (based on report above)

Implementing OAuth 2.0 for Neos cloud, another CDFT batch coming soon and more

Hello everyone and welcome to another weekly update!

This week we have some work in progress developments for you. We have made more improvements and tweaks to our desktop mode, adding occlusion handling to third person camera mode to avoid the camera clipping through walls, improving input and camera handling and some more.

The Neos cloud infrastructure also now celebrates its 4th year since it was brought up in Neos alpha! It has grown considerably since and gotten much more robust as the userbase grew. Perhaps fittingly, we're currently adding OAuth 2.0 support, which will allow 3rd party services to be linked to your Neos account in a secure and controlled way.

Also importantly, we have another CDFT batch coming up thanks to recent NCR mints! If you haven't applied yet, we recommend doing it soon before it goes through! It's perfectly ok to nominate yourself, just use the form in the link below.

https://store.steampowered.com/news/app/740250/view/2069908530540834345

We also talk about some more related upcoming features, like cloud variables and showcase some awesome community highlights, including a Puyo Puyo game with voice lines from many members from the community!



[h2]Implementing OAuth 2.0 for the Neos Cloud[/h2]
Today the Neos cloud infrastructure celebrates it’s 4th birthday, since it was first implemented during the alpha stages on April 20, 2017! This cloud service powers the Neos accounts, sync worlds/items, your inventory, messaging system, credit transfers, world publishing, session discovery and other features.

Revisiting a saved copy of the original cloud home from Neos Alpha in third person desktop mode

Somewhat fittingly, we’ve been implementing a new crucial feature over the past few days - adding support for OAuth 2.0, an industry standard protocol for authorization. This will allow for 3rd party services to access some information on your Neos account and even manage it for you, without you sharing your private password, which you should never share with anyone!

The work is still underway, but we got the base system working now. Part of getting this to work required implementing a proper web frontend for our Neos Cloud backend as ASP.Net Core website, using the same tech stack (C#/.NET) and libraries as rest of Neos and the infrastructure.

Currently the website is very rudimentary and only shows basic account info after you log in (although it lets you change your password easily). Eventually we’ll expand on its functionality and use it to replace the current Neos website for managing your Neos account online, but that’s for some later day.

On the left is the Neos website, on the right a sample application that got linked to the Neos account.

In the meanwhile, the OAuth 2.0 will allow linking your Neos account to external services. This is important for some of the major projects on Neos, like the account registration for VBLFC or The Metamovie project, as well as our internal things like the moderation ticket system or the Wiki.

If you want to try out the website you can access the development version here, but please note that it’s still work in progress! We’ll announce more details on how apps will be registered once the system is fully up and running.

[h2]Improvements and refinement of the desktop mode[/h2]
We have also made more improvements to our new desktop mode, including the third person. The input binding system was internally expanded to support more clever key blocking to fix shortcuts like Ctrl+D or Ctrl+Shift+D not working, due to conflicting with Ctrl+Right Mouse to pan the camera.

The latest version now supports blocking keys based on the order that you press the buttons in. Pressing the Right Mouse button first to grab the object and then Ctrl+D or Ctrl+Shift+D to duplicate or delete respectively will trigger that action, while pressing Ctrl first and then Right Mouse button will pan the camera instead.

[previewyoutube][/previewyoutube]

The camera positioning and adjusting has been improved in third person mode as well and now properly handles occlusion, automatically bringing the view closer so it doesn't clip through the walls. This gives you more flexibility and fixing some of the oddities, but there’s some more to come in that department too, as there are still some weird behaviors.

[h2]Another CDFT batch coming soon[/h2]
Our ICO has gotten a significant amount of mints recently, getting us close to the 75th NCR batch. Every 25th batch is dedicated to our CDFT (Community Developer Fund Token) holders - people who significantly contribute to building Neos and its community, converting a portion of the CDFT to NCR from the batch.

If you haven’t applied for CDFT yet, we recommend you do it as soon as you can! It’s perfectly fine to nominate yourself. If you applied before, you can update your application with new info on your contributions too.

We have implemented a system to handle this batch in the cloud automatically to avoid errors and mistakes by doing it manually. We’re going to do a test run with KFC first to make sure everything works as it’s supposed to, so you will get extra of our testing token too!

[h2]Upcoming: Cloud Variables[/h2]
Following the OAuth 2.0 implementation we put another of our planned features into the pipeline that should provide a general benefit, as well as solve some of the problems for the upcoming events and projects.

In short, this system will allow syncing and persisting data into the cloud independently of persisting items, avatars and worlds themselves. This could be used for syncing some settings and values on your avatar across different versions (and worlds), syncing values across worlds and instances (including between userspace and the world you’re in) and more.

Notably it’ll also allow external applications to associate information with a particular user account, using variables that only the variable creator can write to (meaning it’s not modifiable by the user themselves). That way events can assign tags and roles to users and automatically setup the user with appropriate roles/avatar or spawn them in the right spot.

For games it will also allow you to persist various values, like score, level, settings and other arbitrary information.

We’ll have more info to come on these soon, but we wanted to give a bit of a heads up on what’s coming as we were getting some more questions for these features.

[h2]Community Highlights[/h2]
Hey everyone, hope your day is going well! Today this week we have a few nice new maps to go check out. Some games, some maps, some workflow so hopefully it’s something that’ll catch your eye! Also if you ever have content you’d like to see put up here from items, to worlds, or anything feel free to poke Turk!

[h3]Puyo Puzzle World by kinoko_b[/h3]
This map has been taking both the JP and EN Community by storm, a nice puyo puyo map in VR! Folks can pick their favorite community members and hear some memorable voice lines that folks can defeat their friends with. If you don’t know what Puyo Pop is think of it like Tetris, but with a twist! Big shoutout to kinoko_b they’ve been making individual art along with each new character that’s added to the map! Stay Awesome Kinoko!



[h3]Troughwater by Arito[/h3]
An eerie wistful atmosphere glooms on you as you hear the rattling of the winds and the shifting of the sand. A quiet little town out in the ol west, ready for people to make a new life here for themselves. This map has a really nice feel! There’s also some wanted posters around, hopefully you can nab those bad guys! Thanks Arito!



[h3]VRSYS Office Space Template by VRsys[/h3]
A surprise from one of our NeosPro Group’s VRSYS, shares with us a map of their VR Business endeavours. A really nice office space template for those who need to telecommunicate or just hold business while in VR. There’s a lot here from workflow boards, to planning tables, to even note management as well. Stop on by if you yourself are also in the space and want to see what these folks are pioneering.Thanks VRSYS Team!



[h3]Evening Hangout by Grost[/h3]
Another lofi experience from our chill bot Grost, but this time it’s very warm and very relaxing. Evening hangout a map to kick back, relax, and check out the ocean, or hang in the open area with folks in either a build or social mood. Thanks for the warmth Grost!



[h3]Room of Rain Recreation by Jellyosaurus[/h3]
It’s the Room of Rain! A classic map many of us know! From what I’m aware Jelly was given approval from the original map owner themselves to remake it in Neos. It seems this map is really popular or nostalgic for folks. For those of you coming over from other platforms I hope this makes you feel more at home! Thanks for the map Jelly!



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

That's all for this week! We'll have more for you the next one as we continue to work on things. If you'd like to keep with the latest developments, check out the #devlog channel on our official Discord. And as usual, big thanks for being part of the community and to everyone supporting Neos in whichever way they can, without you we wouldn't be there. See you next week!

2021.4.17.185 - Third person mode occlusion and improvements, bugfixes

Hello everyone I've got a big batch of improvements for the third person mode! :smile: The camera now detects occlusion with world to avoid clipping through, its smarter when adjusting its position and the posing of the character has been improved too! For example you can now move with the camera being in front of the character without your avatar immediatelly turning their back on the camera (how dare!). A whole bunch of bugfixes should fix usability issues too.

Some more important fixes are in as well, notably crashes when switching to audio output device that has 96 kHz samplerate or higher - looks like the audio library doesn't like to do resampling on its end, so we're doing that ourselves now. As part of that I reworked the logic a bit, which might fix some of the glitchy audio that some users have been reporting, need more testing on that though!

The Ctrl+D, Ctrl+Shift+D and other shortcuts have been fixed as well, that one was a big trickier than thought, but has been solved by a good general addition to the Input Binding system, which can now block keys based on the order of pressing (Right Mouse Button -> Ctrl for grabbed item actions and Ctrl -> Right Mouse Button for camera control). It's part of why this build took a bit more, had this and few more gotcha's to deal with, sorry!

Oh also changed the temporary key for 3rd person mode to F5 for now instead of Alt. It's still temporary, so give me a bit to resolve some of the other camera modules before a proper binding falls in place!

[h2]New Features:[/h2]
- Added support for ordered input gating to the input binding system, which avoid blocking inputs unless they're pressed in specific order
-- This fixes Ctrl+D, Ctrl+Shift+D and Ctrl+Shift+S not being usable to delete held objects after recent addition of Ctrl+Right Mouse button to pan camera (reported by @3x1t_5tyl3, @Toxic_Cookie and @AshtonSparx)
-- To pan the camera, you need to hold Ctrl first, while the right mouse button is released

- Added ButtonStringAppend component (Common UI/Button Interactions), which appends a string to a target string on button press (based on request by @Rue Shejn | Artist 3D and @Aegis_Wolf | Art Director)
-- It also supports appending in front
- Added ButtonStringErase component (Common UI/Button Interactions) which erases a specified Count of characters from target string on button press
-- It can erase them from both end and beginning

- Third person camera now detects occlusion with the environment and brings the camera closer to avoid clipping through the geometry (currently only looks for character colliders, might change the behavior to be a bit smarter)

- Implemented internal algorithm for processing CDFT batches in preparation for the upcoming 75th NCR batch (requested by @Karel | CEO)
- Implemented internal protection to accidental saves to the Neos Essentials and Essential Tools for the Neos Team

[h2]Tweaks:[/h2]
- Camera does no longer move upwards when interacting in the 3rd person mode, only to the side
- Third person camera will now offset in the direction that the camera is panned on interaction, rather than direction determined by the primary hand
-- This fixes the camera moving to the other side of the character when interacting with things in some cases
- The third person camera offset on interaction is now proportional to the camera distance
- The character in third person mode will now face the camera when you swing it in front of them, rather than just keeping head straight
- The character in third person mode will now turn their body towards the interaction target if the angle difference is sufficiently large
-- This fixes the arm/hand being bent at awkward angles when moving grabbed items too close to the camera or interacting with things that go too far
- The character in third person mode will keep their facing direction when walking in directions that aren't aligned with the camera and will have small delay before they turn when walking forward
-- This makes it possible to move the character with the camera being in front of them, without them turning back
- Tweaked positioning of spawned dialogs in third person mode (some more refinement will still be applied to this, but should be better for now)
- Changed the key to switch between 1st and 3rd person to F5 for the time being (based on feedback by @3x1t_5tyl3 and @ProbablePrime)
-- Note that this is temporary change, the Alt key will be used in some way once more modes are added and refined, but this should eliminate some conflicts for now
- Tweaked look speeds in the third person mode

[h2]Bugfixes:[/h2]
- Improved audio output device timing logic, which should improve cases where the audio becomes glitchy/stuttery (previously reported by @Jaiden#1262, @Shadow Panther [RU/EN, UTC+3])
- Fixed updating friend in the cloud (e.g. accepting friend request) breaking if the target friend never updated their current status (e.g. by logging into Neos) (discovered by @ProbablePrime)
- Fixed Neos crashing when selecting audio output device with high sampling rate (e.g. 96 kHz) (reported by @Shifty | Quality Control Lead, @Cyro, @Tatsu Kimiero, @Hayden, @httmj#3473, @あむ(Rabbuttz), @Alex Thorin)
- Fixed audio samples processing breaking when trying to copy samples from a source that has none available
- Fixed some recurrent cloud validation jobs failing on certain accounts
- Fixed Angle measurement between two vectors occassionally producing NaN result when the input vectors are too similar
-- This might fix numerous subtle and random errors with existing behaviors and your custom ones as well
- Fixed debug test showing up in front of the head, instead of in front of the actual view
- Clamped minimum configurable FOV in the desktop mode, to avoid confusion when the value is accidentally set to 0 (based on report by @Fuzy Sidwell and @Shifty | Quality Control Lead)
- Fixed Userspace keyboard inputs becoming blocked after a focused element (e.g. text field on an inspector) in the world is destroyed, preventing opening dash (reported by @Shifty | Quality Control Lead and @Cyro)
- Fixed interaction start distance in third person mode not compensating for the current user's scale (this fixes interfaces and context menus not being usable when too small, as reported by @Shifty | Quality Control Lead, @epicEaston197 and @ChrisWarner103 (DelVR))
- Fixed Context Menu being positioned at wrong distances in third person mode when scaled up or down (based on report above)

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.

2021.4.14.1059 - Third person mode in desktop, rewritten Patreon integration

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.

[h2]New Features:[/h2]
- 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
- 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!

[h2]Tweaks:[/h2]
- 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

[h2]Bugfixes:[/h2]
- 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)