> For the complete documentation index, see [llms.txt](https://horizongames.gitbook.io/actorio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://horizongames.gitbook.io/actorio/changelog.md).

# Changelog

### Version 1.7.2 (June 19, 2026) <a href="#version-1.7.2" id="version-1.7.2"></a>

* Added support for Unreal Engine 5.8!

### Version 1.7.1 (May 19, 2026) <a href="#version-1.7.1" id="version-1.7.1"></a>

* Fixed an issue where sometimes delayed actions were being incorrectly processed. Commit by: @GudniMyrkur

### Version 1.7.0 (April 22, 2026) <a href="#version-1.7.0" id="version-1.7.0"></a>

* Archive based serialization is now fully supported! This can be used for save-load systems, converting the state of `ActorIOActions` into binary data, storing it in a save file, and later using it to restore the saved state.
* In order to effectively support the loading of save states, a level activation system has been added to the `ActorIOSubsystem`. The purpose of this system is to gate early I/O action executions that may happen before we had a chance to restore the saved state.
* Added serialization support to `ActorIOAction`.
* Added serialization support to `ActorIOSubsystem`.
* Added serialization support to most `LogicActors`.
* Added pre and post serialization events to `LogicActorBase`.
* Added `ActivateLevel` and `DeactivateLevel` to `ActorIOSubsystem`.
* Added other level activation related utility functions to `ActorIOSubsystem`.
* Added a level activation method option to `ActorIOSettings`.
* Added a new "bRandomizeTimeEachLoop" option to `LogicTimer`.
* Fixed an issue where timers of `LogicTimer` could not be looped.
* Fixed a compile issue on Linux.
* Fixed an issue with the asset icon of the `LogicDataLayer` class.
* `ActorIOMessages` now use a soft pointer for the sending I/O action.
* `ActorIOMessages` now also stores a set of custom flags.
* Updated copyright notice.

### Version 1.6.0 (December 18, 2025) <a href="#version-1.6.0" id="version-1.6.0"></a>

* `ActorIOAction` execution has been completely overhauled. See details below.
* Added support for delayed I/O action execution even if the owning actor is destroyed during the delay. This is particularly useful for actions that are bound to the actor's  `OnDestroyed` event. For this to work, a brand new messaging system has been introduced. `ActorIOMessages` are created by `ActorIOActions` during their execution, and queued for delivery to the `ActorIOSubsystem`.
* Added support for I/O action execution even if the target actor is not valid at the time of execution.
* Added `GetWasExecuted` function to `ActorIOAction`.
* Added `GetPendingMessages` function to `ActorIOSubsystemBase`.
* Event Processors are now executed using the built-in `ProcessDelegate` function.
* The entire I/O action execution process now better aligns with the underlying UnrealScript callstack.
* The execution context in `ActorIOSubsystem` is now protected. Use `GetExecutionContext` to access.
* The `ExecutionError` static function has been moved to `IActorIO`.
* Removed unused `GetDurationOfLongestDelay` from `ActorIOComponent`.
* Renamed `RemoveInvalidActions` to `CompactActions` in `ActorIOComponent`.
* Renamed `ExecuteActionSignalName` definition to `NAME_ExecuteAction`.
* Fixed compile issues related to UE engine version comparisons.

### Version 1.5.0 (November 14, 2025) <a href="#version-1.5.0" id="version-1.5.0"></a>

* Added support for Unreal Engine 5.7!
* Added the ability to abort I/O actions from Event Processors.
* Fixed an issue where the `OnDestroyed` event was not firing I/O actions.
* Fixed a crash when recompiling the project's active `ActorIOSubsystemBase` blueprint while the I/O editor was open.

### Version 1.4.0 (September 4, 2025) <a href="#version-1.4.0" id="version-1.4.0"></a>

* **Important:** Fixed an issue where function 'out' parameters that were not passed by reference appeared as required inputs in the I/O editor. This was primarily an issue in blueprints where functions can have multiple return values.
* Level Streaming and World Partition is now fully supported!
* I/O actions now use soft pointers for the target actors. This means that the reference to the target actor is persistent, regardless of whether the actor is loaded or not. As a result, you can now safely reference actors from sublevels or data layers! If the target actor is not loaded at the time of execution, simply nothing will happen.
* Added blueprint support to exposing events from actor subobjects!
* Added a new Local Named Arguments feature to the I/O system. Essentially, this allows you to expose named arguments for variables of the actor to be used when executing I/O actions. Several built in logic actors were updated to use this new feature.
* Added `GetLocalNamedArguments` function to the I/O interface.
* Added a new `LogicDataLayer` actor to support Data Layer loading and unloading.
* Added native support for the Text Render Actor class.
* Added error tolerance to `LogicCompare` for comparing numeric values safely.
* Added an `EndPlay` event to `LogicGlobalEvent`.
* Added an auto start option to `LogicTimer`.
* Added a proper root component to `LogicActorBase` to support Level Streaming.
* Added on-screen error messages when executing I/O actions.
* Added support for displaying unloaded target actor references in the I/O editor.
* Fixed an issue where some I/O functions of `LogicCase` and `LogicCompare` did not work.
* Fixed an issue where the `StartTimerWithParams` function of `LogicTimer` did not work properly.
* Fixed an issue where the actor cut action (ctrl + x) was not handled in the editor.
* Fixed an issue where the Replicated Level Sequence Actor class did not have the same I/O support as the non replicated version.
* Fixed missing `UPROPERTY` marking on I/O event and function list elements.
* Fixed an issue where the internal `ExecuteCommand` function always returning true.
* Recategorized logic actor events and functions in blueprints.
* Changed `ActorIO.WarnAboutInvalidTarget` console variable to be enabled by default.
* Changed `ActorIOEvent` to use weak pointer for delegate owner.
* Changed the action getter functions in `IActorIO` to use weak pointers.
* Moved logic actor placement category to be higher in the list.
* Named arguments are now always processed if `ActorIO.LogIONamedArgs` is enabled.
* Optimized UI refresh calls to the I/O editor.
* The editor module of the plugin has been completely refactored.

### Version 1.3.0 (July 22, 2025) <a href="#version-1.3.0" id="version-1.3.0"></a>

* Added a **Params Viewer** widget that displays the parameters of the selected function in the I/O editor!
* All logic actor classes (including blueprints) are now dynamically registered in the "Place Actors" tab of Unreal Engine.
* Added blueprint support for registering I/O events and functions externally through the `ActorIOSubsystemBase` class.
* Added `ResolveUFunction` utility to the `ActorIOAction` class (C++ only).
* Added an empty template icon to use for creating custom logic actor icons from. The image can be found in the Resources folder.
* Fixed missing target validation in `ExecuteCommand` function of `ActorIOSubsystemBase`.
* Fixed an issue where the error reporting widget of the "Parameters" field in the I/O editor was displaying false errors for functions with a return value, or pass by reference input parameters.
* Moved all editor widget classes into a "Widgets" folder.

### Version 1.2.0 (June 17, 2025) <a href="#version-1.2.0" id="version-1.2.0"></a>

* **Important:** Standardized how functions are executed in editor vs. packaged games. We noticed that executing functions with their parameter(s) default values worked fine in the editor, but would suddenly stop working after packaging the game. This happened due to how Unreal's reflection system stores these values (in editor only metadata). Going forward, all function parameters must be given in the I/O editor! As a result, you may encounter errors on levels that seemed to work just fine with previous versions. We encourage everyone to run a [**Map Check**](https://horizongames.gitbook.io/actorio/debugging) on all game levels to see if any issues pop up.
* Added function parameter validation to Map Check.
* Added native support for the Level Sequence Actor to handle in-game cinematics.
* Added new `CallLevelBlueprintFunction` I/O function to `LogicGlobalEvent`.
* Added an error reporting widget to the "Parameters" field of the I/O editor.
* Moved I/O action's target object resolving into its own function.
* Fixed actor tooltip not being visible when hovering on selected actor's icon in I/O editor.
* Fixed an issue where tooltip was visible for the "clear" action in event / function selection boxes in I/O editor.

### Version 1.1.1 (March 22, 2025) <a href="#version-1.1.1" id="version-1.1.1"></a>

* Fixed an issue where custom I/O events registered from blueprints did not work in packaged games.
* Fixed false action warnings when running a Map Check.
* Removed unnecessary actor tick requirement for I/O component.

### Version 1.1.0 (March 20, 2025) <a href="#version-1.1.0" id="version-1.1.0"></a>

* Fixed an issue where the `OnValueChanged` event of `LogicCounter` did not fire.
* Added `OnTargetValueChanged` event to `LogicCounter`.
* Added named param for the value of `OnValueChanged` and `OnTargetValueChanged` events of `LogicCounter`. Use `$Value` to access the value that the event was fired with.

### Version 1.0.0 (March 15, 2025) <a href="#version-1.0.0" id="version-1.0.0"></a>

* Initial release.
