The new Input System sure is a lot more modular but it turns into spaghetti rather quickly on big projects with lots of ActionMaps. I think making Actions a seperate .asset file that can be shared across ActionMaps can make things a lot easier. Currently Actions only exist inside ActionMap. To share Action between different maps we need to duplicate same Actions and maintain them as the project grows. Example: Let's say you can chat while both Vehicle and Character (or etc) ActionMaps are active, with current approach you would have a "Chat" Action for each map which is not ideal. But with suggested approach you only need one Action with "Enter" key set as Input, even when saving/loading user modified inputs it's easy to do because there's only single key for chatting. + Another good thing about this approach is that we can just reference that Action asset ("ChatAction.asset") from any script (ChatSystem.cs for example) and it doesn't need know about the whole input system, just reference the action from script and subscribe some method(s) to it.