From e6980b91a7c8e4c8319f2b933f6bb024f20bf0f8 Mon Sep 17 00:00:00 2001
From: Miniontoby <47940064+Miniontoby@users.noreply.github.com>
Date: Thu, 9 Jul 2026 15:08:04 +0200
Subject: [PATCH] Added PlayerAudioTXL documentation
Added missing API documentation and examples
---
.../configuration/_category_.json | 4 +
.../audio-override-manager/index.md | 81 ++++++
.../audio-override-settings/index.md | 177 ++++++++++++
.../audio-override-zone/index.md | 254 ++++++++++++++++++
.../audio-player-override-list/index.md | 133 +++++++++
docs/player-audio-txl/example/_category_.json | 4 +
docs/player-audio-txl/example/index.md | 147 ++++++++++
static/img/unity/playeraudio/debugoptions.png | Bin 0 -> 4512 bytes
.../playeraudio/example-1-audiooverride.png | Bin 0 -> 28751 bytes
.../example-1-mic-overridelist.png | Bin 0 -> 40519 bytes
.../playeraudio/example-1-mic-pickup.png | Bin 0 -> 84592 bytes
.../example-1-profiles-1-default.png | Bin 0 -> 32993 bytes
.../example-1-profiles-2-comms.png | Bin 0 -> 32971 bytes
.../playeraudio/example-1-profiles-3-mute.png | Bin 0 -> 32732 bytes
.../example-1-profiles-4-broadcast.png | Bin 0 -> 33308 bytes
.../unity/playeraudio/example-1-profiles.png | Bin 0 -> 5512 bytes
.../playeraudio/example-1-zones-1-default.png | Bin 0 -> 69313 bytes
.../unity/playeraudio/example-1-zones-2-A.png | Bin 0 -> 69265 bytes
.../unity/playeraudio/example-1-zones-3-B.png | Bin 0 -> 69516 bytes
.../unity/playeraudio/example-1-zones-4-C.png | Bin 0 -> 69461 bytes
.../example-1-zones-default-trigger.png | Bin 0 -> 53216 bytes
.../img/unity/playeraudio/example-1-zones.png | Bin 0 -> 3915 bytes
.../unity/playeraudio/overridemanager-1.png | Bin 0 -> 31158 bytes
.../unity/playeraudio/overridesettings-1.png | Bin 0 -> 51275 bytes
.../unity/playeraudio/overridesettings-2.png | Bin 0 -> 9506 bytes
.../unity/playeraudio/overridesettings-3.png | Bin 0 -> 8294 bytes
.../img/unity/playeraudio/overridezone-1.png | Bin 0 -> 34199 bytes
.../img/unity/playeraudio/overridezone-2.png | Bin 0 -> 6195 bytes
.../img/unity/playeraudio/overridezone-3.png | Bin 0 -> 34933 bytes
.../img/unity/playeraudio/overridezone-4.png | Bin 0 -> 6886 bytes
.../playeraudio/overridezone-example.png | Bin 0 -> 82910 bytes
.../playeraudio/playeroverridelist-1.png | Bin 0 -> 23705 bytes
.../playeraudio/playeroverridelist-2.png | Bin 0 -> 8284 bytes
.../playeraudio/playeroverridelist-3.png | Bin 0 -> 9095 bytes
.../playeraudio/playeroverridelist-4.png | Bin 0 -> 4472 bytes
.../playeraudio/trackedzonetrigger-1.png | Bin 0 -> 52989 bytes
36 files changed, 800 insertions(+)
create mode 100644 docs/player-audio-txl/configuration/_category_.json
create mode 100644 docs/player-audio-txl/configuration/audio-override-manager/index.md
create mode 100644 docs/player-audio-txl/configuration/audio-override-settings/index.md
create mode 100644 docs/player-audio-txl/configuration/audio-override-zone/index.md
create mode 100644 docs/player-audio-txl/configuration/audio-player-override-list/index.md
create mode 100644 docs/player-audio-txl/example/_category_.json
create mode 100644 docs/player-audio-txl/example/index.md
create mode 100644 static/img/unity/playeraudio/debugoptions.png
create mode 100644 static/img/unity/playeraudio/example-1-audiooverride.png
create mode 100644 static/img/unity/playeraudio/example-1-mic-overridelist.png
create mode 100644 static/img/unity/playeraudio/example-1-mic-pickup.png
create mode 100644 static/img/unity/playeraudio/example-1-profiles-1-default.png
create mode 100644 static/img/unity/playeraudio/example-1-profiles-2-comms.png
create mode 100644 static/img/unity/playeraudio/example-1-profiles-3-mute.png
create mode 100644 static/img/unity/playeraudio/example-1-profiles-4-broadcast.png
create mode 100644 static/img/unity/playeraudio/example-1-profiles.png
create mode 100644 static/img/unity/playeraudio/example-1-zones-1-default.png
create mode 100644 static/img/unity/playeraudio/example-1-zones-2-A.png
create mode 100644 static/img/unity/playeraudio/example-1-zones-3-B.png
create mode 100644 static/img/unity/playeraudio/example-1-zones-4-C.png
create mode 100644 static/img/unity/playeraudio/example-1-zones-default-trigger.png
create mode 100644 static/img/unity/playeraudio/example-1-zones.png
create mode 100644 static/img/unity/playeraudio/overridemanager-1.png
create mode 100644 static/img/unity/playeraudio/overridesettings-1.png
create mode 100644 static/img/unity/playeraudio/overridesettings-2.png
create mode 100644 static/img/unity/playeraudio/overridesettings-3.png
create mode 100644 static/img/unity/playeraudio/overridezone-1.png
create mode 100644 static/img/unity/playeraudio/overridezone-2.png
create mode 100644 static/img/unity/playeraudio/overridezone-3.png
create mode 100644 static/img/unity/playeraudio/overridezone-4.png
create mode 100644 static/img/unity/playeraudio/overridezone-example.png
create mode 100644 static/img/unity/playeraudio/playeroverridelist-1.png
create mode 100644 static/img/unity/playeraudio/playeroverridelist-2.png
create mode 100644 static/img/unity/playeraudio/playeroverridelist-3.png
create mode 100644 static/img/unity/playeraudio/playeroverridelist-4.png
create mode 100644 static/img/unity/playeraudio/trackedzonetrigger-1.png
diff --git a/docs/player-audio-txl/configuration/_category_.json b/docs/player-audio-txl/configuration/_category_.json
new file mode 100644
index 0000000..da011bf
--- /dev/null
+++ b/docs/player-audio-txl/configuration/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Configuration",
+ "position": 1
+}
diff --git a/docs/player-audio-txl/configuration/audio-override-manager/index.md b/docs/player-audio-txl/configuration/audio-override-manager/index.md
new file mode 100644
index 0000000..b5cbbd6
--- /dev/null
+++ b/docs/player-audio-txl/configuration/audio-override-manager/index.md
@@ -0,0 +1,81 @@
+# Audio Override Manager
+
+The **Audio Override Manager** is a component responsible for handling different **Audio Override Zones**.
+
+
+
+:::warning
+
+There can only be one Audio Override Manager in a scene!
+
+:::
+
+## Configuration
+
+#### Default Zone
+
+> The default zone that is used when players are not in any specific zone.
+> Used to set up default settings.
+
+#### Override Zones
+
+> Override Zones is a list of Audio Override Zones that you have in your world.
+
+### Debug Options
+
+#### Debug State
+
+> A debug state object that will peridocally capture a snapshot of internal state of the object.
+
+
+## Public API
+
+### Network Sync
+
+This object is **not** network synced.
+
+### Inherited API
+
+* UdonSharpBehaviour Public API
+
+### Properties
+
+####
+
+> Get the default AudioOverrideZone
+
+####
+
+> Get the list of linked AudioOverrideZones
+
+####
+
+> Returns the debugState
+
+### Methods
+
+####
+
+> Sets the debug state object at runtime, replacing the previous debug state if it exists. Passing `null` will unasign
+> any current debug state.
+
+####
+
+> Updates zone data
+
+####
+
+> Called when a player enters a zone
+
+####
+
+> Called when a player leaves a zone
+
+####
+
+> Rebuild local
+
+####
+
+> Find active zone of a player.
+> Returns `null` when the player is not in any override zones.
diff --git a/docs/player-audio-txl/configuration/audio-override-settings/index.md b/docs/player-audio-txl/configuration/audio-override-settings/index.md
new file mode 100644
index 0000000..2d56539
--- /dev/null
+++ b/docs/player-audio-txl/configuration/audio-override-settings/index.md
@@ -0,0 +1,177 @@
+# Audio Override Settings
+
+The **Audio Override Settings** is a component responsible for applying the **player volume** settings.
+
+
+
+## Configuration
+
+### Voice Override
+
+
+
+The settings for player voice audio.
+
+#### Apply Voice
+
+> Whether to apply the voice override settings
+
+#### Voice Gain
+
+> Voice volume.
+>
+> Default is 15, which is normal volume level.
+> 0 is used for Broadcast and Mute profiles.
+
+#### Voice Near
+
+> How close the player can be heared.
+>
+> Default is 0, meaning no distance is required for hearing other players.
+> For the broadcast profile, this defaults to 200.
+
+#### Voice Far
+
+> How far the player can be heared from.
+>
+> Default is 25, meaning 25 units/meters is the furthest distance you can hear other players from.
+> For the broadcast profile, this defaults to 200.
+> So also for a comms system, you want to set this very high, so you can hear over large distances.
+> For muting players, set this to 0 and set the near to 0 as well, meaning there's no space to hear the other players.
+
+#### Voice Volumetric
+
+> The volumetric radius for the player's voice.
+>
+> Default is 0.
+> For the broadcast profile, this defaults to 200.
+
+#### Voice Lowpass
+
+> Whether a lowpass filter is applied to the player's voice.
+>
+> Default is On.
+> For the broadcast profile, this defaults to Off.
+
+
+### Avatar Sound Override
+
+
+
+The settings for avatar sounds.
+
+#### Apply Avatar
+
+> Whether to apply the overrides to the avatar sounds.
+
+#### Avatar Gain
+
+> Avatar volume.
+>
+> Default is 10, which is normal volume level.
+> 0 is used for Broadcast and Mute profiles.
+
+#### Avatar Near
+
+> How close the avatar sounds can be heared.
+>
+> Default is 0, meaning no distance is required for hearing other players.
+> For the broadcast profile, this defaults to 200.
+
+#### Avatar Far
+
+> How far the avatar sounds can be heared from.
+>
+> Default is 40, meaning 40 units/meters is the furthest distance you can hear avatar sounds from.
+> For the broadcast profile, this defaults to 200.
+> For muting avatar sounds, set this to 0 and set the near to 0 as well, meaning there's no space to hear the avatar sounds.
+
+#### Avatar Volumetric
+
+> The volumetric radius for the avatar sounds.
+>
+> Default is 0.
+> For the broadcast profile, this defaults to 200.
+
+### Debug Options
+
+
+
+#### Debug Log
+
+> The debug log object that any logging should be directed to.
+
+#### VRC Logging
+
+> Writes a copy of any logged messages to the VRChat log.
+
+
+## Public API
+
+### Network Sync
+
+This object is **not** network synced.
+
+### Inherited API
+
+* UdonSharpBehaviour Public API
+
+### Properties
+
+####
+
+> Determines whether voice override settings should be applied.
+
+####
+
+> Gets or sets the gain (volume) level for voice.
+
+####
+
+> Gets or sets the near distance for voice attenuation.
+
+####
+
+> Gets or sets the far distance for voice attenuation.
+
+####
+
+> Gets or sets the volumetric radius for voice.
+
+####
+
+> Gets or sets whether a lowpass filter is applied to voice.
+
+####
+
+> Determines whether avatar audio override settings should be applied.
+
+####
+
+> Gets or sets the gain (volume) level for avatar audio.
+
+####
+
+> Gets or sets the near distance for avatar audio attenuation.
+
+####
+
+> Gets or sets the far distance for avatar audio attenuation.
+
+####
+
+> Gets or sets the volumetric radius for avatar audio.
+
+####
+
+> Gets or sets the debug logging interface used by this class.
+
+####
+
+> Gets or sets whether VRChat-specific logging is enabled.
+
+### Methods
+
+####
+
+> Applies voice and avatar override settings to the specified VRCPlayerApi player.
diff --git a/docs/player-audio-txl/configuration/audio-override-zone/index.md b/docs/player-audio-txl/configuration/audio-override-zone/index.md
new file mode 100644
index 0000000..89ffcaa
--- /dev/null
+++ b/docs/player-audio-txl/configuration/audio-override-zone/index.md
@@ -0,0 +1,254 @@
+# Audio Override Zone
+
+The **Audio Override Zone** is a component responsible for setting **zones** based settings.
+For example usable to make soundproof area's or to make a comms system between area's.
+
+
+
+## Configuration
+
+#### Tracked Zone
+
+> Zone trigger that defines volume of this override zone. It can be set to a Tracker Zone Trigger component
+> that is attached to this same object as long as it has an associated trigger collider.
+>
+> Should be left empty if this is the Default zone.
+
+Example tracked zone trigger settings:
+
+
+
+#### Enabled
+
+> Whether the zone as a whole is active and used in audio calculations.
+
+### Local Zone
+
+
+
+Local zone is used to tell the Audio Override Manager what to do when players are in this zone.
+
+#### Local Zone Settings
+
+> An audio profile that will be applied against players standing in the same zone as the local player.
+> Empty by default, which will use the default VRChat proximity chat settings.
+
+#### Local Zone Enabled
+
+> Whether the local settings profile should currently be used or not.
+>
+> If disabled, zone will defer to the default profile instead.
+
+### Linked Zones
+
+
+
+Linked Zones are used to tell the Audio Override Manager which Audio Override Settings to use for players
+in other zones.
+
+#### Override Zone
+
+> An Audio Override Zone that gets affected inside our zone.
+>
+> Basically when a player is in OUR zone, this specifies what happens to to the audio of the players in the remote override zone.
+
+#### Zone settings
+
+> An audio profile that should be applied to the players standing in the remote override zone.
+>
+> Basically when a player is standing in the remote override zone, what audio profile should get applied to their voice,
+> for the players in our zone to hear.
+
+#### Enabled
+
+> Whether the link between zones should currently be used or not.
+>
+> If disabled, zone will defer to the default profile instead.
+
+### Default Zone
+
+
+
+Default zone is used to tell the Audio Override Manager which Audio Override Settings to use for any player
+that does not match any of the zones specified.
+
+#### Default Settings
+
+> An audio profile that will be applied against any players that were not affected by the local zone or the linked zone profiles.
+>
+> Basically a fallback audio profile for those in locations not matched to our links and locals.
+
+#### Default Enabled
+
+> Whether the default settings profile should currently be used or not.
+>
+> If disabled, zone will defer to the system-wide default profile instead.
+
+### Debug Options
+
+
+
+#### Debug Log
+
+> The debug log object that any logging should be directed to.
+
+#### VRC Logging
+
+> Writes a copy of any logged messages to the VRChat log.
+
+### Example setup
+
+
+
+In the following example, you're looking at Zone C, which is on the Stage in this world. It has a Zone component, a Tracked Zone Trigger
+and a Box Collider covering the whole stage space.
+
+The local zone settings are set so that all the players on stage (performers) can hear eachother at the Default audio volume settings.
+
+Linked to this zone is Zone A, which is the greenroom, located behind our stage.
+The linked zone settings for Zone A is set to Mute, meaning all players in the greenroom are muted for the performers on stage.
+This way players in the greenroom can talk as much as they want and as loud as they want, without distracting the performers.
+
+Also linked to this zone is Zone B, which is the Front Of House zone.
+The linked zone settings for Zone B is set to Comms, which is a custom profile similar to broadcast, but without gaining the volume.
+This means for example that the audio engineer can have talkback to the performers (for example a band).
+
+And then the default zone settings is set that for anyone outside of those two zones, they'll be heared at the default volume levels,
+like when you're not using PlayerAudioTXL.
+
+
+## Public API
+
+### Network Sync
+
+This object is **not** network synced.
+
+### Inherited API
+
+* UdonSharpBehaviour Public API
+
+### Properties
+
+####
+
+> Returns the current `ZoneTrigger` associated with this manager.
+
+####
+
+> Gets the `TrackedZoneTrigger` used for tracking zone membership.
+
+####
+
+> Indicates whether the zone is enabled.
+
+####
+
+> Gets or sets the audio override settings specific to the local zone.
+
+####
+
+> Indicates whether local zone settings are active.
+
+####
+
+> Gets the array of linked zones used for additional audio configurations.
+
+####
+
+> Gets the settings corresponding to each linked zone.
+
+####
+
+> Gets the array of flags indicating whether each linked zone is enabled.
+
+####
+
+> Gets or sets the default audio settings when no zone override is active.
+
+####
+
+> Indicates whether default settings are enabled.
+
+####
+
+> Access to the debug logging interface.
+
+####
+
+> Enables or disables VRChat-specific logging.
+
+
+### Methods
+
+####
+
+> Binds this zone to an override manager with a specified zone ID.
+
+####
+
+> Gets the unique identifier for this managed zone.
+
+####
+
+> Enables or disables this zone. No change occurs if the requested state matches the current state.
+
+####
+
+> Enables or disables the local zone audio override profile for this zone. No change occurs if the requested state matches the current state.
+
+####
+
+> Gets the local zone audio override profile settings for this zone.
+
+####
+
+> Sets the local zone audio override profile settings. No update occurs if the new profile is identical to the current one.
+
+####
+
+> Enables or disables the default zone audio override profile for this zone. No change occurs if the requested state matches the current state.
+
+####
+
+> Gets the default zone audio override profile settings for this zone.
+
+####
+
+> Sets the default zone audio override profile settings. No update occurs if the new profile is identical to the current one.
+
+####
+
+> Gets the enabled state of the specific linked zone by comparing it to the list of linked zones and returning its enabled state.
+
+####
+
+> Sets the active state of a specific linked zone and updates the manager if necessary. No change occurs if the zone's current state matches the requested state.
+
+####
+
+> Gets the audio override settings for a specified linked zone. Returns `null` if the zone is not found.
+
+####
+
+> Sets the audio override settings for a specified linked zone and triggers manager updates if the settings have changed.
+
+####
+
+> Checks if a specific player is currently inside the zone, considering tracking and membership.
+
+####
+
+> Applies the appropriate audio override settings to a player based on zone, linked zones, or default profiles. Returns true if settings were applied.
+
+####
+
+> Adds a custom override for a player, updating the internal override list and triggering local rebuilds.
+
+####
+
+> Removes a player's custom override and updates the override list accordingly.
+
+####
+
+> Gets the override settings for a specific player if available and enabled.
+
diff --git a/docs/player-audio-txl/configuration/audio-player-override-list/index.md b/docs/player-audio-txl/configuration/audio-player-override-list/index.md
new file mode 100644
index 0000000..d2823a2
--- /dev/null
+++ b/docs/player-audio-txl/configuration/audio-player-override-list/index.md
@@ -0,0 +1,133 @@
+# Audio Player Override List
+
+The **Audio Player Override List** is a component responsible for doing stuff like Microphones with a pickup trigger
+
+
+
+Here when microphone is held, it broadcasts voice to default zone and to the Front Of House zone.
+
+## Configuration
+
+#### Pickup Trigger
+
+> The pickup object to check for to enable this override list.
+
+### Zones
+
+
+
+A list of zones, order does matter!
+
+### Profiles
+
+
+
+A list of profiles for each zone, order does matter!
+
+### Zone Enabled
+
+
+
+A list of toggles for each zone, order does matter!
+
+### Debug Options
+
+
+
+#### Debug Log
+
+> The debug log object that any logging should be directed to.
+
+#### VRC Logging
+
+> Writes a copy of any logged messages to the VRChat log.
+
+## Public API
+
+### Network Sync
+
+This object is **not** network synced.
+
+### Inherited API
+
+* UdonSharpBehaviour Public API
+
+### Properties
+
+####
+
+> Gets or sets the PickupTrigger component that automatically registers hooks into pickup trigger events to bind to a player.
+
+####
+
+> Gets the constant value representing the event for when the bound player changes.
+
+####
+
+> Gets or sets the array of `AudioOverrideZone` objects that define different audio zones.
+
+####
+
+> Gets or sets the array of `AudioOverrideSettings` profiles corresponding to each zone.
+
+####
+
+> Gets or sets the array indicating whether each zone is enabled.
+
+####
+
+> Gets or sets the debug logging interface used by this class.
+
+####
+
+> Gets or sets whether VRChat-specific logging is enabled.
+
+### Methods
+
+####
+
+> Ensures that the override list is initialized. Called during startup to set up necessary components.
+
+####
+
+> Initializes the override list, including registering pickup trigger hooks if applicable.
+
+####
+
+> Called when the pickup trigger is activated. Sets the owner to the local player and binds the override list to that player.
+
+####
+
+> Called when the pickup trigger is deactivated. Releases ownership and unbinds the override list from the player.
+
+####
+
+> Checks if a specific zone is active/enabled.
+
+####
+
+> Sets all zones to the specified active/inactive state.
+
+####
+
+> Sets the specified zone's active state.
+
+####
+
+> Retrieves the override settings for a specific zone.
+
+####
+
+> Sets the override settings for a specific zone.
+
+####
+
+> Gets or sets the ID of the player bound to this override list, with change callback.
+
+####
+
+> Applies overrides for a specific player in a specific zone.
+
+####
+
+> Removes a player from all zone overrides in this list.
diff --git a/docs/player-audio-txl/example/_category_.json b/docs/player-audio-txl/example/_category_.json
new file mode 100644
index 0000000..835ebfc
--- /dev/null
+++ b/docs/player-audio-txl/example/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Example Setup",
+ "position": 2
+}
diff --git a/docs/player-audio-txl/example/index.md b/docs/player-audio-txl/example/index.md
new file mode 100644
index 0000000..59e5fd3
--- /dev/null
+++ b/docs/player-audio-txl/example/index.md
@@ -0,0 +1,147 @@
+# Example Setup
+
+Here's an example setup to give you an idea how to use PlayerAudioTXL for your worlds.
+
+:::warning
+If players are using earmuff, this system will NOT override any volume outside the earmuff range!
+Their earmuff must be disabled for PlayerAudioTXL to allow long range broadcasts/comms.
+:::
+
+## Example 1 - Club Venue
+
+### Situation
+
+You are a venue/club owner wanting to add in comms system.
+Your world has a greenroom, a Front of House desk and a stage.
+
+You have these requirements:
+```
+When standing inside the greenroom, you can hear FOH and the stage at a comms volume. You cannot hear the audience.
+Only the FOH can hear you at a comms volume in the greenroom. The stage and the audience cannot hear you in here.
+
+When standing at FOH, you can hear the greenroom and the performer at a comms volume. You can hear audience at the normal volume.
+The stage and the greenroom can hear you at a comms volume in here. Audience can hear you at the normal volume in here.
+
+When standing at the stage, you can hear FOH at a comms volume. You can hear audience at the normal volume. You cannot hear the greenroom.
+Audience will hear you at broadcast volume in here. FOH and the greenroom can hear you at a comms volume in here.
+```
+
+### Profiles
+
+It is recommended to group all your profiles in an empty object.
+
+
+
+#### Default Profile
+
+> The profile for global players, who are not in any zones.
+
+
+
+#### Comms Profile
+
+> The profile used for comms/direct volume. So you can hear from FOH at the stage and greenroom.
+
+
+
+#### Mute Profile
+
+> The profile used for muting players.
+
+
+
+#### Broadcast Profile
+
+> The profile used for broadcasting players. For example using a microphone.
+
+
+
+### Zones
+
+It is recommended to group all your zones in an empty object.
+
+
+
+#### Default Zone
+
+Local zone is left empty, as we prefer to use the Default Zone settings.
+
+Linked zones:
+- Zone A (Greenroom): Anyone in the default zone can NOT hear the greenroom.
+- Zone B (FOH): Anyone in the default zone can hear the FOH with normal profile, so they can listen to staff yelling at them.
+- Zone C (Stage): Anyone in the default zone can hear the Stage with broadcast profile, simulating a stagewide always-on microphone.
+
+Default zone is set to Default profile, so that people can just talk.
+
+
+
+#### Zone A - Greenroom
+
+Local zone is set to Default profile, as we want to be able to talk in the greenroom.
+
+Linked zones:
+- Zone B (FOH): Anyone in the greenroom zone can hear the FOH with comms profile, so they can hear when they're up.
+- Zone C (Stage): Anyone in the greenroom zone can hear the Stage with comms profile, so they can hear what is going on on stage.
+
+Default zone is set to Mute profile, so anything other than the linked zones will not be heared in here.
+
+
+
+
+#### Zone B - FOH
+
+Local zone is set to Default profile, as we want to be able to talk at the FOH.
+
+Linked zones:
+- Zone A (Greenroom): Anyone in the FOH zone can hear the greenroom with comms profile, so they can hear questions from them.
+- Zone C (Stage): Anyone in the FOH zone can hear the Stage with comms profile, so they can hear questions from them.
+
+Default zone is set to Default profile, so that audience can still normally talk to FOH reporting issues.
+
+
+
+
+#### Zone C - Stage
+
+Local zone is set to Default profile, as we want to be able to talk on stage.
+
+Linked zones:
+- Zone A (Greenroom): Anyone in the stage zone can NOT hear the greenroom.
+- Zone B (FOH): Anyone in the stage zone can hear the FOH with comms profile, so they can hear when they're live.
+
+Default zone is set to Default profile, so that audience can still normally talk to stage reporting issues.
+
+
+
+
+
+### Audio Override Manager
+
+The default zone we set to our Default zone and then we provide a list of the other zones.
+
+
+
+
+### Mic
+
+We also add a mic. For this you need two different objects.
+
+#### Audio Player Override List
+
+This will determine what happens to the holding player's voice.
+
+In this case when holding the pickup, the Default zone will hear the player at broadcast.
+And Zone B (FOH) will also hear them at broadcast (else the FOH engineer cannot hear if the microphone is on or not).
+
+:::note
+Zone A (greenroom) and Zone C (Stage) are not listed, and thus will not be impacted by the player holding the microphone.
+:::
+
+
+
+#### Mic Pickup
+
+You can just use the prefab microphone as well, or make your own.
+
+
+
diff --git a/static/img/unity/playeraudio/debugoptions.png b/static/img/unity/playeraudio/debugoptions.png
new file mode 100644
index 0000000000000000000000000000000000000000..1467f04c25b8dec956d6c54d20c7973fe0b9a5ee
GIT binary patch
literal 4512
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
literal 0
HcmV?d00001
diff --git a/static/img/unity/playeraudio/example-1-audiooverride.png b/static/img/unity/playeraudio/example-1-audiooverride.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a170f3df7379608a702c271a8553660e27102e7
GIT binary patch
literal 28751
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