Skip to content

Commit cf1798d

Browse files
authored
Make VoiceChatService's documentation clearer
1 parent 054420b commit cf1798d

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

content/en-us/reference/engine/classes/VoiceChatService.yaml

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ type: class
33
category:
44
memory_category: Instances
55
summary: |
6-
**VoiceChatService** holds voice functions not tied to other instances.
6+
**VoiceChatService** is responsible for voice chat's high-level functionality.
77
description: |
8-
**VoiceChatService** holds voice functions not tied to other instances.
8+
**VoiceChatService** is responsible for voice chat's high-level functionality.
9+
This mostly consists of configuration options, and functions that are not specifically-controlled by more-specific instances.
910
code_samples:
1011
inherits:
1112
- Instance
@@ -16,15 +17,16 @@ deprecation_message: ''
1617
properties:
1718
- name: VoiceChatService.EnableDefaultVoice
1819
summary: |
19-
Indicates whether or not the place uses the default voice manager.
20+
Controls whether or not the default spatial voice chat setup will be used.
2021
description: |
21-
Indicates whether or not the place uses the default voice manager. This is
22-
enabled by default.
22+
Controls whether or not the default spatial voice chat setup will be used.
2323
24-
When enabled, the default voice manager adds all voice-eligible users to
25-
voice chat as they join the place. When disabled, the place doesn't use
26-
the default voice manager, and users are not added to voice chat when they
27-
join the place.
24+
When enabled, each voice-eligible player can be heard as though they were speaking through their character.
25+
If `Class.VoiceChatService.EnableDefaultVoice` is `true`, and `Class.VoiceChatService.UseAudioApi` is `Enabled`,
26+
then this setup is represented and controlled by instance types from the Audio API:
27+
- An `Class.AudioDeviceInput` will be created and parented-to each voice-eligible `Class.Player`
28+
- An `Class.AudioEmitter` will be created and parented-to each voice-eligible player's `Class.Player.Character`
29+
- An `Class.AudioListener` will be created and parented-to `Class.Workspace.CurrentCamera`
2830
code_samples: []
2931
type: bool
3032
tags: []
@@ -40,8 +42,24 @@ properties:
4042
capabilities: []
4143
writeCapabilities: []
4244
- name: VoiceChatService.UseAudioApi
43-
summary: ''
44-
description: ''
45+
summary: |
46+
Controls whether voice chat is implemented using the Audio API.
47+
description: |
48+
Controls whether voice chat is implemented using the Audio API.
49+
When `Enabled`, the `Class.AudioDeviceInput` instance controls input from each player's microphone.
50+
51+
If `Class.VoiceChatService.UseAudioApi` is `Enabled` and `Class.VoiceChatService.EnableDefaultVoice` is `true`, then
52+
- An `Class.AudioDeviceInput` will be created and parented-to each voice-eligible `Class.Player`
53+
- An `Class.AudioEmitter` will be created and parented-to each voice-eligible player's `Class.Player.Character`
54+
- An `Class.AudioListener` will be created and parented-to `Class.Workspace.CurrentCamera`
55+
56+
If `Class.VoiceChatService.UseAudioApi` is `Enabled` but `Class.VoiceChatService.EnableDefaultVoice` is `false`, then no default setup is provided – however, `Class.AudioDeviceInput`s can still be used when created on their own.
57+
58+
If `Class.VoiceChatService.UseAudioApi` is `Disabled`, it is only possible to use the default voice chat setup.
59+
That is, disabling `Class.VoiceChatService.UseAudioApi` and setting `Class.VoiceChatService.EnableDefaultVoice` to `false` effectively disables voice altogether.
60+
61+
Currently, `Class.VoiceChatService.UseAudioApi` being `Automatic` has the same meaning as `Disabled`.
62+
However, in the future, `Automatic` will become `Enabled`, so that new experiences can achieve greater customization over voice.
4563
code_samples: []
4664
type: AudioApiRollout
4765
tags: []

0 commit comments

Comments
 (0)