Changelog

1 min read

What shipped in each Scylla Input release, from the initial surface that wrapped Unity’s Input System into a complete game-input layer down through every fix that follows.

Release notes for Scylla Input, the framework’s input layer over Unity’s Input System. Versions are listed newest at the top; each entry groups its bullets under Added, Removed, Changed, and Fixed. Input follows its own semver line, independent of Core and the other modules.

1.0.0

The initial release of Scylla Input, wrapping Unity’s Input System into a complete game-input layer with action management, context stacking, buffering, runtime rebinding, scheme detection, and prompt resolution.

Added

  • ScyllaInput module facade as a Tier 1 module under Core, owning a fixed roster of sub-managers and exposing a single entry point for game code.
  • Action API: ScyllaInputAction wrappers around Unity’s InputAction with value-reading helpers (ReadFloat, ReadVector2, ReadValue<T>), routed performed / started / canceled callbacks, and a modifier-key disambiguation pass so an action bound to Ctrl+1 does not also fire on a bare 1.
  • Context stack via IInputContextManager, a LIFO of named InputContext objects with priority and a blocking flag, so pushing a pause menu disables gameplay action maps without unregistering them and popping restores them exactly as they were.
  • Input buffering via IInputBufferManager, per-action timed queues that hold recent triggers for the few frames between a press and the moment the action becomes legal, the canonical implementation of fighting-game combo windows and platformer coyote-time.
  • Runtime rebinding via IInputBindingManager (low-level StartRebind, save and load) and the higher-level InputRebindManager (interactive state machine, conflict detection), with pluggable storage backends: JSONFileBindingStorage for human-editable profiles on disk and PlayerPrefsBindingStorage for the path of least resistance.
  • Control-scheme detection via IControlSchemeManager, which watches recent device activity and publishes a ControlSchemeChangedEvent when the player swaps between keyboard / mouse and gamepad.
  • Button-prompt resolution via IInputHintsManager, which resolves an action plus the active scheme into a sprite and label through registered InputIconSet assets, so per-platform icon sets keep prompts honest across the player’s hardware.
  • Event-driven notifications on every meaningful Input transition (device connected, action performed, context pushed, binding loaded, rebind completed, scheme changed, hint changed) published as typed events on Scylla Event eXchange.
  • ScyllaInputConfiguration ScriptableObject with binding-storage, rebind, and logging setting groups, plus the matching JSON config file and the separate ScyllaInputContextConfiguration that ships the default context set.
  • ConfigScreen demo, a complete rebinding UX with per-action rows, per-control-scheme columns (Keyboard / Mouse, WASD, Gamepad), click-to-rebind, red highlight on conflict, and instant save on accept.