Skip to content

Releases: Guribo/UdonVoiceUtils

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

UdonBetterPlayerAudio v0.7 (Unity 2019 update)

12 Jul 23:53
Compare
Choose a tag to compare

Requires the latest UdonSharp version and VRChat World SDK version.

Features/Changes

  • Update to Unity 2019
  • The BetterPlayerAudio UdonSharpBehaviour no longer applies special effects like occlusion/directionality by default!
  • Added the world shown off at the community meetup including all new features.

    You can find it in Assets/Guribo/UdonBetterAudio/Examples/PrivateZones.

  • Added private zones/channels/rooms/doors
    image
    image
  • Added visual indicators for entries/exits for rooms
    image
  • Added indicators for related Overrides, both for VoiceOverrideRooms and for the main BetterPlayerAudio controller (you can click the ends of the lines to select the related UdonBehaviour).
    image
    image
    image
    image
    image
  • Added reverb support (lowpass etc. will be added again later)
    image
  • Removed 4 old example worlds (replaced by demo world shown)
  • Much much more...
    image
  • A lot of the code is now tested!
    image

Special Thanks

Thank you Merlin for creating U#!

Thank you to the flyboys Sacchan, Zweikaku, Nonn and all of the Sacchill discord for helping me test my weird stuff every now and then!

Huge Thank you to the VRChat Community Meetup people for allowing me to show it off and test it with all of you!

Special thanks goes to CyanLaser and Squid for hosting this awesome event and allowing me to re-test a feature at the end of the meetup after the first test turned out to be too short.

Thank you all very much!

UdonBetterPlayerAudio v.0.6

12 Jun 17:00
Compare
Choose a tag to compare

Features

  • completed rework of new networking implementation
  • added VoiceOverrideZone behaviour (check the tutorial here on how it was created and how it can be used)
  • lowered the default values for directionality
  • allowed higher ranges for voices (matches VRChat documentation now)
  • made code base more modular using UdonUtils

Fixes

  • minor microphone issues fixed