Quick answer: Unity Input System action asset modified at runtime not reflected in active PlayerInput? PlayerInput caches the asset - assign actions = actions to force re-cache.
Add a new binding via script; existing PlayerInput components don't react until manually re-assigned.
Re-assign the asset
playerInput.actions = actions;Forces cache refresh. New bindings picked up.
Or use InputSystem.actions
Global action access; cache-invalidates on modify.
Avoid runtime asset edits
Pre-build all action assets; switch via assignment, not modify.
“Action assets are cached. Cache needs explicit refresh.”
If you modify action assets at runtime, document the refresh pattern. The cache is the bug source.