1. Neos VR
  2. News
  3. 2020.7.3.732 - Reworked voice mode system and added voice switching to dash

2020.7.3.732 - Reworked voice mode system and added voice switching to dash

Reworked the voice system to decouple mute and make the whisper/normal/shout/broadcast setting be per-world, rather than global, while preserving mute as a global toggle. The voice facet on the dash now also lets you switch your voice setting (desktop users re-joice! x3). I'm keeping the original switcher on the right hand for quick access for now, until the facet can be placed there instead.

Also some more internal progress on placing facets, particularly in VR mode! You can press Ctrl+F2 if you want to experiment, but it's still unfinished! Some other tweaks and additions as well. Now I go sleep!

[h2]New Features:[/h2]
- Reworked the voice mode system to decouple Mute from other voice options
-- Muting self is global - it will apply in all worlds
-- However voice status (Whisper, Normal, Broadcast) is now per-world. This fixes scenarios where having whisper or broadcast in one world will transfer to other worlds or will get automatically globally lowered due to permissions in a particular world
-- This also preserves the voice status when you mute and unmute yourself
- Added voice mode toggles to the VoiceFacetPreset, allowing the voice mode and mute to be switched from the top bar on the dash
-- The original voice switcher on the right hand is still present for now, at least until the voice facet can be placed on the hand in its place
- Added VoiceModeSync (under Utitlies), which provides the current GlobalMute state and the focused world voice mode and also allows them to be changed
-- This component will only work in the Userspace for security
-- It also provides FocusedWorldMaxAllowedVoiceMode, which is the maximum voice mode allowed to the local user in the focused world and individual bools for which voice modes can be used
- Added IsStandalone property to Facet, which indicates when the facet is standalone (currently not placed in a container)
-- Also added default background with Z-Write to a Facet, which is only visible when the facet is standalone
- Added "Clear Template" to ComponentCloneTip (requested by @SpearmintVR through @Blaze)
- Added "Clear Source" to RigTransferTip (requested by @Blaze)
- Added "MultiBoolConditionDriver" (under Transform/Drivers) which drives single bool field based on multiple source boolean fields
-- It supports 3 modes for when the driven field will be true - All (all conditions are true), Any (any of the conditions is true) and None (none of the conditions is true)
-- Each condition can also be inverted
- Added support for sprite tint to ValueOptionDescriptionDriver using per-option color override, multiplied with a SpriteTintBase color
- Added "Additive" color mode to InteractionElement (Buttons, Sliders...) which will addively blend the normal, highlight and press colors with the button's base color

[h2]Tweaks:[/h2]
- Changed the visuals for the online status switcher facet to be more easily distinguishable - the active option is now the only colored one, with others being black with inverted text (based on feedback by @ProbablePrime)
- Facets are automatically aligned and scaled to the hand that's grabbing them (e.g. when picking from the grid container)
- Replaced FlatLitToon preset in model importer with XiexeToon (based on feedback by @Blaze and others before)
- Removed old UserspaceDash
- Removed old Voice Indicator
- Removed old Online Status Panel

[h2]Bugfixes:[/h2]
- Potentially fixed race condition when updating UIX text, causing some canvases to break and stop updating (reported by @KierDran)
- Fixed facet grabbing from GridContainer having incorrect offset, causing the wrong facet to be grabbed