Skip to content

Script Controlled Speech

There are several options for controlling speech from scripts, depending on what you want to achieve.

Muting The Local Player⚓︎

If you want to completely prevent a player from speaking you can set the IsMuted property on the DissonanceComms component to true.

DissonanceComms comms;
comms.IsMuted = true;

// User cannot speak

comms.IsMuted = false;

// User can speak

Deafening The Local Player⚓︎

If you want to completely prevent the local player from hearing any speech you can set the IsDeafened property on the DissonanceComms component to true.

DissonanceComms comms;
comms.IsDeafened = true;

// User cannot hear

comms.IsDeafened = false;

//User can hear

Muting Remote Players⚓︎

If you want to locally mute a remote player (prevent yourself from hearing them talk) you can set the IsLocallyMuted property on their player object.

DissonanceComms comms;
var player = comms.FindPlayer(player_id);
player.IsLocallyMuted = true;

// You will not hear user when they speak

player.IsLocallyMuted = false;

// You will hear user when they speak

Disabling Triggers⚓︎

The VoiceBroadcastTrigger is the normal way to trigger voice transmission. Simply disabling this component will prevent it from triggering any voice transmissions until it is enabled again.

VoiceBroadcastTrigger trigger;

trigger.enabled = false;

// This trigger cannot send voice

trigger.enabled = true;

// This trigger can send voice

Opening Channels⚓︎

The most general way to control player voice transmission from scripts is to open and close channels, for more information about channels see this tutorial. To start talking open a channel, to stop talking dispose the channel:

DissonanceComms comms;

var channel = comms.RoomChannels.Open("Room ID", true, ChannelPriority.Default);

//Player speech will be transmitted to the room named "Room ID"

channel.Dispose();

//Player speech will no longer be transmitted by this channel