As a Roblox developer, it is currently too hard to give players a summary of controls used in their games. While most popular games do an excellent job at explaining actions bound to buttons in their onboarding / tutorial sections, there is no way to easily list all available input actions in a way that is consistent across all games on the platform.
Additionally, some games choose to disable CoreGui such as the Backpack and Playerlist and do not support the Roblox-allocated keybinds for these. Despite these being either fully replaced by the developer or not available in the game at all, Roblox continues to display the now not-bound input actions in the Controls menu.
With the recent overhaul of the ‘esc’ Menu, Roblox has added an excellent location for players to see an overview of all the available controls and actions they can use through the Escape Menu > Controls… button. This opens a full-screen prompt listing all the available default actions to players.
Developers and players would both benefit greatly from having the ability to customize the controls displayed in the Controls prompt. Developers would receive an easy-to-use and standardized method to display registered input actions to players, and players receive a consistent experience across all games on the platform when it comes to understanding input actions available in games. Both to better understand game-specific actions that the developer has added, as well as input actions that are not available in the specific game such as the default Backpack CoreGui.
The type of new functionality I am requesting is the ability for developers to register keybinds to be displayed on the Controls prompt. This method could be tied to ContextActionService, but should ideally be separated from the existing Action Binding system as not all input actions are defined directly through this service. Additionally, it is important that developers have the ability to provide a LocalizationTable (when using Embedded Localization) or a Key (used to lookup the string in the Cloud Localization System) to have the ability to localize the help string.
Additional functionality would include automatic removal of input actions related to disabled CoreGui. Preferably by having these scripts call their ‘register help prompt keybind’ method within the script itself, so that developers forking CoreGui retain their entries in the Controls prompt.
If Roblox is able to address this issue, it would improve my development experience because it would offer me a way to present input actions and keybinds to players in a way that is visually consistent across all games on the platform. It would improve the User Experience and remove the clutter and inconsistency of displaying keybound actions for features not available in my game.
Previously posted feature requests that request something similar but don’t follow the request template and/or don’t provide any additional information, for reference;
“Edit Escape Menu” & “Ability to redesign / add to the esc menu”