Logic Driver - Easily Design Gameplay Systems with State Machines

Update 1.5
S****upports Unreal Engine 4.21 - 4.23

New Features:
Intermediate Reference Graphs

  • State machine references now support an intermediate graph to allow direct control over the reference.
  • The context of the reference can be changed.

  • A new optional node Get State Machine Reference is available in this graph.

  • Reference variables can be read or set from here.

  • An optional entry point On State Machine Start is available for initializing properties.

  • This fires when the root state machine of the blueprint owning the reference starts.

Save & Restore States

  • The guid of the active state can be easily retrieved for serialization.

  • GetNestedActiveStateGuid

  • To restore a state machine to its previous state it only needs the active guid and will automatically set initial states of all affected state machines.

  • LoadFromState

  • If the current state of a nested state machine which doesn’t contain the active state is important use GetAllCurrentStateGuids and LoadFromMultipleStates.

  • Normally nested state machines clear their state on exit. Added bReuseCurrentState and bReuseIfNotEndState flags to state machine nodes to allow this behavior to change.

Editor Settings

  • Color and debug information can now be configured.

Comment Bubbles

  • State nodes now support standard comment bubbles.

Added Helpers to Retrieve State and Transition Information from a State Machine Graph

  • GetStateInfo and GetTransitionInfo
  • Retrieve blueprint friendly read only structs containing helpful information.
  • Any contained guids can be checked against the instance itself with TryGetStateInfo or TryGetTransitionInfo.

New Common State Machine Events

  • Added OnTransitionTaken, OnStateChange, and OnStateMachineUpdated events to instances and components.
  • State and transition events include the new blueprint friendly structs as parameters.

**Replace With… **

  • Added Replace With sub menu for converting the selected node to another type while preserving transitions.
  • This is destructive to the node and its contents.

Changes:

  • State nodes will better validate and display errors.

  • State machine references will no longer default to an empty nested state machine when a reference is forcibly deleted and instead stay in an error state to allow the reference to be changed.

  • Organized blueprint functions into different categories.

  • Blueprint helper nodes will now display which state they represent.

  • State machine instances have more general helper functions exposed in C++ and blueprints to retrieve information such as current states or all referenced instances.

  • Improved descriptions of Tick overrides to better reflect what they actually change.

  • They have always affected the Update rate of a state machine but do not affect overloaded Tick functions.

New Platforms Whitelisted:

  • Development

  • Linux

  • Runtime

  • Linux

  • PS4

  • XboxOne

  • Switch

  • TVOS

  • Linux has been tested and is supported. No testing has been performed on the other platforms.

Bug Fixes:

  • Fixed state machine references ticking independently of the parent which could cause state machines to update twice per tick.

  • Added bAllowIndependentTick which defaults to false and bCallTickOnManualUpdate which defaults to true.

  • The new default behavior should fix the issue while not breaking uses of Tick overload on references. However be sure the Parent Tick is still called if you overload Tick.

  • Fixed Promote to Variable not displaying on some node pins.