-
Notifications
You must be signed in to change notification settings - Fork 345
A guide to FastFlags
Caution
FastFlags are extremely powerful, being that they are intended to only be used by Roblox engineers. While they can be very useful, they can cause issues with stability and functionality if you don't know what you're doing.
You should only use the flag list editor if you know what you're doing. You should only configure flags of which you fully know what they do.
We especially do not recommend importing any large lists of flags, for all the reasons stated above. If you're encountering any issues with Roblox, your first action should be to remove anything you've manually configured in the editor.
FastFlags are Roblox's implementation of feature flags, and their intention is for Roblox to remotely alter how aspects of the game engine/client function, without needing to push out a whole new client update every time. They are essentially controlling how pre-defined sections of code in the Roblox game client function. Whether it's defining what values they work with, enabling a feature, or even skipping over them entirely, etc.
While they are always loaded online, they can be manually overriden by the user, allowing for you to similarly alter how Roblox functions. Bloxstrap features the ability to easily do this through the handy FastFlag editor.
For a list of every FastFlag that Roblox makes available, see this scraped FastVariable list, or Roblox's official ClientSettings configuration list.
Bloxstrap provides a number of FastFlag presets, which are simplified functions that handle the FastFlag management for you. This section provides additional information and context on what they do, and how to use them.
Relevant flag(s): FFlagHandleAltEnterFullscreenManually
This preset is always enabled by default, and allows you to use exclusive fullscreen with Direct3D by pressing Alt + Enter instead of F11. Vulkan will always use exclusive fullscreen regardless. You can verify if you're in exclusive fullscreen by switching to another window on the same display with Alt + Tab. If Roblox flashes black momentarily, or un-fullscreens itself, then you were just in exclusive fullscreen.
Please note that you will very likely run into issues using Exclusive Fullscreen. This includes, but is not limited to:
- It may cap itself to an arbitrary framerate of its own regardless of what you have chosen (though disabling VSync in your GPU settings should fix that).
- Your mouse cursor may not be visible.
- The embedded web browser (used for displaying server lists, etc) will not appear (in which case just exit it if you need to use it).
That's sort of just how it is. If the issues you face with it affect you enough, then you'll just have to not use it.
Relevant flag(s): DFFlagDisableDPIScale
This preset fixes the problem of Roblox's rendering quality decreasing when your display scaling is greater than 100%. Here's a before and after for comparison, at 4K with 300% scaling. If you're more focused on performance, or battery life, you might not want to enable this.
Relevant flag(s): DFIntTaskSchedulerTargetFps
This flag allows you to change the FPS cap to a specific value that Roblox may not let you be able to choose with the built-in capper.
Setting it to zero will effectively disable the use of the option, and the standard built-in capper will apply.
Caution
This is actually doing more than just raising your framerate limit. So, there's a very rare chance that configuring this may cause unintended side-effects, including but not limited to:
- increased network latency
- crashes when teleporting/joining games
It doesn't happen for everyone, but at least check if it happens for you.
Besides, some games may use your framerate for carefully timing stuff, which raising this higher than 60 can affect.
If you encounter any issues, set the framerate limit as 0 to set it back to defaults, and see if your issues are resolved.
Roblox offers a selection of lighting technologies for developers to use in their games. They have introduced them over the past years, with each phase typically looking better compared to their previous ones, at the cost of performance.
A game can only be configured to use one technology. Developers will often choose an older lighting technology to accomodate players on less-performant hardware. If your hardware can handle it though, you may be interested in forcing a newer one to make things look better.
Caution
A game's lighting design is specific to the lighting technology that they've chosen. Be aware that if you override it yourself, you may encounter issues with lighting (things being too bright, things being too dark, etc).
In most cases, this isn't really an issue as things often work well enough. In some cases, really well. However, if you ever encounter issues with game lighting like this, keep this in mind and set the option back to "Chosen by game".
Relevant flag(s): FFlagDisableNewIGMinDUA
, FFlagEnableInGameMenuControls
Fairly self explanatory. Also, if you're wondering, here's what they all look like.
The difference between the old and new UI (called the Chrome UI) for V4 looks like this:
Keep in mind that Roblox does not maintain any menu versions older than 2023 anymore, so some of the buttons and controls may not work properly. Minor visual or usability problems with them are to be expected.
Relevant flag(s): DFIntCanHideGuiGroupId
This is a group-based FastFlag, therefore you must be in a Roblox group for it to work. It can be made to work with any group you're currently in - see the flag editor for that, but if you don't feel like doing that, and want to avoid confusion, you can just join the Bloxstrap group. Here are the following keyboard shortcuts it provides for toggling the visibility of GUI elements.
Key combination | Action |
---|---|
Ctrl + Shift + B | Toggles GUIs in 3D space (BillboardGuis, SurfaceGuis, etc) |
Ctrl + Shift + C | Toggles game-defined ScreenGuis |
Ctrl + Shift + G | Toggles Roblox CoreGuis |
Ctrl + Shift + N | Toggles player names, and other BillboardGuis that show up above a player |
Pro tip: Ctrl + Shift + G + C + N makes for a nice screenshot :D
Enabling this will show a freecam option in the menu. That option isn't supposed to actually work, so just ignore it.
See something here on this page that is incorrect or you otherwise think should be changed? Please open an issue!