Skip to content

1.0.0-rc.1

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Nov 15:53
· 17 commits to master since this release
98fc6f0

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_"