Skip to content

Releases: Guribo/UdonVoiceUtils

2.0.0-rc.1

21 Aug 20:52
Compare
Choose a tag to compare
Release 2.0.0-rc.1

1.0.1

18 Aug 16:59
Compare
Choose a tag to compare
Release 1.0.1

1.0.0

25 May 16:04
Compare
Choose a tag to compare
Release 1.0.0

1.0.0-rc.6

16 May 13:36
Compare
Choose a tag to compare
Release 1.0.0-rc.6

1.0.0-rc.5

12 May 22:53
Compare
Choose a tag to compare
Release 1.0.0-rc.5

1.0.0-rc.4

10 May 14:15
Compare
Choose a tag to compare
Release 1.0.0-rc.4

1.0.0-rc.3

03 May 21:22
Compare
Choose a tag to compare
Release 1.0.0-rc.3

1.0.0-rc.2

13 Apr 21:48
a2ef0aa
Compare
Choose a tag to compare
chore: prevent updating to unsupported UdonUtils versions

1.0.0-rc.1

19 Nov 15:53
98fc6f0
Compare
Choose a tag to compare

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
    • 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 support for de-/activating UVU at runtime
    • Disable/Enable either the GameObject with the PlayerAudioController or the PlayerAudioController component itself
  • 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()
  • 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 another PlayerAudioOverride upon receiving a LocalPlayerAdded or LocalPlayerRemoved event from a given PlayeraudioOverride
    • 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 upon Start

Deletions

  • Remove UdonCommon and other, similar library scripts from prefabs and use code statically
  • Remove AutoPlayerRange script (now part of UdonUtils)
  • Remove CustomAudioFalloff script (now part of UdonUtils)

Other

  • Rename from UdonBetterAudio to UdonVoiceUtils
  • Move from Assets/Guribo/UdonBetterAudio to Packages/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 into Demo and move to Packages/tlp.udonvoiceutils/Runtime/Scenes/Demo
  • Rework of example Menu and underlying architecture
    • Relies on MVC pattern introduced in UdonUtils
  • Move settings from former BetterPlayerAudio component to PlayerAudioConfigurationModel
  • 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 from UdonUtils
  • Renamed core prefabs to start with "TLP_"

UdonBetterPlayerAudio v0.8

26 Sep 17:10
Compare
Choose a tag to compare

Features/Changes

  • added workaround for some generic avatars that don't have head tracking data

    this should fix most if not all issues of some players/avatars not being audible

  • added support for enabling/disabling VoiceOverrideTriggerZone