Le Chat Vocal est une fonctionnalité permettant la communication verbale en temps réel entre vous et d'autres joueurs. Il n'est disponible que pour les lieux supportant un maximum de 100 joueurs.

Activer le Chat Vocal
Le Chat Vocal est activé par défaut pour les utilisateurs vérifiés de 13 ans et plus dans tous les nouveaux jeux avec un maximum de 100 joueurs. Pour activer la voix pour les jeux existants ou la désactiver pour les nouveaux :
- Ouvrez votre jeu dans Studio.
- Ouvrez Fichier ⟩ Paramètres de l'expérience.
- Naviguez vers l'onglet Communication sur le côté gauche de la fenêtre.
- Basculez Activer le Chat Vocal selon votre paramètre souhaité.
- OPTIONNELPour une meilleure communication entre les joueurs dans votre jeu, activez Activer la Camera pour permettre aux joueurs éligibles d'animer leur avatar avec leurs mouvements.
- Publiez le lieu pour sauvegarder les changements.
En activant ce paramètre, les utilisateurs éligibles de 13 ans et plus peuvent s'inscrire au Chat Vocal dans votre jeu. Activer le Chat Vocal est nécessaire pour utiliser l'API de reconnaissance vocale.
Définir le nombre maximum de joueurs
Si vous avez déjà défini le nombre maximum de joueurs dans un lieu à plus de 100, vous devrez le réduire pour supporter le Chat Vocal.
- Dans la navigation à gauche de la fenêtre Paramètres de l'expérience, sélectionnez Lieux. Chaque lieu de votre jeu s'affiche.
- Cliquez sur le bouton ⋯ à côté du lieu avec plus de 100 joueurs, puis sélectionnez Configurer le lieu.
- Dans le champ Max Players, entrez un nombre inférieur ou égal à 100.
- Cliquez sur le bouton Sauvegarder puis publiez pour sauvegarder les changements.
Lorsque vous mettez à jour le nombre maximum de joueurs dans un lieu à moins de 100, il peut y avoir des serveurs déjà configurés à un nombre différent et plus élevé. Puisque ces serveurs ne supporteront pas le Chat Vocal, il est conseillé de redémarrer les serveurs.
Personnaliser le comportement vocal
Le Chat Vocal est basé sur la proximité par défaut, ajustant le volume des participants en fonction de leur proximité. Cependant, vous pouvez définir UseAudioApi sur Enabled pour prendre le contrôle de la façon dont les voix sont configurées et utilisées dans votre jeu.
Si VoiceChatService ne s'affiche pas déjà :
Cliquez avec le bouton droit de la souris dans la fenêtre Explorateur et sélectionnez Afficher les Services… dans le menu contextuel.
Sélectionnez VoiceChatService dans la fenêtre contextuelle et cliquez sur Insérer. Le service apparaîtra dans la hiérarchie de l'Explorateur.

Avec VoiceChatService sélectionné, assurez-vous que UseAudioApi soit sur Enabled dans la fenêtre Propriétés. Cela peut déjà être fait pour vous.
Basé sur les équipes
Pour mettre en œuvre un chat basé sur Team où seuls les coéquipiers peuvent s'entendre, vous pouvez utiliser le script suivant Script dans ServerScriptService :
Chat d'Équipe
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Supposons qu'il n'y a qu'un seul AudioDeviceInput par joueur, parenté à l'objet Player
-- Cela est fourni pour vous si VoiceChatService.EnableDefaultVoice est vrai
-- Peut nécessiter une refonte pour permettre une généralité si votre lieu place des objets AudioDeviceInput ailleurs
return forPlayer:FindFirstChildWhichIsA("AudioDeviceInput")
end
local function onTeamChanged(player : Player)
local team = player.Team
if not team then return end
local device = findAudioInput(player)
if not device then return end
-- Ne permettre qu'aux coéquipiers de s'entendre
device.AccessType = Enum.AccessModifierType.Allow
local allowed = {}
for _, player : Player in team:GetPlayers() do
table.insert(allowed, player.UserId)
end
device:SetUserIdAccessList(allowed)
end
local function onTeamAdded(team : Team)
team.PlayerAdded:Connect(onTeamChanged)
team.PlayerRemoved:Connect(onTeamChanged)
end
for _, team : Team in Teams:GetTeams() do
onTeamAdded(team)
end
Teams.ChildAdded:Connect(function(child : Instance)
if child:IsA("Team") then
onTeamAdded(child)
end
end)
Non-spatial
En fonction des besoins de votre jeu, il peut être plus logique d'entendre les autres avec un volume égal, peu importe leur localisation géographique. Si vous désactivez le Chat Vocal par défaut, vous pouvez alors mettre en œuvre un Chat Vocal non-spatial à travers le script suivant Script dans ServerScriptService :
Chat Non-Proximité
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function wireUp(source : Instance, target : Instance)
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = source
end
-- Configurer un curseur de volume global pour la voix de tout le monde
local volumeSlider = Instance.new("AudioFader", Workspace)
local output = Instance.new("AudioDeviceOutput", Workspace)
wireUp(volumeSlider, output)
local function onPlayerAdded(player : Player)
local device = Instance.new("AudioDeviceInput", player)
device.Player = player
-- Acheminez l'entrée du microphone de chaque nouveau joueur vers le curseur de volume global
wireUp(device, volumeSlider)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
LocalScript
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local function onDescendantAdded(descendant : Instance)
if descendant:IsA("Wire") then
descendant:Destroy()
end
end
for _, descendant in player:GetDescendants() do
onDescendantAdded(descendant)
end
player.DescendantAdded:Connect(onDescendantAdded)
Désactiver par lieu
Si vous ne souhaitez pas activer le Chat Vocal pour chaque lieu de votre jeu, vous pouvez le désactiver dans des lieux spécifiques qui seraient autrement éligibles pour la voix.
Pour désactiver le Chat Vocal pour un lieu spécifique dans un jeu :
Cliquez avec le bouton droit de la souris dans la fenêtre Explorateur et sélectionnez Afficher les Services… dans le menu contextuel.
Sélectionnez VoiceChatService dans la fenêtre contextuelle et cliquez sur Insérer. Le service apparaîtra dans la hiérarchie de l'Explorateur.

Avec VoiceChatService sélectionné, désactivez EnableDefaultVoice dans la fenêtre Propriétés.
Publiez le lieu pour sauvegarder les changements et redémarrez les serveurs pour vous assurer que le changement prenne effet pour tous les serveurs exécutant actuellement votre jeu.
Vérifier le statut
Vous pouvez vérifier si un joueur a activé le Chat Vocal en appelant IsVoiceEnabledForUserIdAsync() dans un LocalScript, ou dans un Script avec RunContext défini sur Enum.RunContext.Client.
Script Client - Vérifier le Statut du Chat Vocal
local Players = game:GetService("Players")
local VoiceChatService = game:GetService("VoiceChatService")
local localPlayer = Players.LocalPlayer
local success, enabled = pcall(function()
return VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId)
end)
if success and enabled then
print("Chat Vocal activé !")
end