About Blueprint scripting API

Strix Unreal SDK provides Blueprint scripting API. This page summarizes general notes on the API.

Functions for network operations

Many Strix functions involve network operations, that need to wait for completion of underlying communications. Strix uses an event driven design to handle such cases.

sequenceDiagram participant A as Blueprint participant B as SDK library participant C as Server A ->> + B : Invoking a function B ->> + C : Request to a server B -->> - A : Function returns C ->> C : Server-side processing C -->> + B : Response from a server deactivate C B -->> - A : Callback

As you can see below, a Blueprint node for a Strix function (“Search Joinable Room” in this example) often has no data output pins, but it has two delegate pins called Success Callback and Failure Callback, that are to be connected to appropriate custom event nodes.

Blueprint node of a typical Strix function

When the execution comes to such a function node, the execution continues to the next node before completion of the network operation, and no output data is available at the moment yet.

Later, when the network operation finishes, one of the two callback delegates is issued; Success Callback if the operation was successful, or Failure Callback otherwise, which triggers the corresponding custom event on Blueprint. Outputs logically from the network operation is available on the corresponding custom event node, and you can continue execution from the custom event node to make further processing that should take place after the network operation.

In the above example Blueprint, Rooms on the Rooms Found custom event node (an array of a Strix’s struct) is the result of the search operation, and any processing you want to do with the found rooms are connected to the exec pin from Rooms Found custom event.

You can see a lot of examples of Success Callback and Failure Callback usages in Quickstart and Strix Unreal Sample.