Logic Driver Pro v1 Patch Notes¶
January 21st, 2020 - Unreal Engine 4.24
- Modifying a parent state machine will no longer cause children state machines that haven't been recompiled to have an invalid guid during initialization.
- All children which reference a parent graph will be marked dirty when the parent is compiled.
January 7th, 2020 - Unreal Engine 4.22 - 4.24
- State machine references now support archetypes to load default values which can be set from the details panel.
- This is useful for quickly setting static default values. For advanced configuration the intermediate graph is recommended.
Inheritance Improvement: Call Parent State Machine from Child¶
- Child Blueprints now support adding a State Machine Parent node which can select the desired parent from the details panel.
- This effectively clones the parent graph into the child instance.
Transitions Can Evaluate on the Same Tick as Start State¶
- All state nodes have an advanced configuration option
Eval Transitions on Startwhich allows a state to process transitions immediately after it is started. Normally this occurs on the next tick.
- Transitions have an advanced configuration option
Can Eval with Start Statewhich if false prevents transitions from being evaluated on the same tick.
- Same tick processing can be especially useful for Conduit nodes. However, be careful of your logic paths if you enable this feature. This behavior can be chained which could allow multiple states and transitions to execute in one tick which may effect performance or lead to a blocking infinite loop. To help prevent that self transitions always default to running on the next tick.
Guid Calculation Improvements¶
- Each node in a graph is supposed to be unique which allows for quick retrieval and is useful in saving or reloading states. With the introduction of multiple parent graphs or same type references it's possible Guids could be duplicated so how the final Guid is calculated has changed to ensure it is unique.
- If you are using any Guid retrieval introduced in 1.5 for saving or reloading states you don't have to make any changes, but any existing run-time save data using the Guids won't load into 1.6 until they are saved using the 1.6 run-time.
- The state machine compiler will now automatically fix nodes that have duplicate ids and will display a warning if it does. This can happen if a blueprint was duplicated and then re-parented to the original. There was also a bug where certain nodes that were duplicated wouldn't generate a new Guid.
- You will need to manually save any affected Blueprints to keep the warning from showing up. This fix happens during compile when it's not possible to mark the Blueprint dirty automatically.
Multiple Same Type References Always Instantiate¶
- References of the same class in a single blueprint will always instantiate new instances. This use case wasn't well supported previously and the same instance would be reused. With state machines being able to reuse states, retrieve states for serialization, and now the use of templates this behavior has to change.
- Circular referencing is completely restricted now. It was never supported before but had some logic which allowed it to work under certain conditions.
- There is an advanced reference option
Reuse Referenceif the old behavior is desired, but it is not recommended.
- Opening a reference from a graph node while debugging will maintain the current debug object.
- Graph headers will display the node type in the name. Previously this was limited to only states and transitions.
- Creating new state machine blueprints will automatically create and wire a parent tick node.
- Fixed crash from copying and pasting a nested state machine node which contained another nested state machine.
- Nested state machines which had bReuseState checked will no longer incorrectly call StartState when EndState is called.
Delete Unused Variablesand
Refresh All Nodesnow work.
- Creating a new state machine blueprint from any other means than the content context menu should now correctly setup the blueprint.
- Copy and pasting Transitions or State Machine Nodes will correctly generate a new Guid.
October 14th, 2019 - Unreal Engine 4.21 - 4.24
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 Referenceis available in this graph.
- Reference variables can be read or set from here.
- An optional entry point
On State Machine Startis 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.
- 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.
- If the current state of a nested state machine which doesn't contain the active state is important use
- Normally nested state machines clear their state on exit. Added
bReuseIfNotEndStateflags to state machine nodes to allow this behavior to change.
- Normally nested state machines clear their state on exit. Added
- Color and debug information can now be configured.
- State nodes now support standard comment bubbles.
Added Helpers to Retrieve State and Transition Information from a State Machine Graph¶
- Retrieve blueprint friendly read only structs containing helpful information.
- Any contained guids can be checked against the instance itself with
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 Withsub menu for converting the selected node to another type while preserving transitions.
- This is destructive to the node and its contents.
- 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:
Linux has been tested and is supported. No testing has been performed on the other platforms.
Fixed state machine references ticking independently of the parent which could cause state machines to update twice per tick.
bAllowIndependentTickwhich defaults to false and
bCallTickOnManualUpdatewhich 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.
Promote to Variablenot displaying on some node pins.
September 19th, 2019 - Unreal Engine 4.22 - 4.23
New Platforms Whitelisted:¶
- Cleaned up compiler warnings on packaged builds.
- Dirty symbol will only show up once for Blueprints on UE 4.22+
September 5th, 2019 - Unreal Engine 4.21 - 4.23
- Network crash fix for if transitions were replicated before the instance was initialized from replication.
- In this scenario transitions are now queued and executed after initialization.
- New flag
bDiscardTransitionsBeforeInitializeadded to State Machine actor components to optionally discard transitions instead.
August 26th, 2019 - Unreal Engine 4.20 - 4.22
New Transition Nodes and Support for Event Triggers¶
Optional transition nodes have been added to help support transition logic which may need to occur before and after evaluation such as binding to an event.
On Transition Initialized (When the state leading to the transition is entered)
On Transition Shutdown (When the state leading to the transition is exited)
On Transition Pre-Evaluate (Before each evaluation. Performance warning)
On Transition Post-Evaluate (After each evaluation. Performance warning)
Can Transition Evaluate Getter/Setter which can be used in the transition context. If false the transition is never evaluated and can never be taken.
- State machine instances' GetWorld implementation will now only attempt to return the context's world as this is the only world the state machine should care about. Previously it would check GEngine and the outer object. If ImplementsGetWorld was called on the state machine blueprint during design time it would fail.
- State machine instances' GetContext implementation will only return the context which was set during initialize. Previously it would return the outer object if no context was set. All contexts should be set using the Initialize method.
[These changes shouldn't impact use cases providing state machines are instantiated as ActorComponents or by using the CreateStateMachineInstance function.]
- State Machine instances have improved cleanup handling to prevent a possible crash when garbage collection occurs.
April 16th, 2019 - Unreal Engine 4.20 - 4.22
Change Tick Rate of State Machine¶
- State Machines now support a variable delay in seconds between ticks.
- Added explicit Tick override option for ActorComponents.
- Added/Removed some EditConditions around tick properties to better display when one option requires another.
- Adding or changing a State Machine reference will default the path to the current Blueprint's folder.
- Initializing State Machines when using nested references improved.
- Duplicating a top level K2 State Machine node will correctly rename it when the name is already in use.
April 2nd, 2019 - Unreal Engine 4.20 - 4.22
Add Reference to State Machine¶
- Other State Machine blueprints can now be directly referenced within a State Machine graph. This allows a single State Machine to be reused multiple times.
- The context of the super State Machine will be passed into the reference automatically.
- The reference will inherit the super State Machine's replication settings.
Convert State Machine to Reference¶
- Convert an existing State Machine in-place to a reference.
- This will also look for any existing variables that are referenced and recreate them in the new blueprint. Any additional event graph logic or custom functions won't be copied.
- Blueprint Helper Nodes (Such as 'Time in State') can now be copied and pasted into supporting graphs.
- Removed EditAnywhere from some properties which weren't intended to be modified manually.
February 21st, 2019 - Unreal Engine 4.19 - 4.21
Collapse Nodes to State Machines¶
- Selected state nodes can be collapsed to a nested state machine while preserving transitions.
- Can add comments to state machine graphs.
- Multiple instances of a state machine can be debugged properly now.
- Fixed crash when a nested state machine was removed while opened in the editor.
- Added work around for engine level crash when undoing the creation of a graph for the second time while the graph is open in the editor.