2020.4.19.195 - New Audio Input Driver, Badges, Order Offset, Walk/Run speed...
New audio input (microphone) driver! Wrote a completely custom one using WASAPI after many reported issues with the NatMic library (garbled voice, 100% CPU usage, crashes). Also improved order offset mechanics to be a lot more predictable. This makes ordering graphics in UIX a lot easier, just change the OrderOffset in the inspector to determine which UI elements draw on top of each other under a single parent.
Importantly, default movement speed has been modified! Read the notes for more details and let us know if you run into issues or if you need a setting to bump the custom speed up now, rather than having to wait for new settings. A bunch more smaller additions, tweaks and bugfixes as well.
Also featuring new custom badges by @Coffee as well as tweaks to the context menu items and visuals!
[h2]New Features:[/h2]
- Wrote a custom audio input driver using WASAPI for Windows to replace the problematic NatMic library
-- This should fix user's voice randomly becoming choppy/garbled (reported by @Enverex and others, let me know how it works)
-- This also fixes excessive 100% CPU utilization on some machines coming from the NatMic library (reported by @GyLala)
-- It should also fix the audio producing random screeches on older systems without the switch to the legacy Unity capture method
- New custom Neos badges created by @Coffee! Those should have more unified style, rather than being randomly gathered public domain / licensed images
- Added ValueEqualityDriver (under Transform/Drivers) which sets target to true when a target value matches reference (requested by @RueShejn)
- Added Baguette
- Added "Slide Direction" to UIX Slider with support for vertical sliders (requested by @RueShejn)
- Added "Use Speed From User Settings" configuration for Physical Locomotion (on by default for unmodified modules)
-- This will allow users setting their custom locomotion speed. Disable this for worlds where you want to control the exact maximum speed
-- Currently the setting isn't implemented yet, it will be added later, but you can start configuring your worlds in advance
- Added "Create Undo Step" to NeosSlider component, which allows to control whether the changed slider value creates an undo step
[h2]Tweaks:[/h2]
- Reworked the Order Offset property on Slots to provide a lot more intuitive and predictable behavior - all slots are always first sorted by their OrderOffset, then by their reference ID (e.g. putting order offset of -10, while all others are 0 will make that slot always first)
- The scene hierarchy inspector now updates the order of children immediatelly as it's changed
- Changed default speed for physical locomotion to about half (based on feedback by @Enverex, @Shifty and many others)
-- If your locomotion module is not using the default speed anymore, it will be left untouched and the "Use Speed From User Settings" will be off, so your existing overrides should be unaffected
-- IMPORTANT!!! If your world with overriden locomotion settings is changed, let me know asap and DO NOT SAVE. Until the world is saved again the auto-upgrade process is re-run every time
- Added extra information to cloud record audit data (record names and path) to help diagnose and potentially restore removed worlds and items
- Tweaked default LOD Bias so the distances are more consistent between screen mode and VR (based on feedback by @Enverex)
- DebugUsers now colors each user line to make it easier to read
- Renamed "Reveal LogiX Nodes in children and connected" to "Unpack children & connected nodes" (suggested by @RueShejn )
- Tweaked saturation and transparency of the context radial menu (based on feedback by @Shifty and @DeliriousJax)
- Locomotion module name is now taken from the Slot name it's on, rather than having custom field for it
- Simplified session cloud thumbnail management, heavily reducing amount of traffic necessary to keep the thumbnails pinned (in most cases completely eliminating need for repeated HTTP requests, saving some resources)
- Some internal moderation tool improvements to help resolve future problems
- Some small optimizations for audio processing
- Following changes to the context menu visuals and icons done by @Coffee:
-- Changed "Set Packing Root" icon based on feedback from @GearBell
-- Overhauled "Deselect All" icon (Based on feedback from @DeliriousJax )
-- Added color and shape contrast to the material icons (Based on feedback from @DeliriousJax)
-- Made the arrows on packing icons larger and added a red down arrow to "Set Packing Root" (Based on feedback from @GearBell and @H3BO3)
[h2]Bugfixes:[/h2]
- Fixed Color dialog spamming the Undo history with constant value changes (reported by @Enverex)
- Fixed AxisPanner incorrectly wrapping object around when the time base is negative (reported by @Enverex)
- More reference/event cleanups for Slots to help prevent memory leaks
- Fixed inspector not unregistering events from slots when destroyed, causing performance degradation and potential memory leaks

Importantly, default movement speed has been modified! Read the notes for more details and let us know if you run into issues or if you need a setting to bump the custom speed up now, rather than having to wait for new settings. A bunch more smaller additions, tweaks and bugfixes as well.
Also featuring new custom badges by @Coffee as well as tweaks to the context menu items and visuals!
[h2]New Features:[/h2]
- Wrote a custom audio input driver using WASAPI for Windows to replace the problematic NatMic library
-- This should fix user's voice randomly becoming choppy/garbled (reported by @Enverex and others, let me know how it works)
-- This also fixes excessive 100% CPU utilization on some machines coming from the NatMic library (reported by @GyLala)
-- It should also fix the audio producing random screeches on older systems without the switch to the legacy Unity capture method
- New custom Neos badges created by @Coffee! Those should have more unified style, rather than being randomly gathered public domain / licensed images
- Added ValueEqualityDriver (under Transform/Drivers) which sets target to true when a target value matches reference (requested by @RueShejn)
- Added Baguette
- Added "Slide Direction" to UIX Slider with support for vertical sliders (requested by @RueShejn)
- Added "Use Speed From User Settings" configuration for Physical Locomotion (on by default for unmodified modules)
-- This will allow users setting their custom locomotion speed. Disable this for worlds where you want to control the exact maximum speed
-- Currently the setting isn't implemented yet, it will be added later, but you can start configuring your worlds in advance
- Added "Create Undo Step" to NeosSlider component, which allows to control whether the changed slider value creates an undo step
[h2]Tweaks:[/h2]
- Reworked the Order Offset property on Slots to provide a lot more intuitive and predictable behavior - all slots are always first sorted by their OrderOffset, then by their reference ID (e.g. putting order offset of -10, while all others are 0 will make that slot always first)
- The scene hierarchy inspector now updates the order of children immediatelly as it's changed
- Changed default speed for physical locomotion to about half (based on feedback by @Enverex, @Shifty and many others)
-- If your locomotion module is not using the default speed anymore, it will be left untouched and the "Use Speed From User Settings" will be off, so your existing overrides should be unaffected
-- IMPORTANT!!! If your world with overriden locomotion settings is changed, let me know asap and DO NOT SAVE. Until the world is saved again the auto-upgrade process is re-run every time
- Added extra information to cloud record audit data (record names and path) to help diagnose and potentially restore removed worlds and items
- Tweaked default LOD Bias so the distances are more consistent between screen mode and VR (based on feedback by @Enverex)
- DebugUsers now colors each user line to make it easier to read
- Renamed "Reveal LogiX Nodes in children and connected" to "Unpack children & connected nodes" (suggested by @RueShejn )
- Tweaked saturation and transparency of the context radial menu (based on feedback by @Shifty and @DeliriousJax)
- Locomotion module name is now taken from the Slot name it's on, rather than having custom field for it
- Simplified session cloud thumbnail management, heavily reducing amount of traffic necessary to keep the thumbnails pinned (in most cases completely eliminating need for repeated HTTP requests, saving some resources)
- Some internal moderation tool improvements to help resolve future problems
- Some small optimizations for audio processing
- Following changes to the context menu visuals and icons done by @Coffee:
-- Changed "Set Packing Root" icon based on feedback from @GearBell
-- Overhauled "Deselect All" icon (Based on feedback from @DeliriousJax )
-- Added color and shape contrast to the material icons (Based on feedback from @DeliriousJax)
-- Made the arrows on packing icons larger and added a red down arrow to "Set Packing Root" (Based on feedback from @GearBell and @H3BO3)
[h2]Bugfixes:[/h2]
- Fixed Color dialog spamming the Undo history with constant value changes (reported by @Enverex)
- Fixed AxisPanner incorrectly wrapping object around when the time base is negative (reported by @Enverex)
- More reference/event cleanups for Slots to help prevent memory leaks
- Fixed inspector not unregistering events from slots when destroyed, causing performance degradation and potential memory leaks


