The Viz Arc Engine Service is a local control service that runs on the same machine as a Viz Engine and/or an Unreal Engine. It exposes an API to start, stop, query, and send commands to those engines, and to drive the Preview Studio process.
The service listens on port 5644 by default (configurable via the Windows registry value HKLM\SOFTWARE\vizrt\Viz Arc\UELoaderServerPort). All endpoints are served under /api/v1/. An interactive Swagger UI with full schemas and live "Try it out" support is available at http://<engine-host>:5644/swagger.
Intended audience: This API is intended for Viz Arc itself, automation systems, and custom integrations running on the local network.
InstalledVersions
Returns the Viz Engine and Unreal Engine installations detected on the local machine. Sources:
Viz Engine —
HKLM\SOFTWARE\vizrt\VizEngine.Unreal Engine —
HKLM\SOFTWARE\EpicGames\Unreal Engine\<version>, cross-referenced withHKCU\SOFTWARE\Epic Games\Unreal Engine\Buildsfor the build UUID.
GET /api/v1/InstalledVersions
curl http://localhost:5644/api/v1/InstalledVersions | python -m json.tool
{ "UnrealEngines": [ { "Version": "5.3", "Path": "C:\\Program Files\\Epic Games\\UE_5.3", "UUID": "..." } ], "VizEngines": [ { "Version": "5.2.0", "Path": "C:\\Program Files\\vizrt\\Viz3\\", "Executable": "viz.exe" } ]}CheckConnection
Lightweight health-check. Issues an IS_PLAY_MODE query on the given port and returns the raw plug-in reply.
GET /api/v1/CheckConnection?port=5647
Parameter | Type | Description |
|---|---|---|
| integer | Port on which the Viz Arc Unreal plug-in listens. Default |
curl http://localhost:5644/api/v1/CheckConnection?port=5647 | python -m json.tool
A reachable engine in PIE/game mode replies with "1"; a reachable engine not in play mode replies with "0". If the plug-in is unreachable the service responds with 400 Bad Request.
Command
Sends one or more commands to a local Unreal Engine via the Viz Arc Unreal plug-in. Commands are forwarded to 127.0.0.1:<UnrealPluginPort>. If the Engine is not yet reachable, commands are queued and sent as soon as it connects.
A small set of commands are handled by the loader directly and not forwarded to the plug-in:
START <UnrealVersion> [project] [map]— launches the matching UE Editor.LOADER KILL— kills all running UE Editor processes.LOADER RESTART— kills and restarts UE with the last-loaded project/map.ENSURE_PROJECT_LOAD <proj>;<mapFull>;<mapCmdB64>;<UnrealVersion>— ensures the requested project and map are loaded, launching UE if necessary.
POST /api/v1/Command
Field | Type | Description |
|---|---|---|
| string | UE version key from the registry (e.g. |
| integer | Port on which the Viz Arc Unreal plug-in listens (default |
| integer | Optional delay before sending (currently unused by the loader). |
| boolean | If |
| string[] | One or more command strings to execute in order. |
Examples
Load a Map in the current Unreal Project:
curl -X POST http://localhost:5644/api/v1/Command \ -H "Content-Type: application/json" \ -d '{ "UnrealVersion": "5.3", "UnrealPluginPort": 5647, "ClearCommandQueue": false, "Commands": ["SCENE SCENE*SCENE SET MyMap"] }'Launch the Unreal Editor for the installed UE 5.3 with a given project and map:
curl -X POST http://localhost:5644/api/v1/Command \ -H "Content-Type: application/json" \ -d '{ "UnrealVersion": "5.3", "UnrealPluginPort": 5647, "ClearCommandQueue": true, "Commands": [ "START 5.3 \"C:\\Projects\\MyShow\\MyShow.uproject\" \"/Game/Maps/StudioA\"" ] }'QueryEngine
Sends a single synchronous query to the Viz Arc Unreal plug-in and returns its raw reply. Only the first element in Commands is executed; additional entries are ignored.
POST /api/v1/QueryEngine
Uses the same body shape as Command. For queries only UnrealPluginPort and Commands[0] are relevant.
Example
curl -X POST http://localhost:5644/api/v1/QueryEngine \ -H "Content-Type: application/json" \ -d '{ "UnrealPluginPort": 5647, "Commands": ["IS_PLAY_MODE"] }'Response
The raw string returned by the plug-in (for IS_PLAY_MODE, typically "0" or "1").