1. Neos VR
  2. News

Neos VR News

0.8.18.39694 - Raw finger pose access, session ban functionality, crash bugfixes

Build with some important changes. First, finally direct access to finger data! Also due to recent reports of abuse, I had to finally implement banning functionality for your sessions. And last there are some important bugfixes to prevent some random crashes (particularly with headless).

New Features:

- Added "FingerPose" node, which allows reading raw finger pose from a IFingerPoseSource (requested by @Addim, @Coffee and other users before)
-- This pose data is "normalized", meaning that it's always using the same coordinate conventions, regardless of avatar
- Added "UserFingerPoseSource" node which allows fetching the pose source for a particular user
- Added ability to ban users from your own sessions (can be found in the session dialog, next to kick) (based on recent abuse reports by several users)
-- You can also remove the ban through the debug dialog (this is temporary, will have better UI soon)
-- You can also use the ban and unban commands on the headless client
- Other improvements to session security and moderation tools

Bugfixes:

- Reworked mechanism for enqueuing changed components and objects out of the update loop to fix race conditions
-- This should fix some random Neos crashes, particularly headless which is prone to this
- Added exception guard for world events, to prevent Neos/headless from crashing due to errors in the registered events
- Added exception guard for registering changed objects, preventing it from leaking and crashing the whole client/server
- Added a guard check for database corruption when fetching record lists (discovered in logs from Rubik , @Ballistic )
-- This should notify you of database corruption in cases where it previously wouldn't, leading to assets or inventory randomly not loading
- Fixed vertical GradientStrip procedural textures being vertically inverted after recent change (both new and existing textures are auto-fixed)



0.8.18.39896 - Tweaks, bugfixes and some security improvements

I'm mainly focusing on the new font rendering system now (sorry, it's taking quite some time, it's quite complex problem), but here are some bugfixes, tweaks and improvements!

Tweaks:

- Settings will now always sync, even if there's a sync conflict, overwriting the cloud version. This should fix lot of cases of sync errors and help prevent settings from reverting to defaults
- Model Exporter will now name materials by the object they're on (based on feedback by @Business Lawyer)
-- Let me know how well this works, it might need some tweaks
- Updated the Unity SDK to latest version of Neos (this fixes sync issues from the SDK encountered by @Quinix )

Bugfixes:

- Improved security by preventing simulated button presses (reported by @ProbablePrime )
- Fixed public worlds opening with the access level they were saved with (e.g. opening as private) (reported by @Nexulan )
- Fixed objects turning black when too near the camera due to changes in the post processing stack (reported by @Lewi-bean and @Veer )
- Fixed exceptions during Neos startup due to missing object
- Fixed worlds reverting back to private when users join (reported by @ProbablePrime)
- Removed diagnostic message for destroyed updatables (based on log from @Coffee )
- Fixed synchronization diagnostic data not always getting logged correctly (to help diagnose @Steamkraft's sync issue)



0.8.18.33612 - Blending support for the LUT shader and some fixes and additions

0.8.18.6401 - New Updated shaders! Fog Volume, PBS Color Mask, LUT filter

New Features:

- Added PBS Color Mask shader (including both Metallic/Specular workflow) (requested by @Aegis_Wolf )
-- This material has a color mask texture, which allows selectively tinting 4 independent albedo/emissive regions
- Heavily extended Fog Box Volume shader (based on requests by @DeliriousJax and @Coffee )
-- It now supports 3 distance accumulation modes - Linear, Exponential and Exponential Squared
-- Linear mode now has Fog Start and Fog End properties
-- Added ability to use vertical color gradient instead of single accumulation Color
-- Added Worldspace mode, which computes accumulation in world distance units and doesn't clamp to the cube volume
-- Added Clamp Alpha and Clamp Color modes, which prevent color artifacts due to out-of-range alpha or HDR blow-out
- Added LUT filter shader (requested by @Coffee )
- Added support for exporting and importing LUT references
-- To export, simply grab an image, export as usual and select "LUT" as format (will be PNG file with LUTs embedded)
-- To import, simply use LUT option on the same image, which will import it as 3D texture, usable with the LUT filter shader
- Added "Disable Shadows" and "Disable Per Pixel Lights" to mirrors (suggested by @InsaneGrox )
- Added render time to debug dialog to help get more performance data diagnosis (based on feedback by @Addim)
-- This only works when running in VR
- Added Release All Grabbed node, which will force the player to release all held items in specific hand (implemented by @Coffee )

Tweaks:

- Changed default camera far clipping distance to 4096 to correspond to VR clipping distance
-- This fixes the finger camera clipping part of the scene in large worlds (based on feedback by @Coffee)
- Headless Client doesn't run command server anymore (this prevents it from opening Neos links, reported by @Bom "Bitman" bomb (PolyLogiX) )
- Upgraded to Unity 2019.3b12

Bugfixes:

- Fixed race conditions when accessing world user data, causing certain things to randomly break (discovered in log from @Ballistic)
- Fixed excessive logging and exceptions in StatusManager triggered by a different error (discovered in log from @Ballistic)
- Removed forgotten debugging text when dragging out LogiX outputs with the tooltip (reported by @Hayden (PolyLogiX - ZyroDesign) )
- Removed some old logging information for P2P asset transfers
- Fixed textures with bpp larger than 24-bit (excluding alpha) not exporting correctly as JPG
- Fixed export dialog disappearing too soon
- Fixed texture data being flipped upside down in some cases
-- E.g. this fixes all procedural textures being flipped upside down
-- Also fixes certain cases where doing operations on textures (e.g. exporting or transforming) flips them upside down
- Fixed 3D Textures not respecting the clamp settings
- Fixed Patreon update not working correctly (based on issue by @Thorodiki )



Tweening Node, Camera Item Saving permissions, ongoing progress on UI overhaul

Welcome back everyone!

We’ve got a fairly short update this week, because we’re currently focusing on the technical aspects of the UI overhaul. We’ll be discussing a couple small additions and tweaks made to Neos and how they work for our users! We’ve also got a couple interesting and beautiful worlds to showcase by members of our community!

Our weekly livestream will start in about 20 minutes from this post! Come join us and chat with us. The !bobblehead chat command should now also have proper sounds, you’ve got to hear them! ;)



Tweening Node

The new “Tween” node allows for LogiX to animate a parameter of an object over a specified amount of time from one value to another. This greatly simplifies this kind of animation, as you only need one node and you’ll even get an impulse when it’s done animating!

An example could be a light that fades to different colors over the course of a second, a train movement system that needs precise timing, an object that moves smoothly to a random location every other second, and many other wonderful ideas!

Camera permissions

There are now new world permissions that can restrict one’s ability to move their streaming camera to other users, effectively disallowing in-world stream sniping. This can be very helpful to worlds such as the GunLight worlds where users could otherwise use the stream camera for an unfair advantage.

Permissions for saving items and swapping avatars as spectator

We’ve added new world permission settings that allow the owner of the world to take more control of their worlds security. Now you can allow your friends to have builder access while also preventing people from saving items from your world. You can also allow spectator level visitors to swap their avatars while keeping them from bringing in unwanted items.

Community Highlights

Our community members have made some amazing worlds that have made it to our Highlights section this week! Make sure to give them a visit!

Hex Moving - Zane

Being here almost feels like you’re a particle flying through the large hadron collider! This is a wonderful chill world to hang out with your friends and dance!



Broken Heart - Illuminatty
Get your smoke on in this wonderfully dank atmosphere! This small hangout is great for hosting private DJ sessions and small dance parties as well as to just chill with friends and meet new ones!



Shangri-La - GearBell
A snowy wonderland that makes you feel like you’re in an MMO! Explore the deep ravines or relax on the grassy floating plateau as the snow blows around you.



Light Saber - Lewis_Snow

Lewis has released the first public version of his amazing lightsaber. With fancy power on and off effects, sounds, trails and even collisions (they're currently a bit glitchy, but still fun to play with). You can find it in his public folder, definitely check it out!

[previewyoutube][/previewyoutube]

Thank you again to our wonderful community for making such amazing worlds! If you have a world you want to show off, let Veer know! Videos are very helpful too!

What’s next?

We’re currently working on the new font rendering system for Neos. This involves a significant amount of groundwork and new concepts being introduced into the engine, so it’s a bit slow from the beginning, but soon you’ll be able to reap its benefits.

The new system is going to be using a multi-channel signed distance field rendering method, which provides superior font quality and preserves sharp corners, unlike the current single channel signed distance field.

The system is also designed to be heavily multithreaded, reducing text update latency and moving it to background thread, reducing lag with changing text and will feature support for both pre-generated and dynamically generated characters. We expect to have first working version of this system sometime next week.

We are also currently porting TiltBrush shaders over to Neos, which will allow for the import of its drawings, while preserving the same look! We’ve had quite a few XR artists ask about this ability and we’re excited to see what kind of creations it will bring.

We’ll keep you updated as we make more progress! Check out our official Discord for daily updates and peek behind the scenes and don’t forget to join our livestream as well, where you can chat with us about these updates and ask us questions.

And as always, thank you again to our wonderful community and very generous patrons! This project could not exist without you.

See you next time!