Breadcrumbs

Engine API - Calls

Introduction

The following document presents all the endpoints callable via Data Hub on a running Engine instance. All changes are applied immediately. However, changes to some properties of the World Settings in Live mode might result in a restart of Pixotope modules and a brief reduction in performance.

To learn about more advanced usage of these endpoints jump to: Advanced RPC Usage.

Object Setting

Calls allowing for scene manipulation.

SetProperty

SetProperty

Set a property value for a given actor. Apart from basic types, supports properties in structs, arrays and asset names.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

Value

STRING

STRING ARRAY

ANY

The value to be applied. Strings are parsed into proper formats, but raw numbers should be (for the most part) supported too. If provided with an array will try to match to the array of PropertyPaths. Supports struct imports in both a format of JSON or the Unreal's text import format.

ApplyClamp

BOOL

OPTIONAL

Should we apply clamp values defined in property's metadata. Default: false

PairObjectSearchesAndPropertyPaths

BOOL

OPTIONAL

Default: false

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

Example 1 - Set intensity on a light component.

Call (you send) Topic: { "Type": "Call", "Target": "TJCGWS040-Engine", "RespondTo": "TJCGWS040-TestClient", "Method": "SetProperty", "ID": "000" } Message: { "Params": { "ObjectSearch": "SpotLight_1.LightComponent0", "PropertyPath": "Intensity", "Value": 100 } }

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "TJCGWS040-TestClient", "ExecutedOn": "TJCGWS040-Engine", "Method": "SetProperty", "ID": "000" } Message: {"Result":[{}]}

Update (you can receive, if subscribed) Topic: { "Type": "Update", "Target": "BROADCAST", "Source": "TJCGWS040-Engine", "Name": "World.PropertyChanged" } Message: { "Value": { "Owner": "SpotLight_1.LightComponent0", "Name": "Intensity", "PrettyName": "Intensity", "Type": "float", "AdjustmentStatus": "MODIFIED", "Value": "100.000000" } }

Example 2 - Set intensity and color of two light components at once. Don't broadcast updates.

Call (you send) Topic: { "Type": "Call", "Target": "TJCGWS040-Engine", "RespondTo": "TJCGWS040-TestClient", "Method": "SetProperty", "ID": "000" } Message: { "Params": { "ObjectSearch": [ "SpotLight_1.LightComponent0", "SpotLight2.LightComponent0" ], "PropertyPath": [ "Intensity", "LightColor" ], "Value": [ 100, "(R=255,G=0,B=0)" ], "BroadcastUpdate": false } }

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "TJCGWS040-TestClient", "ExecutedOn": "TJCGWS040-Engine", "Method": "SetProperty", "ID": "000" } Message: {"Result":[{}]}

Example 3 - Apply blue color grading to the graphics.

Call (you send) Topic: { "Type": "Call", "Target": "TJCGWS040-Engine", "RespondTo": "TJCGWS040-TestClient", "Method": "SetProperty", "ID": "000" } Message: { "Params": { "ObjectSearch": "post_process_handler", "PropertyPath": [ "Settings.bOverride_ColorGamma", "Settings.ColorGamma.X", "Settings.ColorGamma.Y", "Settings.ColorGamma.Z" ], "Value": [ true, 0.0, 0.0, 1.0 ] } }

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "TJCGWS040-TestClient", "ExecutedOn": "TJCGWS040-Engine", "Method": "SetProperty", "ID": "000" } Message: {"Result":[{}]}

Update (you can receive, if subscribed) Topic: { "Type": "Update", "Target": "BROADCAST", "Source": "TJCGWS040-Engine", "Name": "World.PropertyChanged" } Message: { "Value": { "Owner": "PostProcessHandler_0", "ObjectSearchTag": "post_process_handler", "Path": "Settings.", "Name": "bOverride_ColorGamma", "PrettyName": "Override Color Gamma", "Type": "bool", "AdjustmentStatus": "MODIFIED", "Value": "True" } }

Update (you can receive, if subscribed) Topic: { "Type": "Update", "Target": "BROADCAST", "Source": "TJCGWS040-Engine", "Name": "World.PropertyChanged" } Message: { "Value": { "Owner": "PostProcessHandler_0", "ObjectSearchTag": "post_process_handler", "Path": "Settings.ColorGamma.", "Name": "X", "PrettyName": "X", "Type": "float", "AdjustmentStatus": "MODIFIED", "Value": "0.000000" } }

Update (you can receive, if subscribed) Topic: { "Type": "Update", "Target": "BROADCAST", "Source": "TJCGWS040-Engine", "Name": "World.PropertyChanged" } Message: { "Value": { "Owner": "PostProcessHandler_0", "ObjectSearchTag": "post_process_handler", "Path": "Settings.ColorGamma.", "Name": "Y", "PrettyName": "Y", "Type": "float", "AdjustmentStatus": "MODIFIED", "Value": "0.000000" } }

Update (you can receive, if subscribed) Topic: { "Type": "Update", "Target": "BROADCAST", "Source": "TJCGWS040-Engine", "Name": "World.PropertyChanged" } Message: { "Value": { "Owner": "PostProcessHandler_0", "ObjectSearchTag": "post_process_handler", "Path": "Settings.ColorGamma.", "Name": "Z", "PrettyName": "Z", "Type": "float", "AdjustmentStatus": "MODIFIED", "Value": "1.000000" } }

ResetProperty

ResetProperty

Reset a property value for a given actor.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

PairObjectSearchesAndPropertyPaths

BOOL

OPTIONAL

Default: false

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

AllAdjustmentGroups

BOOL

default: false

Example - Reset the graphics color grading gamma. (Set in a SetProperty example.)

Call (you send) Topic: { "Type": "Call", "Target": "TJCGWS040-Engine", "RespondTo": "TJCGWS040-TestClient", "Method": "ResetProperty", "ID": "000" } Message: { "Params": { "ObjectSearch": "post_process_handler", "PropertyPath": "Settings.ColorGamma" } }

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "TJCGWS040-TestClient", "ExecutedOn": "TJCGWS040-Engine", "Method": "ResetProperty", "ID": "000" } Message: {"Result":[{}]}

CallFunction

CallFunction

Call a method on a given object. This is the main and recommended way of handling live input and controls.

Params

ObjectSearch

STRING ARRAY

STRING

FunctionName

STRING

FunctionArguments

STRING ARRAY

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

SetVisibility

SetVisibility

Set actor's / component's visibility.

Params

ObjectSearch

STRING ARRAY

STRING

BroadcastUpdate

BOOL

OPTIONAL

Visibility

BOOL

AvalancheChannel

STRING

OPTIONAL

ResetVisibility

ResetVisibility

Reset actor's / component's visibility.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value. Actors only!

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

SetMobility

SetMobility

Set actor's / component's mobility.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value. Actors only!

Mobility

ENUM

Allowed values: NO_TRANSFORM, STATIC, STATIONARY, or MOVABLE

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

ResetMobility

ResetMobility

Reset actor's / component's mobility.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value. Actors only!

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

SetTransform

SetTransform

Set actor's or component's relative transform.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

Transform

FLOAT ARRAY

OPTIONAL

Consecutively: LocX, LocY, LocZ, RotX, RotY, RotZ, SclX, SclY, SclZ. Invalid or missing values will be ignored. Can be an array longer than 9 to apply different transforms when targetting multiple objects.

Location

FLOAT ARRAY

OPTIONAL

Consecutively: LocX, LocY, LocZ. Invalid or missing values will be ignored.

Rotation

FLOAT ARRAY

OPTIONAL

Consecutively: RotX, RotY, RotZ. Invalid or missing values will be ignored.

Scale

FLOAT ARRAY

OPTIONAL

Consecutively: SclX, SclY, SclZ. Invalid or missing values will be ignored.

IgnorePattern

BOOL ARRAY

OPTIONAL

Allows to ignore certain values from being applied. Consecutively: LocX, LocY, LocZ, RotX, RotY, RotZ, SclX, SclY, SclZ. Can be an array longer than 9 to apply different ignore patterns when targetting multiple objects. Default: all false

IsDelta

BOOL

OPTIONAL

Should given transform values be added to the exiting transform. Default: false

IsLocalTranslation

BOOL

OPTIONAL

If IsDelta, should we add location along local axis. Default: false

IsLocalRotation

BOOL

OPTIONAL

If IsDelta, should we add rotation along local axis. Default: true

IsUniformScale

BOOL

OPTIONAL

If IsDelta, should we keep scaling uniform. Default: false

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

ResetTransform

ResetTransform

Reset object's transform.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

ResetPattern

BOOL ARRAY

OPTIONAL

Consecutively: LocX, LocY, LocZ, RotX, RotY, RotZ, SclX, SclY, SclZ. Default: all false

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

SetRenderLayer

SetRenderLayer

Set actor's or component's render layer.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

RenderLayer

ENUM

Allowed values: BACKGROUND, FOREGROUND, AR_HOLDOUT, AR_SHADOW_CATCHER, VS_TRANSLUCENT, AR_TRANSLUCENT.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

ResetRenderLayer

ResetRenderLayer

Reset actor's or component's render layer.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

ResetObject

ResetObject

Reset all object's adjustments.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

ShouldResetComponents

BOOL

OPTIONAL

Default: true

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

SetActorLabel

SetActorLabel

Set actor's pretty name.

Params

ObjectSearch

STRING ARRAY

STRING

BroadcastUpdate

BOOL

OPTIONAL

NewLabel

STRING

AvalancheChannel

STRING

OPTIONAL

Object Spawning

A group of calls allowing for spawning and deleting actors and components from the scene.

SpawnActor

SpawnActor

Spawn a new actor.

Params

ActorType

STRING

For blueprint actors it should be a path to the asset (ex. /Engine/PixotopeTools/XRARLatencyCalibration/XRARSyncHandler) or a reference string (ex. /Script/Engine.Blueprint'/Engine/PixotopeTools/XRARLatencyCalibration/XRARSyncHandler.XRARSyncHandler'). For c++ actors it should be a name of the actor without the "A" prefix (ex. StaticMeshActor).

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

SpawnComponent

SpawnComponent

Add a component to an actor.

Params

ObjectSearch

STRING ARRAY

STRING

ComponentType

STRING

BroadcastUpdate

BOOL

OPTIONAL

DeleteSpawnedObject

DeleteSpawnedObject

Delete an existing actor. Works only for the actors previously spawned through the API.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value. API-spawned Actors only!

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

DeleteAllSpawnedActors

DeleteAllSpawnedActors

Delete all spawned actors.

Params

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

RenameSpawnedActor

RenameSpawnedActor

Rename a previously spawned actor.

Params

ObjectSearch

STRING ARRAY

STRING

NewName

STRING

BroadcastUpdate

BOOL

OPTIONAL

SetActorParent

SetActorParent

Set one actor to be another's parent.

No params.

Object Getting

Calls allowing for getting the information about the scene.

GetProperty

GetProperty

Send JSON describing a property to Data Hub.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

RecursionDepth

INT

OPTIONAL

Default: 1

PairObjectSearchesAndPropertyPaths

BOOL

OPTIONAL

Default: false

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

GetFunction

GetFunction

Send JSON describing a function to Data Hub.

Params

ObjectSearch

STRING ARRAY

STRING

FunctionName

STRING

AvalancheChannel

STRING

OPTIONAL

GetTransform

GetTransform

Send JSON describing actor's or component's relative transform to Data Hub.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

GetObject

GetObject

Send JSON describing an object to Data Hub.

Params

ObjectSearch

STRING ARRAY

STRING

RecursionDepth

OPTIONAL

Intersect

BOOL

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

GetWorld

GetWorld

Send JSON describing the currently active world to Data Hub.

Params

ShouldIncludeActors

BOOL

OPTIONAL

RecursionDepth

INT

OPTIONAL

Intersect

BOOL

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

Example 1 - Get World's metadata only.

Call (you send) Topic: { "Type": "Call", "Target": "XXX-Engine", "RespondTo": "XXX-Client", "Method": "GetWorld", "ID": "000" } Message: {"Params":{"ShouldIncludeActors":false}}

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "XXX-Client", "ExecutedOn": "XXX-Engine", "Method": "GetWorld", "ID": "000" } Message: { "Result": [ { "World": { "Name": "LVL_PixotopeVSSample", "PrettyName": "LVL_PixotopeVSSample", "Type": "Editor", "CompositingMode": "Internal", "IsDirty": false } } ] }

Example 2 - Get a list of actors.

Call (you send) Topic: { "Type": "Call", "Target": "XXX-Engine", "RespondTo": "XXX-Client", "Method": "GetWorld", "ID": "000" } Message: { "Params": { "ShouldIncludeActors": true, "RecursionDepth": 0 } }

CallResult (you can receive, if subscribed) Topic: { "Type": "CallResult", "Target": "XXX-Client", "ExecutedOn": "XXX-Engine", "Method": "GetWorld", "ID": "000" } Message: { "Result": [ { "World": { "Name": "LVL_PixotopeVSSample", "PrettyName": "LVL_PixotopeVSSample", "Type": "Editor", "CompositingMode": "Internal", "IsDirty": false, "Actors": [ { "Name": "WorldSettings_1", "PrettyName": "WorldSettings1", "Type": "WorldSettings", "AdjustmentStatus": "ORIGINAL", "Visibility": true, "Mobility": "NO_TRANSFORM", "RenderLayer": "NONE" } ] } } ] }

GetGeometry

GetGeometry

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

CoordsAsMillimeterInts

OPTIONAL

Optionally send vertices as integers of millimeters, not floats of meters. Default: false

PrioritizeSimpleCollision

OPTIONAL

Optionally return all meshes in the form of a simple collsion mesh (ot bounding box if not available). Default: false

PrioritizeBoundingBox

OPTIONAL

Optionally return all meshes in the form of a bounding box. Default: false

MaxVerticesForLOD

OPTIONAL

Define a vertex limit above which the simple collision is returned. Unlimited by default. Default: -1

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

IsObjectSearchValid

IsObjectSearchValid

Checks if given ObjectSearch values correspond to any existing objects.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

Adjustments

Calls exposed by the Pixotope Engine's adjustment system.

GetPropertyAdjustmentStatus

GetPropertyAdjustmentStatus

Check if a particular property was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

GetVisibilityAdjustmentStatus

GetVisibilityAdjustmentStatus

Check if a particular object's visibility was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

GetMobilityAdjustmentStatus

GetMobilityAdjustmentStatus

Check if a particular object's mobility was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

GetTransformAdjustmentStatus

GetTransformAdjustmentStatus

Check if a particular object's transform was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

GetRenderLayerAdjustmentStatus

GetRenderLayerAdjustmentStatus

Check if a particular object's render layer was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

GetObjectAdjustmentStatus

GetObjectAdjustmentStatus

Check if a particular object was modified. Possible AdjustmentStatus values: UNKNOWN, DEFAULT, MODIFIED, SPAWNED, EDITOR.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

WasObjectSpawned

WasObjectSpawned

Check if a particular object was spawned with API.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

WasAnyObjectSpawned

WasAnyObjectSpawned

Check if any object was spawned.

No params.

WasAnythingModifed

WasAnythingModifed

Check if any objects, parameters or settings were modified in this world.

No params.

ForgetAllAdjustments

ForgetAllAdjustments

Remove all adjustments without reseting the state of the world.

No params.

RevertAllAdjustments

RevertAllAdjustments

Revert all adjustments applied to this world.

Params

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

PullAdjustments

PullAdjustments

Applies adjustments from store.

Params

Revert

BOOL

OPTIONAL

Revert all local adjustments before pulling. Default: true

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

ApplyAdjustmentsHierarchy

ApplyAdjustmentsHierarchy

Applies adjustments from parameter.

Params

HierarchyJson

JSON

BakeCommonAdjustments

BakeCommonAdjustments

Bakes common adjustments permanently into the world. Works in the editor mode only.

Params

Multimachine

BOOL

OPTIONAL

Default: true

TurnGroupIntoCommonAdjustments

TurnGroupIntoCommonAdjustments

Params

Multimachine

BOOL

OPTIONAL

Default: true

Cinematic

PlaySequences

PlaySequences

Play level or MD sequences.

Params

SublevelAssetPath

STRING

OPTIONAL

SequenceAssetPaths

STRING ARRAY

OPTIONAL

SequenceLabels

STRING ARRAY

OPTIONAL

SequenceNames

STRING ARRAY

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

StartAtTime

FLOAT

OPTIONAL

StartAtMark

STRING

OPTIONAL

EndAtTime

FLOAT

OPTIONAL

EndAtMark

STRING

OPTIONAL

LoopCount

INT

OPTIONAL

PlayMode

STRING

OPTIONAL

PlaybackSpeed

FLOAT

OPTIONAL

StopSequences

StopSequences

Stop level or MD sequences.

Params

SublevelAssetPath

STRING

OPTIONAL

Optional path of a streamed sublevel.

SequenceAssetPaths

STRING ARRAY

OPTIONAL

Path of the sequence asset to stop.

SequenceLabels

STRING ARRAY

OPTIONAL

Labels of the Motion Design sequence assets to stop.

SequenceNames

STRING ARRAY

OPTIONAL

Names of the Motion Design sequence assets to play.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

ContinueSequences

ContinueSequences

Continue MD sequences.

Params

SublevelAssetPath

STRING

OPTIONAL

Optional path of a streamed sublevel.

SequenceLabels

STRING ARRAY

OPTIONAL

Labels of the Motion Design sequence assets to stop.

SequenceNames

STRING ARRAY

OPTIONAL

Names of the Motion Design sequence assets to play.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

GetAvailableSequenceAssets

GetAvailableSequenceAssets

Returns a list of asset paths for available sequences.

No params.

OpenSequenceEditor

OpenSequenceEditor

Params

SublevelAssetPath

STRING

OPTIONAL

Optional path of a streamed sublevel.

SequenceAssetPath

STRING

OPTIONAL

Path of the sequence asset to open.

SequenceName

STRING

OPTIONAL

Names of the Motion Design sequence assets to open.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

Materials

GetAvailableMaterialParameterCollections

GetAvailableMaterialParameterCollections

Get available material parameter collection asset paths.

No params.

GetMaterialParameterCollection

GetMaterialParameterCollection

Get details for a material parameter collection.

Params

AssetPaths

STRING ARRAY

SetMaterialParameterCollection

SetMaterialParameterCollection

Set values on a material parameter collection.

Params

AssetPath

STRING

ScalarNames

STRING ARRAY

OPTIONAL

ScalarValues

FLOAT ARRAY

OPTIONAL

VectorNames

STRING ARRAY

OPTIONAL

VectorValues

FLOAT ARRAY

OPTIONAL

GetDynamicMaterialParameters

GetDynamicMaterialParameters

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

SetDynamicMaterialParameters

SetDynamicMaterialParameters

Params

ObjectSearch

STRING ARRAY

STRING

ScalarNames

STRING ARRAY

OPTIONAL

ScalarValues

FLOAT ARRAY

OPTIONAL

VectorNames

STRING ARRAY

OPTIONAL

VectorValues

FLOAT ARRAY

OPTIONAL

Latency Calibration

Calls exposed by the latency calibration plugin.

Latency.Calibrate

Latency.Calibrate

Initiate a latency calibration session

Params

ComponentOne of "Tracking", "Position", "Rotation", and "Lens". When equal to "Rotation" or "Lens" the editor text says to zoom or rotate the camera instead of move the camera. This might have more effect in the future. FD

STRING

OPTIONAL, DEFAULT "TRACKING"

MaxLagMaximum candidate lag

INT

OPTIONAL

InputBuffersHow many frames to accumulate before updating calibration

INT

OPTIONAL

SamplesHow many samples to use in this calibration

INT

OPTIONAL

Latency.Stop

Latency.Stop

Stop a latency calibration session Same return as the above Latency.Calibrate call if all goes well.

No params.

Tracking Mixer

Calls exposed by the tracking mixer plugin. The plugin exists to mix tracking sources.

GetLinkableCameras

GetLinkableCameras

Result: Has object with field "Cameras" holding a list of objects describing available cameras Pretty name is for display and not guaranteed to be unique, justlike objects in object panel. Name is unique name and guaranteed to be unique, just like objects in object panel. {"Result": { "Cameras": [ {"Name": "CineCameraActor_123", "PrettyName": "UserCameraName"}, {"Name": "CineCameraActor_456", "PrettyName": "CineCamera"} ]}}

No params.

Level

OpenLevel

OpenLevel

Load a new level without closing the project.

Params

LevelPath

STRING

Example: Levels/TestMap0

ReopenLevel

ReopenLevel

Reload the current level without closing the project.

No params.

SetSublevelVisibility

SetSublevelVisibility

Params

Visibility

BOOL

All

BOOL

OPTIONAL

AssetPath

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

LoadSublevel

LoadSublevel

Params

AssetPath

STRING

AvalancheChannel

STRING

OPTIONAL

UnloadSublevel

UnloadSublevel

Params

AssetPath

STRING

AvalancheChannel

STRING

OPTIONAL

SetCurrentSublevel

SetCurrentSublevel

Params

AssetPath

STRING

AvalancheChannel

STRING

OPTIONAL

Other

GetVersion

GetVersion

Returns Pixotope and Unreal Engine versions.

No params.

ExecuteConsoleCommand

ExecuteConsoleCommand

Execute a command in the engine console.

Params

Command

STRING

An engine console command to execute.

BroadcastUpdate

BOOL

OPTIONAL

Should Engine send an Update message for changed values? Default: true

GetCompositingMode

GetCompositingMode

Send the compositing mode of current world. Possible return values: Internal, External

No params.

Kill

Kill

Closes the engine straight away.

No params.

GetAutolayout

GetAutolayout

Feature under development.

Send a list of function descriptions that were marked for auto-layouting.

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

GetSpecialObjectMappings

GetSpecialObjectMappings

Get all the object names mapped to a certain object search tag.

Params

ObjectSearchTag

STRING

Pixotope object search tag. For example: post_process_handler.

GetAllSpecialObjectMappings

GetAllSpecialObjectMappings

Get all the object search tags with object names mapped to them.

No params.

BroadcastWorldUpdate

BroadcastWorldUpdate

Force a broadcast for a particular property.

Params

UpdateType

STRING

Only PropertyChanged supported for now.

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

SaveEditor

SaveEditor

Trigger saving dirty editor packages.

No params.

StartPIE

StartPIE

No params.

StopPIE

StopPIE

No params.

Undo

Undo

Undo the latest editor change. Works only in edit mode.

No params.

Redo

Redo

Redo the latest undone editor change. Works only in edit mode.

No params.

HighlightObject

HighlightObject

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

UnhighlightObject

UnhighlightObject

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

AvalancheChannel

STRING

OPTIONAL

Optionally target an avalanche world.

UnhighlightAllObjects

UnhighlightAllObjects

No params.

Focus

Focus

No params.

Minimize

Minimize

No params.

Restore

Restore

No params.

Refocus

Refocus

No params.

GetCurrentTimecode

GetCurrentTimecode

This call is scheduled for deprecation. Please subscribe to SystemInfo update instead.

Returns the current timecode if datahub is in synchronized mode. Calling this with a NoSync param set to true is recommended, to avoid the message being delayed.

No params.

GetAssetThumbnails

GetAssetThumbnails

Params

AssetPaths

STRING ARRAY

AsJPEG

BOOL

OPTIONAL

AsBMP

BOOL

OPTIONAL

GetViewportShot

GetViewportShot

Params

Mult

FLOAT

Screenshot resolution multiplier

IsReady

IsReady

No params.

Crash

Crash

Will crash the engine. Useful for testing. Won't work in Live.

No params.

SpawnBrowserTab

SpawnBrowserTab

Spawns a new browser tab with the given URL.

No params.

GetSelectedActors

GetSelectedActors

No params.

SelectActors

SelectActors

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

DeselectAllActors

DeselectAllActors

No params.

HighlightProperty

HighlightProperty

Params

ObjectSearch

STRING ARRAY

STRING

Unique name of the target Actor, or Actor.Component, or a special_tag, or an array of multiple object searches. Hover over the star left of your property in the Engine to learn the desired value.

PropertyPath

STRING ARRAY

STRING

Dot-separated path to the targeted property, or an array of such paths. Hover over the star left of your property in the Engine to learn the desired value.

Batch

Batch

#Param: Packages [json object array]

No params.

UnpackZip

UnpackZip

Params

ZipPath

STRING

Avalanche (Motion Design)

Requires Pixotope Players plugin to be enabled.

AvalancheGetAvailableAssets

AvalancheGetAvailableAssets

Params

IncludeThumbnails

BOOL

OPTIONAL

default: false

AvalancheGetAssetDetails

AvalancheGetAssetDetails

Params

AssetPath

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

AvalancheGetChannelDetails

AvalancheGetChannelDetails

Params

AvalancheChannel

STRING

AvalancheGetAllChannelDetails

AvalancheGetAllChannelDetails

No params.

AvalancheTakeIn

AvalancheTakeIn

Params

AssetPath

STRING

AvalancheChannel

STRING

ControllerIds

STRING ARRAY

OPTIONAL

ControllerValues

STRING ARRAY

OPTIONAL

PropertyIds

STRING ARRAY

OPTIONAL

PropertyValues

STRING ARRAY

OPTIONAL

AvalancheTakeOut

AvalancheTakeOut

Params

AssetPath

STRING

AvalancheChannel

STRING

AvalancheAddEmptySequence

AvalancheAddEmptySequence

Params

SequenceLabel

STRING

AvalancheChannel

STRING

OPTIONAL

AddChangeMark

BOOL

OPTIONAL

AvalancheRemoveSequence

AvalancheRemoveSequence

Params

SequenceLabel

STRING

AvalancheChannel

STRING

OPTIONAL

Remote Control

Requires Pixotope Players plugin.

GetRemoteControlPresets

GetRemoteControlPresets

No params.

GetRemoteControlPreset

GetRemoteControlPreset

Params

PresetId

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

SetRemoteControlControllers

SetRemoteControlControllers

Params

PresetId

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

ControllerIds

STRING ARRAY

ControllerValues

STRING ARRAY

SetRemoteControlProperties

SetRemoteControlProperties

Params

PresetId

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

PropertyIds

STRING ARRAY

PropertyValues

STRING ARRAY

SetRemoteControlCustomPropertyIds

SetRemoteControlCustomPropertyIds

Params

PresetId

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

PropertyIds

STRING ARRAY

NewCustomPropertyIds

STRING ARRAY

SetRemoteControlGroupOrder

SetRemoteControlGroupOrder

Params

GroupId

STRING

NewOrder

STRING ARRAY

PresetId

STRING

OPTIONAL

AvalancheChannel

STRING

OPTIONAL

Advanced RPC Usage

Many commands take ObjectSearch as their first argument. It allows to target world's actors, components, and some other special objects with the commands. Typically, in order to target actors, one can just type a unique name of this actor. To find out the unique name of an actor, move the mouse over the label of the actor in World Outliner in the Editor, and the unique name will be shown in the tooltip.
ObjectSearch also accepts certain predefined names for targeting special objects:

  • compositing_mesh

  • light_component

  • light_actor

  • compositing_plane

  • material_handler

  • post_process_handler

  • camera_root

  • tracked_camera

  • world_settings

  • level_blueprint

  • bpe_manager

Otherwise the object search will by default look for the first actor in the scene of the given name.
Alternatively, it is possible to access the following advanced search modes:

  • . (component search, by adding a dot after actors nameand following it with the component name, ex. SomeActor0.SomeComponent42)

  • all_of_type (followed by a type name will target all actors of a given type currently existing in the scene)

  • first_of_type (followed by a type name will target the first actor of a given type currently existing in the scene)

  • default_object (followed by a type name will target the default object of that type)

selected_actors (will target actors currently selected in editor)

Property Path

PropertyPath parameter, required by many calls, is used to target certain properties(fields) on objects. For properties existing directly in particular object's class the property path will be just this properties' name. However for children of struct properties path will consist of consecutive property names separated with a dot. For example: Parameters.Position.X (targeting float X in Position vector in Parameters struct).

Ignore Property Value

In case that we are sending SetProperty or SetSettings we might sometimes want our call to be ignored for particular properties. To achieve that pass :::ignore::: string as a value.

Call Responses

Every executed call responds with a CallResult message that holds either relevant data or an error message.

Call Result

Every successful call result coming from the Engine holds a JSON array field (called Result). It is an array because almost any executed Call can be scaled to target muliple objects.

Error

If a call fails, the call result message holds an Error field instead of Result. This field can inform on what was the reason for the failure.

Update

Certain calls can optionally broadcast meaningful Update messages throughout the network. It can be useful for keeping otherwise uninvolved client software up to date with what's happening in the engine.


Adding Adjustments

Pixotope Engine has a feature allowing all the remote changes done in Live or Live Preview to be saved and later applied on start again. In order to add your Call as an adjustment add to it a param named IsAdjustment, set to true.

Filtering Results

Often a call will return too much data, and that might take too long parsing or be just unpleasant to work with. In order to filter only the fields you are interested in from your CallResult add a param named ResultFilter, with a array of json fields you want to be sent. Dot-separated paths to particular fields are supported.
For example: ResultFilter=["Object.Components.Name"] would result in only component names being sent on GetObject.

Avoiding Frame Drops

Add an optional param ParamSplitBetweenFrames to your call to configure on which array param should we try to split between and execute every element separately in order to avoid dropping frames. This will efectively treat every element of that array param together with other params as a separate API call, but it will combine the results into a single result message.

Avoiding Synchronization Delays

It is possible to bypass synchronization (and the resulting delay) for select Calls by adding a param NoSync set to true.