Editing Outputs

The Outputs tab in Windows -> Actor I/O is your main editing environment, it shows all actions that are tied to this actor. You can add new actions to the actor with the "New Action" button.

Each action has the following fields:

  • Event: The event that this action is binding to.

  • Target: The actor to call the selected function on.

  • Action: The function that is called on the target actor when this action is executed.

  • Parameter: Parameters that are sent with the function.

  • Delay: Time before the function is called on the target actor, after this action is executed.

  • Once: Whether the action can only be executed once.

Function Parameters

The Parameters field (also known as arguments) require a very specific format to be understood by the I/O system and Unreal. Here are some of the most commonly used types:

- bool: true, false, 1, 0
- int: 123
- float: 1.23
- double: 1.23
- string: "hello world" (quotation only required if string contains whitespace)

In case of multiple parameters, use a semicolon ; as the separator:

Arg1; Arg2; Arg3; ...

Named Arguments are also supported. These get their values assigned at runtime by game code, so essentially they can represent anything. Named arguments must start with a dollar sign $ followed by the argument name:

$ArgName

Structs are a bit tricky. First, they always need to be wrapped in parenthesis (). Inside the parenthesis you can give values to elements of the Struct. Use a simple comma , to separate elements, without spaces between them. Unassigned elements will use their default values. So for example, the following formats for an FLinearColor struct (which is 4 float values R,G,B,A) are all valid:

- default 'black' color: ()
- red color: (R=1.0)
- color from RGBA values: (R=1.0,G=0.25,B=0.25,A=1.0)

Object references (pointers) are supported as path information to the object. You are not going to type these out by hand, rather use game code to get the object's path and assign it to Named Arguments. Use GetObjectPathString in blueprints, or GetPathName in C++. Here is what the path information looks like for the player character in the third person template for example:

/Game/ThirdPerson/Maps/UEDPIE_0_ThirdPersonMap.ThirdPersonMap:PersistentLevel.BP_ThirdPersonCharacter_C_0

Execution Order

The execution order of actions is not guaranteed! For the most part, the order will be the same as the list that you see in the I/O editor. However, the more actions you add to the same event, the higher the chance of the order being changed. This is due to how dynamic delegates work in Unreal Engine.

In case it is crucial for actions to execute in a set order, it is best practice to use a small delay of 0.1 seconds. This ensures that the order is always the same, while not being noticeable by players.

Last updated