editor.rc
Remote Control passthrough to any BlueprintCallable function or BlueprintVisible property on any UObject
editor.rc.call
Invoke any BlueprintCallable function on any UObject via RemoteControl's ResolveCall/InvokeCall pipeline.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
objectPath | string | Yes | Full path to the target UObject |
functionName | string | Yes | Name of the BlueprintCallable function to invoke |
parameters | object | No | Key-value pairs matching the function's input parameters |
generateTransaction | boolean | No | If true, wraps the call in an undo transaction (default: false) |
Returns:
| Name | Type | Description |
|---|---|---|
success | boolean | Always true on success |
objectPath | string | The resolved object path |
functionName | string | The function that was called |
returnValue | string | The return value exported as text (if function has a return type) |
outParams | object | Any output parameters as key-value string pairs (if function has out params) |
Example Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "editor.rc.call",
"params": {
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.StaticMeshActor_0.StaticMeshComponent0",
"functionName": "SetVisibility",
"parameters": {
"bNewVisibility": true,
"bPropagateToChildren": true
},
"generateTransaction": true
}
} Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.StaticMeshActor_0.StaticMeshComponent0",
"functionName": "SetVisibility"
}
} editor.rc.property
Read or write any BlueprintVisible property on any UObject. Omit value to read; include value to write.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
objectPath | string | Yes | Full path to the target UObject |
propertyName | string | Yes | Name of the property to read or write |
value | any | No | Value to set. Omit to read. Strings are parsed via ImportText; numbers and booleans are converted. |
generateTransaction | boolean | No | If true, wraps the write in an undo transaction (default: false) |
Returns (read):
| Name | Type | Description |
|---|---|---|
success | boolean | Always true on success |
objectPath | string | The resolved object path |
propertyName | string | The property that was read |
value | string | The property value exported as text |
propertyType | string | The C++ type of the property |
action | string | "read" |
Returns (write):
| Name | Type | Description |
|---|---|---|
success | boolean | Always true on success |
objectPath | string | The resolved object path |
propertyName | string | The property that was written |
action | string | "write" |
Example Request (read):
{
"jsonrpc": "2.0",
"id": 1,
"method": "editor.rc.property",
"params": {
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.PointLight_0.PointLightComponent0",
"propertyName": "Intensity"
}
} Example Response (read):
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.PointLight_0.PointLightComponent0",
"propertyName": "Intensity",
"value": "5000.000000",
"propertyType": "float",
"action": "read"
}
} Example Request (write):
{
"jsonrpc": "2.0",
"id": 2,
"method": "editor.rc.property",
"params": {
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.PointLight_0.PointLightComponent0",
"propertyName": "Intensity",
"value": "10000.0",
"generateTransaction": true
}
} Example Response (write):
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"success": true,
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.PointLight_0.PointLightComponent0",
"propertyName": "Intensity",
"action": "write"
}
} editor.rc.describe
Get metadata about a UObject -- its class, all BlueprintCallable functions, and all BlueprintVisible properties.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
objectPath | string | Yes | Full path to the UObject to describe |
Returns:
| Name | Type | Description |
|---|---|---|
objectPath | string | Resolved full path of the object |
className | string | Class name (e.g. PointLightComponent) |
classPath | string | Full class path |
functions | array | Array of BlueprintCallable function descriptors |
functionCount | number | Number of BC functions |
properties | array | Array of BlueprintVisible property descriptors |
propertyCount | number | Number of visible properties |
Function descriptor fields:
| Name | Type | Description |
|---|---|---|
name | string | Function name |
flags | array | Function flags (Const, Static, Pure, Net) |
parameters | array | Input parameters (name, type, isOut, isOptional) |
returnType | string | Return type or "void" |
Property descriptor fields:
| Name | Type | Description |
|---|---|---|
name | string | Property name |
type | string | C++ type |
readOnly | boolean | True if BlueprintReadOnly |
editAnywhere | boolean | True if EditAnywhere |
category | string | Category metadata (if set) |
Example Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "editor.rc.describe",
"params": {
"objectPath": "/Game/Maps/MyLevel.MyLevel:PersistentLevel.PointLight_0.PointLightComponent0"
}
} Example Response (abbreviated):
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"objectPath": "/Game/Maps/MyLevel.MyLevel:...",
"className": "PointLightComponent",
"classPath": "/Script/Engine.PointLightComponent",
"functions": [
{
"name": "SetIntensity",
"flags": [],
"parameters": [
{"name": "NewIntensity", "type": "float", "isOut": false, "isOptional": false}
],
"returnType": "void"
}
],
"functionCount": 42,
"properties": [
{
"name": "Intensity",
"type": "float",
"readOnly": false,
"editAnywhere": true,
"category": "Light"
}
],
"propertyCount": 15
}
}