Warning About Developers Using Fast Flags

Hello Developers,

As you may or may not know, the Roblox engine uses a system called Fast Flags as part of our deployment process. When we ship code, not all of it is active by default. Rather, the changes are suppressed by flags that we can dynamically enable and disable, even after the code is live on production. This allows us to release many features in a timely fashion and allows us to quickly and efficiently diagnose the impact that code changes have. While this is an internal tool, some developers have found ways to change the configuration of these flags for their local Client and Studio sessions. We emphatically recommend that you do not change any local fast flags. Doing so can cause unpredictable behavior, and has the potential to corrupt your data or expose you to security risks. Here are the reasons why you should not change fast flags:

Mapping

There are some fast flags that are deliberately not turned on because they are part of a larger feature. In other cases there are multiple flags associated with a particular feature. If flags are not enabled in the correct configuration a feature may not work as intended and could lead to all kinds of bad behavior. Flags are often named in an intuitive way, but in other cases they are not. There is no way as a developer to know exactly what flags govern a particular feature, and without that complete knowledge you can cause problems for your game if the flags are not configured correctly.

Stability

Flags can be in an off state for many different reasons. Sometimes code just shipped and we are simply waiting to enable a flag. In other cases, we may have noticed that a flag is causing a problem and so we need to leave it off while we work on a fix. There may be flags that can’t be turned on until some backend service is ready to support them. If you change the state of a flag from what we have set, you could be opening up your client and game to any number of issues that could crash your sessions or corrupt your data.

Corruption

On the topic of corruption, there are many features that we have to very carefully enable. We sometimes change how our objects and data are structured. Part of the process of releasing these changes is making sure new objects are constructed the way we want and also that we update old content to match the new structures. If you suddenly enable a fast flag for such a feature, you could be skipping vital steps in making sure your existing content works well with the new system. At best things will not work or display properly, but at worst you could permanently corrupt your data or your players’ data.


We understand that it can be tempting to test new features before they are released, but damage from misuse of the fast flag system can be catastrophic and irreversible. Roblox will be unable to assist you in the event of data loss. If you have any questions or comments about upcoming changes to the platform please discuss them on this forum.

Thank you for your understanding.

66 Likes

How strange, I didn’t even know it was a thing up until now, but I will avoid using them.

6 Likes

Yeah i’ve never heard of them

Very nice explanation, and yeah developers do need to be very careful if they’re trying to get their hands dirty in things like this. If you don’t know how to use them, don’t bother trying to.

With great power comes great responsibility, so don’t be stupid (like me).

36 Likes

Any time I play with fast flags is when I want to roll back things that make studio more difficult to use. I’ve pretty much given up on trying to remove right-click-to-select though, it seems to be very well hidden.

2 Likes

I have a studio testing environment dedicated to just this : Testing fast flags.

It’s literally a baseplate, with a seperate version of studio using @Maximum_ADHD’s studio mod manager. So if anything weird happens, it doesn’t affect my ‘live’ version of studio.

4 Likes