Input Bindings 2.5+¶
Enhanced input is supported as of UE 5.1 and Logic Driver Pro 2.8.
Input actions and input keys can be utilized in state machine graphs and node classes. Under the state machine's Class Defaults
input can be enabled by changing Auto Receive Input
to the player controller that should be used. Use input events if you know you need them for your use case. Otherwise, listening to input actions on the context and using event delegates in state machines is a viable alternative.
Selecting Use Context Controller
will automatically discover the controller belonging to your context object, if one exists.
Once input has been enabled you may place input events into graphs. Input events will not show up in the context menu if Auto Receive Input
is disabled.
State Machine Graph Usage¶
Placing input actions into state machine graphs have different behavior depending on where they are placed. One constant is they will always listen for input while the state machine is initialized. There is no avoiding that based on how the engine works with input. Because of this, you may want to uncheck Consume Input
on the input action.
Event Graph¶
Placing input into an event graph will always listen for input and always execute its logic, regardless of the state machine state.
State Graph¶
Placing input into a state graph will always listen for input, but will only execute logic while that state is active.
Transition Graph¶
Inside of transition graphs input will always listen, but only execute logic while that transition is initialized. A transition is considered initialized when its "from state" becomes active.
Event Triggers¶
It is possible to use input actions to trigger transition events. Once an input action is placed you may add an Event Trigger Result Node
to the graph. This is similar to auto binding a delegate. The input action will trigger the transition and update the state machine. Treat these like normal event delegates and only use them for initial transitions when working with conduits.
Node Class Usage¶
Similar to state machine graph usage, set Auto Receive Input
under Class Defaults
to enable input events to be placed in the event graph. Use Owning State Machine
is available as a value which will automatically use whatever input settings the state machine the node is placed in has set.
Unlike the state machine graph, input events here won't listen for input until the instance is initialized.
Considerations¶
- For state machine graphs input events will always listen.
- Axis bindings are only available in UE 5.0+.