Skip to content

Controls

The Controls folder contains runtime input handling systems used by RuntimeKit.

These systems provide a lightweight abstraction layer between RuntimeKit gameplay code and Unity input APIs, allowing sample scenes and character controllers to work across different input configurations with minimal coupling.

Controls are responsible for gathering player input and exposing it to runtime systems. They should not contain gameplay logic, animation logic, or character state management.

Belongs Here

  • Input adapters
  • Input abstraction layers
  • Input utility classes
  • Input compatibility helpers
  • Cross-input-system support code

Does Not Belong Here

  • Character movement logic
  • Animation playback logic
  • Camera behaviour
  • Health systems
  • Runtime managers
  • Editor tooling

Examples of systems commonly found in this folder include:

  • InputAdapter
Folder Purpose
Characters Character controllers consume input data provided by control systems
Managers Runtime managers may react to input events
Camera Camera systems may optionally follow player-controlled objects

Design Notes

Control systems should focus solely on obtaining and exposing input.

Gameplay decisions should remain inside the systems consuming the input rather than inside the input layer itself.

This keeps RuntimeKit components modular and makes future input implementation changes easier without affecting gameplay code.