Phase 5 updates

Phase 5 · Slice 28 ·

Input System interactions

  • IInputInteraction and InputInteractionContext (Started, Performed and its stay-started/stay-performed forms, Canceled, Waiting, SetTimeout, ControlIsActuated, ComputeMagnitude): interactions listed on bindings and actions ("hold(duration=0.4)") drive the action's phases in place of the default press logic, one driving at a time; RegisterInteraction for custom ones. Hold, Tap, SlowTap, MultiTap and Press (press only, release only, press and release) follow the package's documented rules.
  • Times: queued events keep their timestamps (InputState.currentTime by default) and callbacks report them (time, startTime, duration, interaction); timeouts are set from the event's time and come due against the clock; an event older than its device's last one is dropped, as Unity drops it.
  • The input_interactions scenario (each interaction succeeding and failing, with events timed ahead of real time so outcomes depend only on them, out-of-order events included) matches Unity exactly; 49 scenarios pass.
  • Not yet: gamepads and touch, interactive rebinding, control-scheme device pairing, interactions on composites' parts, several interactions competing on one binding (the first one to start drives).
  • Next: particle modules (noise, collision, trails).