Maintain support for old bubble chat and custom bubble chat handlers: throw out any plans of dropping support for pre-Roact bubble chat

As a Roblox developer, the new bubble chat is inadequate and does not suit my needs accordingly. I am expecting to turn it off in all current and future games of mine, however the thread leaves me unsatisfied and unsettled on a concern of dropping support.

I expressed my concerns on the thread which were glossed over, so I am bringing it to the Platform Feedback category to continue my fight against any potential of removing support for old bubble chat. This is a hill that I am willing to die on: I do not like the restrictiveness of the new bubble chat code.

Literally the only reason why the bubble chat code is becoming a CoreScript is because modules it needs (e.g. Roact) are CoreScripts. Considering these modules are open source, available and used by developers for their other work, it would be nice to just make these developer-facing to kill two birds with one stone: continuing the tradition of making more parts of the game customisable and granting access to already-used libraries. Instead, we’re going backwards to not being able to edit the code.

The following quote was issued on the bubble chat release thread:

Taken literally, this says that there is no guarantee that engineers will continue to support the old bubble chat either natively or through forks down the line. That means that games will have to be stuck using a CoreScript bubble chat, which is anti-developer. You are unable to edit CoreScripts and thus extend it with your own behaviour, code and the like. Additionally, this might mean that it will be much more difficult to or impossible to write our own bubble chat handlers, opting us to take much longer and tedious routes to set that up, including writing our own chat system from ground up.

The new bubble chat and related CoreScripts can be forked to create a working copy in your game, however not every developer knows how to do that over just forking the BubbleChat LocalScript and editing it due to its use across 2 or more years. Additionally, knowing how to fork it is just one piece of the pie: I preference the old bubble chat because it snaps well, it’s sharp and doesn’t look cartoony. It fits a general feel which is good for all themes, moods, atmospheres, so on.

The new bubble chat and its limited customisation options don’t fully allow you to get that same generalised and snapped feel, missing options like the following two for example:

  • Fade in time: the bubbles start at 0 height and tween up into their expected height. I want the bubbles to instantly be sized appropriately, no tweens.

  • Per-player customisation: I made a tutorial on accomplishing this with Lua Chat System version 0.8.2018.05.16. It’s easy to do with the Lua Chat System already, all it does is pull some data given in speakers. Per-player bubble customisation was considered on the thread, but that means going the extra length of having to customise both the ChatSpeaker and bubble chats independently instead of doing it once. Arguably pretty trivial if the new bubble chat can take overrides from the ChatSpeaker object.

You can view my initial post of concern here:


Im bumping this issue as Roblox have silently started to phase out the well-loved Lua Chat System in favour of a restricted API and Roact Gui thats controlled by a CoreScript.

The same issue is happening here as with the bubble chat, phasing out developer-forkable systems in favour of locked down APIs that Roblox can control more tightly.

I dont care if there’s an exploit with SetCore, a small majority of users abusing it shouldn’t mean we lose access to one of the best features in Roblox