1. Neos VR
  2. News

Neos VR News

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!

0.8.18.33266 - Many bugfixes, preventing data loss when saving worlds

A bunch of important bugfixes, particularly to prevent data loss with world saving. Sorry for the smaller builds now, I've been busy with a few other things and I'm designing the new font rendering system now.

New Features:

- Added ability to load worlds directly from a raw 7zbson and lz4bson file
-- This is mostly for auto-recovery purposes, do not use this as a distribution method
- Added FeetCollisionList & FeetCollisionListMode to VRIKAvatar
-- This lets you specify which objects will always be ignored from feet collissions or alterantively which ones will be used
- Added ability to unfavorite avatar by selecting it and clicking the heart (based on feedback by @Hayden (PolyLogiX - ZyroDesign) )

Tweaks:

- LogiX interfaces and wires for reference fields will now show the color of the reference target, rather than the reference field
- Made more tweaks to the chest effector to fix twisting shoulders when using chest tracker (based on feedback by @Reactant )

Bugfixes:

- Reworked logix input connection logix to fix certain scenarios where the right reference node isn't prefixed
-- This fixes the issue where reference field can't be correctly plugged to CreateReferenceUndoStep (reported by ProbablePrime )
- Fixed exception in save process when there's a malformed Uri in the saved data, breaking the save process (reported by @Medra )
- Added a guard against unexpected errors in the save process breaking the save completely
- Added a failsafe to world saving, which will dump the raw saved data to disk for manual recovery in case there's any unexpected exception in the saving process
- Fixed rare crash when upgrading/downgrading an asset variant (e.g. switching texture compression mode or filtering) and the relocation triggers nested relocation again (discovered in log from @Zane )
- Fixed broken texture exporting when only variants of the texture file are downloaded, but not the original (reported by @Kalash )
- Fixed textures with one dimension longer than 16384 (16K) not loading at all, due to inability to compute the variant
-- Neos will automatically request variant that has the longest side at 16K so it will get downscaled.
-- Please don't use textures this big, it's not supported by GPU's and the graphics API's, so it will just lead to waste of resources and quality loss
- Fixed LogiX evaluation contexts not properly clearing outputs
-- This fixes the Raycaster outputs getting stuck when nothing is hit (reported by @LucasRo7 , @Shifty )
- Fixed Full Body Calibrator avatar feet colliding with random objects - they will now ignore everything but the platform
- Made OneShotAudio instances non-persistent, so they don't get accidentally saved with the world
- Fixed race condition when filling empty avatar slots, causing exceptions or add behaviors
- Fixed streamer camera not being able to target other users after recent camera permission addition