Skip to main content
Skip table of contents

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 STRINGUnique 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 STRINGDot-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 ANYThe 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.
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
ApplyClamp BOOL OPTIONALShould we apply clamp values defined in property's metadata. Default: false
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 STRINGUnique 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 STRINGDot-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.
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
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
SetVisibility

SetVisibility

Set actor's / component's visibility.

Params
ObjectSearch STRING ARRAY STRING
BroadcastUpdate BOOL OPTIONAL
Visibility BOOL
ResetVisibility

ResetVisibility

Reset actor's / component's visibility.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALShould Engine send an Update message for changed values? Default: true
SetMobility

SetMobility

Set actor's / component's mobility.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 ENUMAllowed values: NO_TRANSFORM, STATIC, STATIONARY, or MOVABLE
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
ResetMobility

ResetMobility

Reset actor's / component's mobility.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALShould Engine send an Update message for changed values? Default: true
SetTransform

SetTransform

Set actor's or component's relative transform.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALConsecutively: 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 OPTIONALConsecutively: LocX, LocY, LocZ. Invalid or missing values will be ignored.
Rotation FLOAT ARRAY OPTIONALConsecutively: RotX, RotY, RotZ. Invalid or missing values will be ignored.
Scale FLOAT ARRAY OPTIONALConsecutively: SclX, SclY, SclZ. Invalid or missing values will be ignored.
IgnorePattern BOOL ARRAY OPTIONALAllows 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 OPTIONALShould given transform values be added to the exiting transform. Default: false
IsLocalTranslation BOOL OPTIONALIf IsDelta, should we add location along local axis. Default: false
IsLocalRotation BOOL OPTIONALIf IsDelta, should we add rotation along local axis. Default: true
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
ResetTransform

ResetTransform

Reset object's transform.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALConsecutively: LocX, LocY, LocZ, RotX, RotY, RotZ, SclX, SclY, SclZ. Default: all false
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
SetRenderLayer

SetRenderLayer

Set actor's or component's render layer.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALShould Engine send an Update message for changed values? Default: true
RenderLayer ENUMAllowed values: BACKGROUND, FOREGROUND, AR_HOLDOUT, AR_SHADOW_CATCHER, VS_TRANSLUCENT, AR_TRANSLUCENT.
ResetRenderLayer

ResetRenderLayer

Reset actor's or component's render layer.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALShould Engine send an Update message for changed values? Default: true
ResetObject

ResetObject

Reset all object's adjustments.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 OPTIONALDefault: true
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true

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
BroadcastUpdate BOOL OPTIONAL
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 STRINGUnique 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 OPTIONALShould Engine send an Update message for changed values? Default: true
DeleteAllSpawnedActors

DeleteAllSpawnedActors

Delete all spawned actors.

Params
BroadcastUpdate BOOL OPTIONALShould 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 STRINGUnique 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 STRINGDot-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 OPTIONALDefault: 1
ForceExposeChildren BOOL OPTIONALDefault: true
PairObjectSearchesAndPropertyPaths BOOL OPTIONALDefault: false
GetFunction

GetFunction

Send JSON describing a function to Data Hub.

Params
ObjectSearch STRING ARRAY STRING
FunctionName STRING
GetTransform

GetTransform

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

Params
ObjectSearch STRING ARRAY STRINGUnique 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.
GetObject

GetObject

Send JSON describing an object to Data Hub.

Params
ObjectSearch STRING ARRAY STRINGUnique 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.
RecursionDepth OPTIONALDefault: 1
ForceExposeProperties OPTIONALDefault: false
ForceExposeFunctions OPTIONALDefault: false
GetWorld

GetWorld

Send JSON describing the currently active world to Data Hub.

Params
ShouldIncludeActors BOOL OPTIONALDefault: true
RecursionDepth INT OPTIONALDefault: 1
ForceExposeProperties OPTIONALDefault: false
ForceExposeFunctions OPTIONALDefault: false
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" } ] } } ] }

Exposing

Calls allowing fine-tune what is send from the scene in response to get calls.

ExposeProperty

ExposeProperty

Exposes a property to be visible as when calling GetObject.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 STRINGDot-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.
ShouldExposePerObject BOOL OPTIONALDefault: false
ShouldExposePerClass BOOL OPTIONALDefault: false
IsPropertyExposed

IsPropertyExposed

Informs if a property is visible to GetObject call and how it is exposed.

Params
ObjectSearch STRING ARRAY STRINGUnique 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 STRINGDot-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.
GetAllExposedProperties

GetAllExposedProperties

This will return only per class and per object user exposed properties. The c++ exposed ones will not show up.

Returns all properties explicitly exposed to API.

Params
IncludePropertyDetails BOOL OPTIONALDefault: false
RecursionDepth INT OPTIONALDefault: 1
ForceExposeChildren BOOL OPTIONALDefault: true
ExposeFunction

ExposeFunction

Exposes a fuction per class to be visible as when calling GetObject.

Params
FunctionName STRING
ObjectType OPTIONAL STRING
ObjectSearch OPTIONAL STRING
ShouldExposePerClass BOOL
IsFunctionExposed

IsFunctionExposed

Informs if a function is visible to GetObject calls.

Params
FunctionName STRING
ObjectType OPTIONAL STRING
ObjectSearch OPTIONAL STRING
GetAllExposedFunctions

GetAllExposedFunctions

Returns all functions explicitly exposed to API.

No params.

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 STRINGUnique 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 STRINGDot-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 STRINGUnique 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 STRINGUnique 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 STRINGUnique 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 STRINGUnique 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 STRINGUnique 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 STRINGUnique 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.
ClearAllAdjustments

ClearAllAdjustments

Remove all adjustments without reseting the state of the world.

No params.
ResetAllAdjustments

ResetAllAdjustments

Reset all adjustments applied to this world.

Params
BroadcastUpdate BOOL OPTIONALShould Engine send an Update message for changed values? Default: true
BakeAllAdjustments

BakeAllAdjustments

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

No params.

Cinematic

PlaySequence

PlaySequence

Play a given level sequence.

Params
AssetPath STRINGPath of the sequence asset to play.
AdditionalLoops INTEGER OPTIONALNumber of additional loops to play. Set to -1 to loop infinitely. Default: 0
StopSequence

StopSequence

Stop a given level sequence.

Params
AssetPath STRINGPath of the sequence asset to stop.
GetAvailableSequences

GetAvailableSequences

Returns a list of asset paths for available sequences.

No params.

Other

GetVersion

GetVersion

Returns Pixotope and Unreal Engine versions.

No params.
ExecuteConsoleCommand

ExecuteConsoleCommand

Execute a command in the engine console.

Params
Command STRINGAn engine console command to execute.
BroadcastUpdate BOOL OPTIONALShould 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.
OpenLevel

OpenLevel

Load a new level without closing the project.

Params
LevelPath STRINGExample: Levels/TestMap0
ReopenLevel

ReopenLevel

Reload the current level without closing the project.

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 STRINGUnique 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 STRINGPixotope 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 STRINGOnly PropertyChanged supported for now.
ObjectSearch STRING ARRAY STRINGUnique 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 STRINGDot-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.
SaveEditor

SaveEditor

Trigger saving dirty editor packages.

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 STRINGUnique 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.
UnhighlightObject

UnhighlightObject

Params
ObjectSearch STRING ARRAY STRINGUnique 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.
UnhighlightAllObjects

UnhighlightAllObjects

No params.
Focus

Focus

No params.
Minimize

Minimize

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.

Advanced RPC Usage

Object Search

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)

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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.