[Studio Beta] Input Action Manager


Hi Creators!

We’re announcing the Studio Beta for the Input Action Manager (IAM) – a powerful visual interface built directly into Studio to help you manage all your actions, contexts, and bindings seamlessly across your entire experience.

As you may have seen recently, the Input Action System (IAS) is now fully released, giving you a modular, scalable framework where control schemes automatically adapt to players using different hardware. If you’re not familiar with IAS, we encourage you to check out the post above, read this guide, or watch our recent Youtube video. IAS provides a robust foundation under the hood, but managing these instances via code or the standard Explorer tree can get complex.

The Input Action Manager solves this by giving you a unified, table-style interface to design, audit, and scale your input architecture with data-driven configurations.

:hammer_and_wrench: Getting Started

Ready to simplify your control mapping configuration? Getting set up takes just a few clicks.

  1. Enroll in the Beta: Open Roblox Studio and navigate to File > Beta Features. Enable the “Input Action Manager” option by checking the corresponding checkbox. Press Save and restart Roblox Studio when prompted.

  1. Open the Editor: Once restarted, head to the top menu and select Window > Input > Input Action Manager to open the new editor panel. We recommend keeping IAM undocked or docked at a large size for the best experience!

  2. Use in new or live experiences: Even though the IAM interface itself is a Studio Beta feature, any IAS instances created through IAM can be safely published and used in your live production experiences today, since the underlying IAS system is fully released!

  3. See your existing work immediately: If your experience already has IAS instances, IAM will automatically scan your DataModel, extract those existing instances, and populate them instantly into the editor grid. Any actions that have been created but don’t yet have an assigned context will automatically gather under a dedicated Default Context folder so nothing gets lost in the shuffle. Changes in Explorer or in IAM automatically stay in sync with each other, so editing in either location works seamlessly!

    :warning: Note: InputContexts in starter folders will not be shown in Input Action Manager. We encourage the use of ReplicatedStorage for your contexts and actions.

  4. Get started! You can build your entire control hierarchy from scratch directly inside IAM. Any new contexts, actions, or bindings you create will automatically populate in the Inputs folder under ReplicatedStorage.

:sparkles: Key Workflow Features

Here’s a sample placefile that you can follow along as you read through the key workflow features: Action Manager Test Place.rbxl. It shows what a complete IAM configuration can look like – note that it is not meant to be a playable game.

:plus: Add and Update IAS Instances

  • To add a new action, use the left-hand hierarchy tree to create an InputContext. From there, click the plus button to drop in an InputAction (such as a Bool or a directional vector). You can set your per-platform bindings using the dropdowns, or bind a UIButton by clicking on a touch cell and selecting your desired button in the explorer.

    image5

  • If you want to have multiple bindings on the same platform for a singular action, you can use the action’s plus button to add another set of bindings. Depending on the type of action, you can also use composite keycodes to define your inputs.

    image2

:shield: Build Games that Play Seamlessly on Cross-Platform Input Devices

  • Missing Binding Alerts: If you create an action but forget to assign a binding for a specific platform schema, IAM will display a helpful visual indicator to remind you to fill the gap.

  • Conflict Warnings: If you accidentally map the same keycode to two or more actions in the same context, IAM will warn you about the conflict before it impacts your players during live gameplay.

:magnifying_glass_tilted_left: Customize Your IAM Workspace

  • Context Filtering: Focus on a single gameplay state at a time (e.g., filtering down to just your “Driving” or “Inventory” context).

    image4

  • Device Filtering: Hide the platforms you aren’t currently working on to keep your focus strictly on the hardware schemas you are actively configuring.

    image6

:bug: Known Issues

  • Contexts in the filters menu may show outdated names. The workaround is to toggle a filter in order to update all names.
  • When filtering for keycodes, the scrolling frame does not automatically adjust its height.
  • IAM’s contents are not yet viewable at runtime.

:crystal_ball: Coming Soon

We’re just getting started with making input configuration as frictionless as possible! Here’s a look at what we are working on next for IAM:

  • Player Script Integration: Default input actions created in Roblox-provided player scripts (e.g., Move, Jump) will soon display directly inside IAM, allowing you to see exactly how your custom gameplay controls interplay and stack with Roblox’s default movement actions. We eventually want these to be directly editable inside IAM as well.
  • Enhanced Touch Binding Support: An upgraded workflow to make assigning UI button bindings and touch-platform inputs more visual and intuitive.
  • Advanced Capabilities: Native visual configuration for UIModifier, ViewportPosition, and other instance properties.

:blue_heart: Made with love

IAM was made possible thanks to hard work from @ProtoValence, @SharpenedbyWater, @uiuxartist, @Dogekidd2012, @Astonish1656, @jimjamjomj, and @MetaVars.

We’re excited for IAM to improve your IAS workflows and bring your cross-platform binding management to the next level! Please let us know if you have any feedback or questions. We can’t wait to see what you build :blush:

151 Likes

This topic was automatically opened after 11 minutes.

Would there be plans to support importing/exporting profiles

3 Likes

If you want to transfer your input profiles between places, you can do so from the Explorer. Right click your Inputs folder then click Export → Save to File.

Then drag and drop the resulting .rbxm file into workspace in your other place!

9 Likes

This is amazing! Thank you.

No need for custom IAMs anymore. Goodbye my custom IAM!

3 Likes

This is awesome! Reminds me of the input manager built into Godot. There have been really great additions recently in studio.

5 Likes

Reminds me of the 2 versions of input managers that Unity did as well, and Unreal Engine. Input Action Managers are so helpful and 100% the standard for game engines now.

4 Likes

IAS is genuinely a life changer, so easy and intuitive.

Keep up the hardwork

3 Likes

this is an amazing addition to an already amazing system IAS, great to see these changes

3 Likes

really cool feature! do you think we could see a built in keybind menu in settings where users can configure game based keybinds that developers pick? would make it way easier for users who want to tailor their experience to their preferences

9 Likes

this is on our radar and something we want to support in the future, stay tuned!

22 Likes

is there any plans to assign other folders to be the place where newly created InputContexts are put into?

1 Like

Definitely looking forward to something like this, if we can let players customize their keybinds/actions as much as they want, then that would save so much time.

One thing that would be important if fully implemented is some API friendly way to store them into DataStore, of course if there is a way to write an input instantly that could be done at runtime, but hey, this is still amazing nonetheless

5 Likes

IAS seems like the perfect system for developers to eventually be able to customize keybinds in the Roblox escape menu… and allow players to rebind them.

1 Like

The IAM looks really solid addition to the IAS system. I especially like how easier it became to search for the inputs and mapping them to input keys needed (oh and filter too). However I do have suggestion to make input mapping more ergonomic.

Consider this as a suggestion: To make the workflow even more intuitive/faster an addition to the option to select keybind via Physical Input would be a nice addition. This way we can select a type of input we want to bind (keyboard & mouse or gamepad) and press that key directly on the input device itself rather than scrolling the menu looking for the key itself (this behavior is semi-present in property editor, but only works on hand full generic keys). This kind of feature is present in other game engines like Godot 3.x - 4.x.

7 Likes

this is a really nice addition to the already existing input action system.
do you think there may be a day where we could let the user rebind input actions in the settings menu? would save a lot of work for devs who currently have to build a whole system into their game just to allow people to rebind actions.

1 Like

Many months ago I wasn’t a fan of this. I then got used to Unity’s new input system that does something similar.

They kinda forced it on people, but I learned the ease of supporting other inputs. The code set up is weird, connecting to events. Anyway, on Roblox I felt more a need for that lower level of control to do what I wanted.

The being able to control Roblox input without forking the player scripts sounds awesome for the future.- kinda on that, but highly unlikely due to many challenges: it’s been a dream to replace the Roblox Esc menu / have a custom pause menu for console players for those kinds of games. Taking over the Menu button for Xbox controllers, for example, would be awesome.

2 Likes

This is a good update! Thank you Roblox!

2 Likes

We originally tried adding this, but Studio’s PluginAction bindings intercept some keycodes before they actually reach the plugin. When we attempted to set this up, some keys (like the number keys) just didn’t work at all and we figured having better filtering would be more helpful. What I can do in the interim is see if we can allow you to automatically select the first option with the enter key, so you don’t have to use your mouse.

Though I still think having this functionality in the future would be nice, we wanted to prioritize getting this out to devs ahead of making more involved changes to Studio for this kind of feature.

3 Likes

Great addition to the IAS. Any progress with adding Mouse 4/5 support?

3 Likes