1. Neos VR
  2. News

Neos VR News

New Gripping/Equipping System, April Community Showcase, Steam Audio and more

Hello everyone, welcome back to the weekly update! This week we have a new addition to the Radiant UI, the new grip system! This new gripping system will allow you to define where you want your tools to be attached by default.

It also allows you to use your tools while simply gripping them. For our community highlights, we have showcased this month's creations in our monthly community showcase stream.



[h2]New Gripping / Equipping System[/h2]
The newest addition to our Radiant UI is our new gripping system, which will replace the old clunky method of repositioning tools, guns and other equippables every time you wish to use them. The new grip system allows you to predefine areas where your right or left hand would grip onto an item, such as a gun. Once positioned, the item will remember where it needs to be in the next hand that grabs it, without needing to adjust for different avatars.

[previewyoutube][/previewyoutube]
Note: This is an earlier devlog video, the issues shown in the video have already been fixed in the latest builds

You can find the grip positions in the hierarchy of any attachable “tool”, labeled as Left/Right Grip Pose. Clicking on “ShowVisual” in the GripPoseReference component will show a hand to give you an idea of where this item will go when gripped. You can adjust this hand visual using the inspector.

We have also added a very quick way to adjust those by turning on Edit Mode, gripping and repositioning the tool with the opposite hand. This makes it easy and quick to upgrade existing items and tools to the new system, particularly when the heuristics doesn’t detect proper gripping poses.

[previewyoutube][/previewyoutube]

Changing the size of the Grip Pose reference will cause the item to change size when gripped, so avatars with hands that are big or small will have the item adjust to their hand size dynamically.

This will ultimately lead to a smooth and easy usage of equippable tools for avatars of any size. The use cases for this are vast, as it allows users in many gaming scenarios to quickly grab items and weapons appropriately without having to reposition them.

The grabbing mechanism was changed up as well. Grabbing an item with your hand is now always considered a physical grab, so your joystick/touchpad won’t get overridden for rotating/moving the grabbed item. This functionality is now only used when you grab the object with your laser.

Overall these changes are designed to reduce the number of steps and necessary interaction mechanisms for common interactions in Neos, making it into a smoother and less frustrating experience.

As we go, we’ll keep expanding the system and making it more powerful to help you better express how different items and objects align with the avatar's hands and make sure your creations work well for other players out of the box.

[h2]Steam Audio, New Icons, smaller additions, tweaks and bugfixes[/h2]
This week we have finally switched back to the Steam Audio as our main spatializer thanks to the release of beta 18, which fixed the audio popping bug that forced us to switch to the lower quality MS HRTF spatializer. Steam Audio should provide a lot better audio quality as well as many more options to expose and fine tune in the future.

Continuing with the graphical update more new icons have been added, both for more tools and for the app itself (Neos, Launcher and the Headless).

And as usual, lots of smaller things were added, tweaked or fixed. PBS Triplanar got dual sided support, crashes in Steam Networking Sockets were mitigated, meter tooltip is now more reliable and easier to use and more. Check out #neos-updates on our Discord server to see all the things that have changed!



[h2]Beginner Crash Course 3 - Building tools, particle systems, brushes, new gripping system[/h2]
In this week’s beginner crash course livestream we have looked at the basic building and creation tools in Neos as well as the new gripping system. We have also covered how to quickly make your own particle systems and use brushes and other art tools.

If you missed the stream you can watch the recording here. Make sure to follow us on Twitch if you want to catch us live and ask any questions!

[previewyoutube][/previewyoutube]

[h2]April Community Showcase Livestream[/h2]
We have our monthly showcase on the last friday of every month, where we show off the most interesting and fun creations made by our community members. Nexulan hosts the stream as usual for our Friday streams.

If you want to see all the amazing stuff that our community has built over the past month, give it a watch! We went to many beautiful worlds and showed a lot of fun items that you can find inside of Neos.

[previewyoutube][/previewyoutube]

[h2]What’s Next?[/h2]
hand/interaction system with the new Radiant UI, following the new context menu and gripping system. These combined will form a full interaction system, designed to be much sleeker and significantly less frustrating than the old one, as well as more powerful going forward.

After the laser is done we’ll focus on the Facet system and the new dash, which will be the main backbone of the Radiant UI. There’s a lot of exciting stuff coming, so stay tuned! And as always, thanks so much for reading the weekly update and supporting the project, you’re awesome!

2020.4.26.717 - Steam Networking Sockets, Context Menu and other bugfixes

Pushing a bunch of bugfixes and tweaks out. I'm going to be replacing the laser system next, so I want to get those out so they don't get held up by it.

[h2]New Features:[/h2]
- Added "UVOffset" property to QuadMesh (implemented by @Coffee)

[h2]Tweaks:[/h2]
- New icons and various fixes for the meter tip (implemented by @Coffee):
-- Spawning of points is now undoable
-- Perpendicular mode points are now grabbable, making it easier to delete
-- Added icons to all of the options available in the hand menu
-- Fixed issue where deleting a multi point chain would leave behind junk in the world

[h2]Bugfixes:[/h2]
- Reworked Steam Networking Sockets transmission method to do all the API calls from the same worker thread, preventing potential race conditions and crashes (based on reports by @Rukio and @Shifty)
- Fixed serialization/deserialization of ulong values that can't fit into signed 64-bit integer, causing certain items and worlds to not save (reported by @あいら)
- Fixed exceptions when assigning parent to already destroyed Slot (e.g. with LogiX delay nodes, discovered in log from @あいら)
- Fixed tooltips sometimes receiving inputs when clicking options in the new Context Menu (reported by @H3BO3 and others)
- Fixed raw data tooltip ignoring blocked primary and secondary actions when they have been used for another interaction (e.g. equipping, context menu use and so on)
- Neos will automatically break drive on user root active state when it's driven (reported by @LeDrascol)
- Fixed Text Edit gizmo still showing after the text renderer is disabled (reported by @BlaXun | Ingo)

2020.4.25.491 - Double sided PBR triplanar, many bugfixes for new gripping

A bunch more bugfixes for the new gripping system as well as some other things! Plus a few small additions and tweaks.

[h2]New Features:[/h2]
- Added "Culling" support for the PBS Triplanar material, allowing to make it dual sided or cull the front face instead of the back (requested by @SHFR_H)
- Added isEnabled setting to a world definition in the headless, allowing entries to be easily disabled without having to delete them (requested by @Enverex)
- Added "Collider Updates" static to the debug dialog to measure how many colliders in the physics engine were updated each frame

[h2]Tweaks:[/h2]
- Optimized spawning of mesh renderer gizmo's (typically spawned in developer mode)

[h2]Bugfixes:[/h2]
- Added guard against non-uniform scale on the user root - the user will automatically be reset back to uniform scale-
-- This fixes various random issues, such as the IK messing up due to the user being non-uniformly scaled (e.g. when hidden with the smoke bomb, reported by @Veer)
- Added some guards against missing pieces of Neos Panel to prevent it from logging excessive exceptions
- Added extra debugging information to Steam Networking Sockets to help diagnose closed connections (based on report by @Rukio, @Shifty )
- The new gripping system will now ignore GripPoseReferences on inactive parts of hierarchy
-- This fixes the wrong pose references being used in some cases (based on issue by @GearBell)
- Fixed equipped item jumping away if it's released while it's grip pose offset is being adjusted
- Fixed Slider component messing up position if the parent is unexpectedly changed
- Changed conneciton close and disposal mechanism for Steam Networking Sockets to always run on the same thread, to help avoid potential crashes (based reports by @Shifty, @Rukio and others)
- The new gripping system will ignore HandPosers that are disabled or on parts of hierarchy that are inactive
-- This fixes issue when a wrong one is picked on the avatar as a reference (discovered by @Anomalous)
- Fixed users in screen mode being able to scale themselves when the permission disables this (Reported by @Hayden (PolyLogiX - ZyroDesign) through @Shifty)
- Fixed MeshRendererGizmo's staying in the world after the developer mode is disabled (reported by @Enverex)
- Fixed gizmos trying to be spawned for local parts of the data model, causing lots of exceptions

2020.4.23.1430 - Quick grip pose editing, Steam Audio, bugfixes and tweaks

A bunch of additions, tweaks and bugfixes to the new gripping/equipping system! Grip pose is now very easy and quick to adjust. Just switch to Edit mode, grab the item and reposition and save the item!

Also we're back to using Steam Audio as our main spatializer, it seems that the audio popping bug has been fixed in the latest beta (thanks to Valve!).

A bunch of other bugfixes and tweaks too. Curiously a lot of those I did on my Surface, when the power was out earlier today, so that's a first!

[h2]New Features:[/h2]
- Added ability to quickly edit pose reference for equippable items by enabling Edit Mode and then repositioning the tool with the other hand while it's equipped (suggested by @Shifty)
-- This will update the currently used grip pose reference, so you can save the item after the adjustments, preserving the new poses
- Upgraded to Steam Audio beta 18 and switched to it as the main audio spatializer, replacing the MS HRTF spatializer
-- This is thanks to Valve fixing the audio popping bug in the latest release. This should provide improved audio quality and spatialization for everyone, but let me know if you run into any issues
-- The steam-audio branch is now deprecated and disabled
- New app icons by @Coffee!

[h2]Tweaks:[/h2]
- Added support for avatars without hand-rigs for the new gripping system, fixing tooltips not aligning on those avatars (reported by @Hayden (PolyLogiX - ZyroDesign), @Shifty)
- Added back ability to allow only physical grabbing as "Allow Only Physical Grab" (will automatically update from old value if the object wasn't re-saved) (requested by @orange#1901)
- When no packing root is assigned, the LogiX tip will now show "Pack in-place" label (based on feedback by @H3BO3)
- Packing-in place will now automatically pull any new nodes under the same root as the other nodes that are being packed (based on feedback by @H3BO3)
- LogiX tip won't allow unpacking nodes on the world root (based on feedback by @H3BO3)
- Export dialogs now pre-fill the filename based on the item (suggested by @_Turk)
- Upgraded to Unity 2019.3.11f1 (from 2019.3.10f1)

[h2]Bugfixes:[/h2]
- Fixed unreliable grip pose heuristics for certain objects, where bounding box size is used for forward direction as fallback (e.g. trumpets, which end up with the direction being random, reported by @Shifty)
- Fixed locomotion world gripping not being blocked when gripping a tooltip (reported by @Shifty)
- Double grip interval is now reset after equipping/dequpping through the context menu, preventing a stray extra grip causing the just equipped item to dequip (reported by @Shifty)
- Fixed tooltips getting dequipped while grabbing various objects rapidly (reported by @Shifty)
- Fixed "Block Grip Equip" also blocking equipping by double gripping (reported by Iforgotwhosorry ;_;)
- SlotChildrenEvents will not fire child added/removed events for children added/removed during the event, preventing potential infinite recursion and crash (reported by @Vigilabo)
- Fixed Interactive camera not stopping the playback of the slow timer sound
- Fixed Steam Networking Sockets not working correctly (reported by @Cyro)
- Fixed the user scaling themselves when gripping a tool with one hand and trying to grab things with the other
- Snapper animation tween will automatically cancel when the object is unparented by some means (e.g. grabbed)
-- This fixes some conflicts between snap tweens and equipping reported by @Shifty, @Max The Hybrid, @RueShejn and @H3BO3

2020.4.22.882 - New grabbing equipping system (Radiant UI), tweaks, bugfixes

Another piece of Radiant UI is in! This time the gripping/equipping system has been redesigned to provide more ease of use, fluidity and make the system more powerful into the future for building all kinds of cool gadgets and tools.

One of the major changes is more explicit separation of the grip types. Gripping by hand always results in physical grip, so your controls are no longer taken away by just grabbing an object. Grabbing with the laser will still allow to move the object around with your joystick or touchpad.

Another big change is that you can now use all tools and equippable items simply by grabbing and holding them. You can still equip them traditionally so you don't have to keep the grip pressed.

Related to this, the system on how they snap has been reworked to be built around hands, instead of controllers. The items now define where the hand goes when they're gripped and align themselves automatically with the skeleton of your hand. This fixes many of the items equipping at very akward poses.

IMPORTANT: The gripping poses generally require a manual setup, as the system has no idea where a hand should go. All existing items are upgraded with heuristics on spawn. This works ok for many of the tools and items (especially weapons), but not for all of them. You will need to upgrade your existing items to the new system. This should be pretty easy and quick to do though, check the release notes for details or this video. The process will be made even easier with subsequent updates as well.
[previewyoutube][/previewyoutube]

I know this is a bit of a painful change, but we can't move forward without redesign of the system and since many of the items were never setup properly in the first place due to lack of the system, this now provides them with an easy upgrade path moving forward, allowing you to build content that is more fluid and easier to use, especially for new users!

[h2]New Features:[/h2]
- Redesigned tool/item equipping and gripping mechanics (thanks to @_Turk, @Abysmal, @Shifty, @GearBell, @H3BO3, @Rukio, @PeterTheThinker, @ohzee and other @Danger Tester's for catching early bugs and providing feedback!)
-- All tools/items are now usable simply by grabbing and holding them. They will automatically align themselves and be usable while held.
-- Double-grip to equip still works, as well as other equipping mechanics (context menu or pulling in with laser). Equipping the item prevents the need to keep holding grip
-- Reworked physical grabbing mechanics - grabbing with hand is now always considered physical and won't interfere with secondary/locomotion (only grabbing by laser will)
-- Reworked double grip equip mechanic - if the first grab equips a single tool, the second grab doesn't require to actually grab it, fixing issue where the tool getting out of the grab sphere could not be double-grip euquipped (reported by @_Turk)
-- Removed the obsolete tooltip repositioning mechanism (this will be replaced by Edit-mode repositioning with the new Grip Pose Reference system)
-- Removed several old laser, grip/equip and tooltip internal mechanisms, reducing the complexity and sources of bugs for these systems
- Added "Grip Pose Reference" (under Interaction), which allows defining a hand grip reference pose on tools/items
-- This will automatically align the tool/item with the avatar's hand on grab/equip. It will automatically match the skeleton and size of the hand to the item
-- All existing equippable items/tools are auto-upgraded with heuristics, which estimates where the hand goes. This works ok for some items, but for some it will require manual adjustment
-- To manually adjust, open the root and find the "Left/Right Grip Pose" and check "Show Visual". Then position the hand overlay to where a hand should grip the item
-- You can define multiple grip poses on an item. The one that's closest will be used when grabbing the item

- Added "Flip Preview" to the interactive camera control (in the settings panel), which flips the camera preview horizontally (requested by @GearBell)
- Added "Block Grip Equip" to tooltips, which prevents them from being auto equipped simply by grabbing (requested by @GearBell)
- Added "Timer Start Sound" and "Timer Countdown Slow/Fast" audio references to Interactive Camera, allowing to setup sounds that play with the timer function (requested by @RueShejn)
- Added hideFromPublicListing parameter to headless config for starting worlds, which will hide the world from public listing (requested by @Enverex)
- Added -user, -password and -token commandline arguments to headless to allow logging in the user (requested by @Bitman the Hackerman (PolyLogiX))

[h2]Tweaks:[/h2]
- Removed "Physical" property from Grabbable and draggables (Slider, Joint...), because it's now obsolete
- Removed laser tip touch source, greatly simplifying the touch logic and preventing accidental touches with the laser. Physical touch is now done with the actual index finger on the avatar
- Rewrote brush material/color dipping to be independent on the touch source, making it more robust and work in screen mode as side effect
- Updated youtube-dl to 2020.03.24 (from 2020.03.08) (suggested by @Shifty)
- Generalized custom grab filters in the codebase for Grabbable, Slider, Joint and other Grabbables and expanded the possibilities of the grab checking system (this allows the GrabPoseReference to reject grabbing with specific hand for example)
- Improved baguette detection
- Optimized grabbed item lookup when saving items into inventory to reduce the hiccup during the save
- Cleaned up some old unused libraries from the codebase

[h2]Bugfixes:[/h2]
- Fixed Steam integration (and consequently the Steam Networking Sockets) not being loaded on Linux client and headless (reported by @Cyro)
- Fixed cloud interface breaking when the cloud server responds with 429 or 500 codes, causing assets and other things to not load (found in log from @DeliriousJax)
- Fixed cloud sending repeated Patreon messages every 6 hours in some cases where user email is changed (reported by @Cyro)
- Fixed server errors (500) in some cases when uploading session thumbnail
- Fixed a potential Patreon integration exploit on the cloud server
- Fixed Set Child Index node not working correctly after recent Order Offset rework (reported by @jeana, @Aetoriz)