so I’ve been maintaining an RC car system that is completely open-source and free to use in any game, as the remote and cars are free models. the past few months I’ve been updating and fixing bugs within it to make sure it’s still working.
the cars have the ability to “talk” by copying the player’s chats and making the part display a bubble. this used to be achievable on the server-side of things with the now deprecated Chat service, like this (truncated):
local FT1 = textService:FilterStringAsync(MSG, plr.UserId)
local FT2 = FT1:GetNonChatStringForBroadcastAsync()
chatService:Chat(car.PrimaryPart, FT2, "White")
but since Chat is no longer usable as a service, this does not work anymore.
I looked for other solutions using the new TextChatService, and that led me to using TextChatService:DisplayBubble() as an alternative to this. i swapped this out…for it to not work at all. this is because DisplayBubble only works on the client (which frankly I find quite nonsensical..)
the only workaround to this I could find was by using RemoteEvents that fire to all clients so they can see the bubble. I really don’t want to do this as it doesn’t seem very performant, especially if there’s a lot of players in the server. I also want to make the RC system as portable as I can make it, which makes this workaround very unreliable for my use case.
so the next solution to this problem was to use the AdorneeName property under TextChatService.BubbleChatConfiguration. it accepts a string name of any part/attachment under a player’s character. perfect for my use case, since connected RC vehicles are parented under the player’s character. however, this has one HUGE issue that make doesn’t really make it worth using for my case:
it’s not customizable per-player, it affects all chat bubbles sent by players across the whole game. ;~;
this brings up several issues, such as what if one person doesn’t want vehicle chat, but another person does?
i did find a proposed solution to this:
which is to use a LocalScript so the chat bubble is in the correct position for them. I figured this would work since AdorneeName must have some sort of replication property to it…but that’s not the case:
the chat bubble is only in the correct spot for them only, which is not what I want.
I’m out of ideas to really figure out a viable solution to this chat problem, so it would be appreciated if I got help for this ;~;

