2021.6.7.794 - Tweaks/fixes for Context Menu Injection, LogiX, IK, audio & more
Hello everyone, I'm back! :smile: Here's a bunch of smaller additions, tweaks and bugfixes to clear up a bunch of the GitHub issues that have popped up while I was on the break. This includes numerous improvements and fixes for the Context Menu Injection, LogiX, avatar legs randomly popping up (and other random glitches, as it was caused by an underlying math function that's used in a lot of places), glitchy audio on Unity Native video playback and more!
I'll be working on some larger things next, I've already started poking around BEPUv2, so that will be a major upgrade, but not certain how long will that quite take yet, as well as on some cloud and builds things to improve some internal processes. Hopefully this build will help get rid of some of the pain points in the meanwhile!
[h2]New Features:[/h2]
- Added "Keep Position" to ContextMenuSubmenu which will not reposition the context menu when it's opened through this option (requested by @3x1t_5tyl3)
-- Note that you should make sure that the context menu is in a good position when it's opened first before using this, otherwise it'll end up in whatever random last position it was last spawned in, resulting in usability issues
- Added "OnlyForSide" field to RootContextMenuItem, which allows the context menu item to be optionally filtered based on the hand that opens the context menu (requested by @Shadow Panther [RU/EN, UTC+3])
- Added TooltipAvatarPoseFilter (under Transform/Interaction) which allows installing avatar pose filters when equipping tooltips (requested by @3x1t_5tyl3)
-- This needs to be placed on the same slot as the tooltip to work
- Texture Asset Variant system now supports RawRGBAHalf texture compression for HDR and high precision textures
-- This fixes HDR textures set as "Uncompressed" loading as LDR RGBA32 textures, resulting in loss of all the HDR data (reported by @SmolCookie | VRtualis CEO)
[h2]Tweaks:[/h2]
- A dummy character controller is now activated when no locomotion module is active (e.g. when sitting in an avatar anchor or when all are disabled by permissions)
-- This fixes users in avatar anchors not being tracked by ColliderUserTracker and being excluded from culling systems and events
-- If you run into issues where you need the user to be excluded from events and such with your avatar anchor, let us know and we'll add a mechanism to provide this. Currently I'm not sure if there are any use-cases for this.
- SessionOrbsController now skips updates in background worlds with no users present to avoid unecessarily loading and unloading thumbnails
- Default User Scale is now respected when user is reset because of falling outside of the map or when their scale gets corrupted (reported by @Gawdl3y)
- Categorized Float2/3/4Driver components under Transform/Drivers (requested by @Epsilion)
- Importing all asset types (Audio, Fonts, import dialogs...) will now place them in the user's current space rather than root (reported by @Kyuubi)
- Pressing secondary when dragging a wire to a Type input on a LogiX node will now spawn the Type input node (requested by @3x1t_5tyl3)
- Increased the maximum value of "Cleanup Interval" in the session menu to 3600 (based on feedback by @3x1t_5tyl3)
- FindCharacterControllerFromSlot now ignores any disabled character colliders
- All avatar records that aren't in public folders have been marked as non-public
-- Note that you won't see this reflected in your inventory right away, as the records will still be cached. I recommend waiting a day and clearing your database if you want the UI to reflect the change, but it's not necessary for the security improvement to work
- Merged Japanese locale additions and tweaks by @Aesc
- Merged Russian locale additions and fixes by @Shadow Panther [RU/EN, UTC+3]
- Merged Korean locale additions by @Guide
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Spanish locale additions by @Ruz
[h2]Bugfixes:[/h2]
- Fixed custom context menu not responding to changes of the Sprite on ContextMenuItemSource when the menu is opened (reported by @seif1 and @Axius)
- Context Menu open/close speed is now sanitized, preventing invalid values (0, negative, infinity, NaN...) from breaking it (reported by Asakleiman)
- Neos will now retry API requests on 502, 503 and 504 responses, which usually indicate transcient issues
-- This should improve robustness of cloud functionality and syncing (based on report by @Shadow Panther [RU/EN, UTC+3])
- Fixed Context Menu breaking when the Label is null (reported by @Hayden)
- Custom context menu will now preserve the CommonTool summoner and pointer when already opened or try to use the one from the hand that has opened it
-- This fixes flick misbehaving when opened from the main context menu (reported by @Gawdl3y)
-- This also fixes custom context menus not being usable when the laser is disabled (reported by @Electronus, @Hayden, @Ukilop and @Psychpsyo)
-- This also fixes the context menu not preserving its position when the item is clicked with other hand (reported by @Gawdl3y and @Psychpsyo)
-- This also fixes not being able to interact with the context menu when the laser is occluded by a collider (@Ian Corvid and @Epsilion)
- Fixed Unity Native video playback engine producing glitchy audio on videos that aren't stereo (e.g. Mono, Quad or 5.1) (reported by @Gawdl3y and @Enverex)
- Fixed Slerp operation producing NaN quaternions in some rare cases due to floating point imprecision, resulting in random corruptions and glitchy behavior
-- This fixes avatar legs randomly jumping up on some avatars (reported by @Earthmark, @Cael Thunderwing, @H3BO3 and @HaruMaki)
-- This will also likely fix other random cases of glitchy behavior across the board (including when you use the Slerp function in LogiX) as the function is used widely internally
- Fixed LookAtUser always looking at the local user when the target node is set to View (reported by @AshtonSparx and @Sox)
- Fixed "Prevent reticle from going below the horizon" option no longer working after desktop update (reported by @ooBLANKAoo)

I'll be working on some larger things next, I've already started poking around BEPUv2, so that will be a major upgrade, but not certain how long will that quite take yet, as well as on some cloud and builds things to improve some internal processes. Hopefully this build will help get rid of some of the pain points in the meanwhile!
[h2]New Features:[/h2]
- Added "Keep Position" to ContextMenuSubmenu which will not reposition the context menu when it's opened through this option (requested by @3x1t_5tyl3)
-- Note that you should make sure that the context menu is in a good position when it's opened first before using this, otherwise it'll end up in whatever random last position it was last spawned in, resulting in usability issues
- Added "OnlyForSide" field to RootContextMenuItem, which allows the context menu item to be optionally filtered based on the hand that opens the context menu (requested by @Shadow Panther [RU/EN, UTC+3])
- Added TooltipAvatarPoseFilter (under Transform/Interaction) which allows installing avatar pose filters when equipping tooltips (requested by @3x1t_5tyl3)
-- This needs to be placed on the same slot as the tooltip to work
- Texture Asset Variant system now supports RawRGBAHalf texture compression for HDR and high precision textures
-- This fixes HDR textures set as "Uncompressed" loading as LDR RGBA32 textures, resulting in loss of all the HDR data (reported by @SmolCookie | VRtualis CEO)
[h2]Tweaks:[/h2]
- A dummy character controller is now activated when no locomotion module is active (e.g. when sitting in an avatar anchor or when all are disabled by permissions)
-- This fixes users in avatar anchors not being tracked by ColliderUserTracker and being excluded from culling systems and events
-- If you run into issues where you need the user to be excluded from events and such with your avatar anchor, let us know and we'll add a mechanism to provide this. Currently I'm not sure if there are any use-cases for this.
- SessionOrbsController now skips updates in background worlds with no users present to avoid unecessarily loading and unloading thumbnails
- Default User Scale is now respected when user is reset because of falling outside of the map or when their scale gets corrupted (reported by @Gawdl3y)
- Categorized Float2/3/4Driver components under Transform/Drivers (requested by @Epsilion)
- Importing all asset types (Audio, Fonts, import dialogs...) will now place them in the user's current space rather than root (reported by @Kyuubi)
- Pressing secondary when dragging a wire to a Type input on a LogiX node will now spawn the Type input node (requested by @3x1t_5tyl3)
- Increased the maximum value of "Cleanup Interval" in the session menu to 3600 (based on feedback by @3x1t_5tyl3)
- FindCharacterControllerFromSlot now ignores any disabled character colliders
- All avatar records that aren't in public folders have been marked as non-public
-- Note that you won't see this reflected in your inventory right away, as the records will still be cached. I recommend waiting a day and clearing your database if you want the UI to reflect the change, but it's not necessary for the security improvement to work
- Merged Japanese locale additions and tweaks by @Aesc
- Merged Russian locale additions and fixes by @Shadow Panther [RU/EN, UTC+3]
- Merged Korean locale additions by @Guide
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Spanish locale additions by @Ruz
[h2]Bugfixes:[/h2]
- Fixed custom context menu not responding to changes of the Sprite on ContextMenuItemSource when the menu is opened (reported by @seif1 and @Axius)
- Context Menu open/close speed is now sanitized, preventing invalid values (0, negative, infinity, NaN...) from breaking it (reported by Asakleiman)
- Neos will now retry API requests on 502, 503 and 504 responses, which usually indicate transcient issues
-- This should improve robustness of cloud functionality and syncing (based on report by @Shadow Panther [RU/EN, UTC+3])
- Fixed Context Menu breaking when the Label is null (reported by @Hayden)
- Custom context menu will now preserve the CommonTool summoner and pointer when already opened or try to use the one from the hand that has opened it
-- This fixes flick misbehaving when opened from the main context menu (reported by @Gawdl3y)
-- This also fixes custom context menus not being usable when the laser is disabled (reported by @Electronus, @Hayden, @Ukilop and @Psychpsyo)
-- This also fixes the context menu not preserving its position when the item is clicked with other hand (reported by @Gawdl3y and @Psychpsyo)
-- This also fixes not being able to interact with the context menu when the laser is occluded by a collider (@Ian Corvid and @Epsilion)
- Fixed Unity Native video playback engine producing glitchy audio on videos that aren't stereo (e.g. Mono, Quad or 5.1) (reported by @Gawdl3y and @Enverex)
- Fixed Slerp operation producing NaN quaternions in some rare cases due to floating point imprecision, resulting in random corruptions and glitchy behavior
-- This fixes avatar legs randomly jumping up on some avatars (reported by @Earthmark, @Cael Thunderwing, @H3BO3 and @HaruMaki)
-- This will also likely fix other random cases of glitchy behavior across the board (including when you use the Slerp function in LogiX) as the function is used widely internally
- Fixed LookAtUser always looking at the local user when the target node is set to View (reported by @AshtonSparx and @Sox)
- Fixed "Prevent reticle from going below the horizon" option no longer working after desktop update (reported by @ooBLANKAoo)


