Skip to content

EditorToolset.EditorAppToolset

Tools for querying and modifying Unreal Editor state: console variables, asset imaging, actor and asset selection, viewport camera, content browser navigation, and Play-In-Editor session control.

21 tool(s).

EditorToolset.EditorAppToolset.CaptureAssetImage

Renders a thumbnail for the specified asset (e.g. static meshes, skeletal meshes, skeletons, animations, montages, materials, textures).

Input schema

{
  "properties": {
    "assetPath": {
      "description": "The path to the asset, e.g. '/Game/Meshes/SM_Cube'.",
      "type": "string"
    }
  },
  "required": [
    "assetPath"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "An image of the asset.",
      "properties": {
        "data": {
          "description": "The image data encoded as a base64 string.",
          "type": "string"
        },
        "mimeType": {
          "description": "The format the image is encoded in.",
          "type": "string"
        }
      },
      "required": [
        "mimeType",
        "data"
      ],
      "title": "ToolsetImage",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.CaptureEditorImage

Captures an image of the entire editor application as the user sees it.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "An image of editor windows as they appear on the users' desktop.",
      "properties": {
        "data": {
          "description": "The image data encoded as a base64 string.",
          "type": "string"
        },
        "mimeType": {
          "description": "The format the image is encoded in.",
          "type": "string"
        }
      },
      "required": [
        "mimeType",
        "data"
      ],
      "title": "ToolsetImage",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.CaptureViewport

Captures the level viewport with optional annotations.

Annotations rendering overlays a projected 3D world-space grid plus name + position labels on visible actors. The grid is drawn at a configurable ground-plane Z and projected through the camera, with coordinate numbers at intersections (shown in meters). Each labeled actor gets a crosshair at its projected screen position with a leader-line callout placed to avoid overlap. This gives a vision-capable agent spatial awareness: it can reference grid coordinates to direct placement and identify scene contents by label.

Input schema

{
  "properties": {
    "annotations": {
      "description": "Optional annotation overlay configuration. Only use this when you need the information in order to perform spatial actions.",
      "properties": {
        "classFilter": {
          "description": "If non-null, only actors of this class (or a subclass) are labeled.",
          "properties": {
            "refPath": {
              "description": "The reference stored as a soft path string.",
              "type": "string"
            }
          },
          "required": [
            "refPath"
          ],
          "title": "Class@/Script/Engine.Actor",
          "type": "object"
        },
        "gridExtent": {
          "description": "How far the grid extends from the origin in each axis (cm).",
          "type": "number"
        },
        "gridHeight": {
          "description": "Height of the ground-plane grid in world space.",
          "type": "number"
        },
        "gridSpacing": {
          "description": "World-space distance between grid lines (cm). Pass 0 to disable the grid overlay while still drawing actor labels.",
          "type": "number"
        },
        "maxLabelDistance": {
          "description": "Maximum distance (cm) for labeling actors and grid coordinates. Pass 0 to disable actor labels while still drawing the grid.",
          "type": "number"
        },
        "maxLabels": {
          "description": "Maximum number of actor labels to draw. Nearest-to-camera wins. Don't draw too many or the image becomes incoherent.",
          "type": "integer"
        }
      },
      "required": [
        "gridSpacing",
        "gridExtent",
        "gridHeight",
        "maxLabelDistance",
        "classFilter",
        "maxLabels"
      ],
      "title": "ViewportAnnotationConfig",
      "type": "object"
    },
    "bShowUI": {
      "default": false,
      "description": "If false (default), editor UI overlays such as transform gizmos and selection outlines are hidden in the captured image. Set true to capture exactly what's on screen, gizmos and all.",
      "type": "boolean"
    },
    "captureTransform": {
      "description": "Optional pose to capture from. If unset, uses the viewport's current camera.",
      "properties": {
        "location": {
          "description": "The world-space location.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        },
        "rotation": {
          "description": "The world-space rotation.",
          "properties": {
            "pitch": {
              "description": "Pitch (degrees) around Y axis",
              "type": "number"
            },
            "roll": {
              "description": "Roll (degrees) around X axis",
              "type": "number"
            },
            "yaw": {
              "description": "Yaw (degrees) around Z axis",
              "type": "number"
            }
          },
          "required": [
            "pitch",
            "yaw",
            "roll"
          ],
          "title": "Rotator",
          "type": "object"
        },
        "scale": {
          "description": "The scale.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        }
      },
      "title": "ToolsetTransform",
      "type": "object"
    }
  },
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The captured image and associated metadata.",
      "properties": {
        "cameraFOV": {
          "description": "Level viewport camera field of view, in degrees.",
          "type": "number"
        },
        "cameraLocation": {
          "description": "Level viewport camera location (world space, cm).",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        },
        "cameraRotation": {
          "description": "Level viewport camera rotation (world space).",
          "properties": {
            "pitch": {
              "description": "Pitch (degrees) around Y axis",
              "type": "number"
            },
            "roll": {
              "description": "Roll (degrees) around X axis",
              "type": "number"
            },
            "yaw": {
              "description": "Yaw (degrees) around Z axis",
              "type": "number"
            }
          },
          "required": [
            "pitch",
            "yaw",
            "roll"
          ],
          "title": "Rotator",
          "type": "object"
        },
        "grid": {
          "description": "Grid parameters used for the annotation. SpacingCm is zero when the grid was disabled.",
          "properties": {
            "extentCm": {
              "description": "How far the grid extends from the origin in each axis (cm).",
              "type": "number"
            },
            "height": {
              "description": "Height of the ground-plane grid in world space.",
              "type": "number"
            },
            "spacingCm": {
              "description": "World-space distance between grid lines (cm). Zero if the grid was disabled.",
              "type": "number"
            }
          },
          "required": [
            "spacingCm",
            "extentCm",
            "height"
          ],
          "title": "ViewportGrid",
          "type": "object"
        },
        "image": {
          "description": "The captured screenshot (PNG encoded as base64). Empty on failure. Pixel dimensions are available via FToolsetImage.",
          "properties": {
            "data": {
              "description": "The image data encoded as a base64 string.",
              "type": "string"
            },
            "mimeType": {
              "description": "The format the image is encoded in.",
              "type": "string"
            }
          },
          "required": [
            "mimeType",
            "data"
          ],
          "title": "ToolsetImage",
          "type": "object"
        },
        "labeledActors": {
          "description": "One entry per labeled actor in the image.",
          "items": {
            "properties": {
              "class": {
                "description": "Class of the actor.",
                "properties": {
                  "refPath": {
                    "description": "The reference stored as a soft path string.",
                    "type": "string"
                  }
                },
                "required": [
                  "refPath"
                ],
                "title": "Class@/Script/Engine.Actor",
                "type": "object"
              },
              "distanceCm": {
                "description": "Distance from the camera to the actor origin (cm).",
                "type": "number"
              },
              "label": {
                "description": "Display label that was drawn on the image (actor label + position in meters). Not guaranteed unique.",
                "type": "string"
              },
              "name": {
                "description": "Canonical, level-unique name of the actor (AActor::GetName). Use this to reference the actor later.",
                "type": "string"
              },
              "screenPosition": {
                "description": "Screen-space pixel position of the actor origin in the returned image.",
                "properties": {
                  "x": {
                    "type": "integer"
                  },
                  "y": {
                    "type": "integer"
                  }
                },
                "required": [
                  "x",
                  "y"
                ],
                "title": "IntPoint",
                "type": "object"
              },
              "worldLocation": {
                "description": "World-space location of the actor origin (cm).",
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  },
                  "z": {
                    "type": "number"
                  }
                },
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "title": "Vector",
                "type": "object"
              }
            },
            "required": [
              "name",
              "label",
              "class",
              "screenPosition",
              "worldLocation",
              "distanceCm"
            ],
            "title": "ViewportLabel",
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "image",
        "cameraLocation",
        "cameraRotation",
        "cameraFOV",
        "grid",
        "labeledActors"
      ],
      "title": "ViewportCapture",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.FocusOnActors

Repositions the level editor camera to focus on the specified actors. Cannot be called while PIE is active.

Input schema

{
  "properties": {
    "actors": {
      "description": "The actors to focus the level camera on.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/Engine.Actor",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "actors"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetCameraTransform

Returns the position and rotation of the level viewport camera.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The transform for the level viewport camera.",
      "properties": {
        "location": {
          "description": "The world-space location.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        },
        "rotation": {
          "description": "The world-space rotation.",
          "properties": {
            "pitch": {
              "description": "Pitch (degrees) around Y axis",
              "type": "number"
            },
            "roll": {
              "description": "Roll (degrees) around X axis",
              "type": "number"
            },
            "yaw": {
              "description": "Yaw (degrees) around Z axis",
              "type": "number"
            }
          },
          "required": [
            "pitch",
            "yaw",
            "roll"
          ],
          "title": "Rotator",
          "type": "object"
        },
        "scale": {
          "description": "The scale.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        }
      },
      "title": "ToolsetTransform",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetContentBrowserPath

Gets the current path of the active content browser.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The path to the folder currently shown in the content browser.",
      "type": "string"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetOpenAssets

Gets the list of assets currently open in asset editors.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "A list of package paths to the assets open in asset editors.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetSelectedActors

Gets the currently selected actors in the level editor.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "A list of the currently selected actors.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/Engine.Actor",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetSelectedAssets

Gets the list of assets selected in the content browser.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "A list of package paths to the assets selected in the content browser.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.GetVisibleActors

Returns all actors in the current level whose bounds intersect the viewport frustum.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The actors that are at least partially in view.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/Engine.Actor",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.IsPIERunning

Returns whether a Play In Editor session is currently running.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "True if PIE is active, false otherwise.",
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.OpenEditorForAsset

Opens an asset editor for the specified asset.

Input schema

{
  "properties": {
    "assetPath": {
      "description": "The path to the asset to open, e.g. '/Game/Meshes/SM_Cube'.",
      "type": "string"
    }
  },
  "required": [
    "assetPath"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.ScreenCoordsToWorld

Finds the world position of the nearest solid object at a given set of normalized view space coords.

Input schema

{
  "properties": {
    "coords": {
      "description": "The normalized screen-space coordinates to trace from.",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "title": "Vector2D",
      "type": "object"
    },
    "traceDistance": {
      "default": 100000,
      "description": "The maximum distance to trace within the scene.",
      "type": "number"
    }
  },
  "required": [
    "coords"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The world-space coordinates of the intersection point.",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        },
        "z": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y",
        "z"
      ],
      "title": "Vector",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.SearchCVars

Finds all console variables that contain a given name.

Input schema

{
  "properties": {
    "name": {
      "description": "The partial or full name to search for.",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "A JSON dict with info about matching cvars.",
      "type": "string"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.SelectActors

Selects the specified actors in the current scene.

Input schema

{
  "properties": {
    "actors": {
      "description": "The actors to select.",
      "items": {
        "properties": {
          "refPath": {
            "description": "The reference stored as a soft path string.",
            "type": "string"
          }
        },
        "required": [
          "refPath"
        ],
        "title": "/Script/Engine.Actor",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "actors"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.SelectAssets

Selects the specified assets in the content browser. Completes once the content browser has applied the selection.

Input schema

{
  "properties": {
    "assetPaths": {
      "description": "The package paths of the assets to select.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "assetPaths"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Always null",
      "type": "null"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.SetCameraTransform

Sets the position and rotation of the level viewport camera.

Input schema

{
  "properties": {
    "transform": {
      "description": "The transform to apply to the viewport camera.",
      "properties": {
        "location": {
          "description": "The world-space location.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        },
        "rotation": {
          "description": "The world-space rotation.",
          "properties": {
            "pitch": {
              "description": "Pitch (degrees) around Y axis",
              "type": "number"
            },
            "roll": {
              "description": "Roll (degrees) around X axis",
              "type": "number"
            },
            "yaw": {
              "description": "Yaw (degrees) around Z axis",
              "type": "number"
            }
          },
          "required": [
            "pitch",
            "yaw",
            "roll"
          ],
          "title": "Rotator",
          "type": "object"
        },
        "scale": {
          "description": "The scale.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "z": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "title": "Vector",
          "type": "object"
        }
      },
      "title": "ToolsetTransform",
      "type": "object"
    }
  },
  "required": [
    "transform"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.SetContentBrowserPath

Navigates the active content browser to the specified folder path.

Input schema

{
  "properties": {
    "path": {
      "description": "The internal path to navigate to, e.g. '/Game/Meshes'.",
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.StartPIE

Starts a Play-In-Editor or Simulate-In-Editor session using the current level. Completes after the engine fires PostPIEStarted (session fully started, BeginPlay called) and Options.WarmupSeconds have elapsed, giving project- specific initialization (services, authentication, plugin warmup) time to settle before the agent inspects state or logs. Raises an error if a play session is already running.

Input schema

{
  "properties": {
    "options": {
      "description": "Session configuration: PIE vs Simulate, play mode, optional spawn transform override, warmup duration. See FPIESessionOptions.",
      "properties": {
        "bSimulate": {
          "description": "If true, starts Simulate-In-Editor: the world ticks and AI / physics /\nsubsystems run, but no player pawn is spawned or possessed. Useful for\nobserving initialization, autonomous agents, and physics state\nindependently of player input.\nIf false (default), starts standard PIE with the player pawn possessed.",
          "type": "boolean"
        },
        "playMode": {
          "description": "Editor play mode (in-viewport, floating window, etc.). Out-of-process\nmodes (NewProcess, MobilePreview, VR, QuickLaunch) are downgraded to\nPlayMode_InViewPort with a log warning since this tool requires\nin-process PIE for delegate-based completion tracking.",
          "enum": [
            "PlayMode_InViewPort",
            "PlayMode_InEditorFloating",
            "PlayMode_InMobilePreview",
            "PlayMode_InTargetedMobilePreview",
            "PlayMode_InVulkanPreview",
            "PlayMode_InNewProcess",
            "PlayMode_InVR",
            "PlayMode_Simulate",
            "PlayMode_QuickLaunch",
            "PlayMode_Count"
          ],
          "title": "EPlayModeType",
          "type": "string"
        },
        "startTransform": {
          "description": "Optional spawn override. When set, the player pawn (PIE) or simulation\nreference (Simulate) spawns at this transform instead of the level's\nPlayerStart / GameMode default. To spawn at the editor viewport camera,\nretrieve the current editor camera properties and use the result here.",
          "properties": {
            "location": {
              "description": "The world-space location.",
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "z": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y",
                "z"
              ],
              "title": "Vector",
              "type": "object"
            },
            "rotation": {
              "description": "The world-space rotation.",
              "properties": {
                "pitch": {
                  "description": "Pitch (degrees) around Y axis",
                  "type": "number"
                },
                "roll": {
                  "description": "Roll (degrees) around X axis",
                  "type": "number"
                },
                "yaw": {
                  "description": "Yaw (degrees) around Z axis",
                  "type": "number"
                }
              },
              "required": [
                "pitch",
                "yaw",
                "roll"
              ],
              "title": "Rotator",
              "type": "object"
            },
            "scale": {
              "description": "The scale.",
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "z": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y",
                "z"
              ],
              "title": "Vector",
              "type": "object"
            }
          },
          "title": "ToolsetTransform",
          "type": "object"
        },
        "warmupSeconds": {
          "description": "Seconds to wait after the engine fires PostPIEStarted (BeginPlay called)\nbefore this call completes. Heuristic for project-specific initialization\n(services, authentication, plugin warmup) to settle before the agent\ninspects state or logs. Pass 0 to complete as soon as PIE is up.",
          "type": "number"
        }
      },
      "required": [
        "bSimulate",
        "playMode",
        "warmupSeconds"
      ],
      "title": "PIESessionOptions",
      "type": "object"
    }
  },
  "required": [
    "options"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Always null",
      "type": "null"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.StopPIE

Stops the currently running play session (PIE or Simulate). Raises an error if no play session is running.

Input schema

{
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Always null",
      "type": "null"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

EditorToolset.EditorAppToolset.WorldPosToScreenCoords

Converts a world-space position into normalized screen space based on the editor viewport camera.

Input schema

{
  "properties": {
    "position": {
      "description": "The world space position to convert.",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        },
        "z": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y",
        "z"
      ],
      "title": "Vector",
      "type": "object"
    }
  },
  "required": [
    "position"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "The normalized screen-space coordinates for the position if it is in view.",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "title": "Vector2D",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}