rfc format drawn from /luau-lang/rfcs/blob/master/TEMPLATE.md
Add functionality to set adornee of VoiceChat bubble
Summary
There currently exists no functionality to set the adornee of the VoiceChat bubble when working with non-humanoid characters, or when seeking to change the sound emission point of the overhead VoiceChat bubble. The addition of something like VoiceChatService:SetAdornee(player: Player, partOrCharacter: Instance)
would address this problem perfectly.
Motivation
Adding some functionality (possibly along the lines of TextChatService.DisplayBubble() in regard to function args) to set the adornee of the VoiceChat bubble would allow developers working with non-humanoid characters to implement voice chat without the hindrance of humanoid instances. Such an implementation would also be a step towards having “complete” social features which when working with custom characters can only go so far as displaying text bubbles.
Design
VoiceChatService:SetAdornee(player: Player, partOrCharacter: Instance)
VoiceChatService:SetVoiceAdornee(player: Player, partOrCharacter: Instance)
… sets the voice chat bubble associated with player
to be displayed on/above partOrCharacter
. It’s drawn from the structure TextChatService.DisplayBubble() for some consistency because both deal with player-specific visual social features in 3d space.
Drawbacks
Adds another function to the VoiceChatService
singleton. Functionality is really only ideal/usable by developers seeking to change the sound emission point/instance of player voice bubbles.
Alternatives
Forgoing voice chat entirely, which greatly impacts player social interactions because they’d be restricted to just text chat.