1.0.0-rc.1
github-actions
released this
19 Nov 15:53
·
17 commits
to master
since this release
1.0.0 Change Notes
Additions
- Add
PlayerAudioConfigurationModel
component- One is used for current global configuration
- One is used as default settings
- used when the
Reset All
button on the example menu is pressed
- used when the
- One is used to synchronize the master with all other players
- when UVU is used combination with the example menu
- Rely on new Execution Order defined in
UdonUtils
- Add AnimationCurve
HeightToVoiceCorrelation
to change voice range automatically in relation to avatar height (off by default)- Add to global
PlayerAudioConfigurationModel
- Add to
PlayerAudioOverride
- Add to global
- Add support for de-/activating UVU at runtime
- Disable/Enable either the GameObject with the
PlayerAudioController
or thePlayerAudioController
component itself
- Disable/Enable either the GameObject with the
- Add
DataDictionary
of UdonBehaviours mapped to PlayerIds (int
) that can be used to get notified whenever a player is updated- DataDictionary name:
PlayerUpdateListeners
- Keys: playerIds (integer)
- Values: UdonBehaviour
- Expected public Variables on listening UdonBehaviours:
public bool VoiceLowpass
public float VoiceGain
public float VoiceDistanceFar
public float VoiceDistanceNear
public float VoiceVolumetricRadius
- Expected functions on listening UdonBehaviours:
public void VoiceValuesUpdate()
- DataDictionary name:
- Add
PlayerAudioView
component which takes care of receiving input from the example menu and takes care of updating the menu in return - Add
VoiceRangeVisualizer
prefab that updates and displays each players voice range in real time for debugging/testing purposes - Add
DynamicPrivacy
script that can update the privacy channel of anotherPlayerAudioOverride
upon receiving aLocalPlayerAdded
orLocalPlayerRemoved
event from a givenPlayeraudioOverride
- Allows creating complex privacy channel setup, e.g. stages with private production areas (please check the demo world for such an example)
Fixes
- Fix "memory leak" in which new GameObjects would get instantiated every time a player entered a zone leading to decreased performance in long running instances which relied on zones
- The objects are now pooled and re-used
- Fix bug in
VoiceOverrideRoom
that caused in rare cases the list of players to not being updated - Fix issue making players already inside of triggers not being affected by
PlayerAudioOverride
when entering the world by briefly toggling all relevant triggers off and on again uponStart
Deletions
- Remove
UdonCommon
and other, similar library scripts from prefabs and use code statically - Remove
AutoPlayerRange
script (now part ofUdonUtils
) - Remove
CustomAudioFalloff
script (now part ofUdonUtils
)
Other
- Rename from UdonBetterAudio to UdonVoiceUtils
- Move from
Assets/Guribo/UdonBetterAudio
toPackages/tlp.udonvoiceutils
- Convert to VRChat Creator Companion package
- Update to latest Udon API where appropriate
- Rely on GUIDs instead of Assembly names in Assembly Definitions
- Rename
PrivateZones
demo scene intoDemo
and move toPackages/tlp.udonvoiceutils/Runtime/Scenes/Demo
- Rework of example Menu and underlying architecture
- Relies on MVC pattern introduced in
UdonUtils
- Relies on MVC pattern introduced in
- Move settings from former
BetterPlayerAudio
component toPlayerAudioConfigurationModel
- Simplify usage and explanations of occlusion values
- Change update rate to no longer depend on time but on rendered frames --> more predictable performance on slower PCs/Quest
- Extensive rework of main
PlayerAudiController
- Remove workaround to determine avatar height and use avatar eye height of
VrcPlayerApi
instead - Change behaviour of private channels to only mute people on the outside if the boolean
muteOutsiders
is set to true- previously just being in a private channel muted all players on the outside by default
- Change previous event handling to use new class
UdonEvent
fromUdonUtils
- Renamed core prefabs to start with "
TLP_
"