UnrealSupportPlugin
Live diagnostics from inside Unreal Engine, streamed straight to this console. Install it on every render node and the Live UE page lights up with real-time stage health — no log digging, no RDP sessions mid-show.
- Download the plugin zip below.
- Extract it into your project’s Plugins folder (create the folder next to your .uproject if it doesn’t exist). You should end up with Plugins/UnrealSupportPlugin/UnrealSupportPlugin.uplugin.
- Enable it: open the project, go to Edit → Plugins, search for “Unreal Support”, tick it and restart the editor. Do this on the editor node and both display nodes.
- Open the firewall for TCP port 30011 on each node (inbound, production LAN only).
- Connect: in this console open the Live UE page, enter the primary node’s IP and hit Connect — the display nodes are discovered automatically.
Unreal Support
A production console for virtual production stages running Unreal Engine 5 with nDisplay.
The Unreal Support Plugin runs a WebSocket server inside UE. Once connected, the dashboard streams live data every second — frame timing, GPU stats, nDisplay cluster status, LiveLink subjects, genlock state, and hardware metrics from NVML and NVAPI.
Connect to your editor node IP and the dashboard automatically discovers and connects to all display nodes listed in your nDisplay config. Each node gets its own tab. The All nodes view shows a live health grid across the whole cluster at a glance.
When built with the NVAPI SDK, the plugin queries your Quadro Sync II cards directly — house sync signal presence, lock state, sync mode, per-GPU primary/secondary role, and incoming house sync frequency in Hz.
NVML loads dynamically at runtime — no SDK needed. Reports temperature, GPU utilisation, VRAM usage, clock speeds, power draw, performance state, and throttle reasons for every GPU in each node.
Shows cluster operation mode, node count, primary node, inner frustum and chromakey state, and stage actors. The genlock section reads swap sync policy, sync enable state, and swap interval directly from nDisplay CVars.
Lists all LiveLink sources with connection state, subject count, and type. For each subject, shows role and live transform data. For the Vive Mars this means you can verify the tracker is streaming to UE without opening the editor.
The Support page is an AI assistant with context about your specific rig. Ask it about nDisplay configs, VP troubleshooting, camera settings, or anything stage-related. Powered by Claude.
Log stage issues with tags and track their status. The Checklist is a pre-shoot readiness list. The Planner shows upcoming shoot dates. All data is stored in Firebase and synced across devices.
2. Copy UnrealSupportPlugin/ into
YourProject/Plugins/3. UE → Edit → Plugins → search "Unreal Support" → Enable → Restart
4. Project Settings → Plugins → Unreal Support → set port (default 30011)
5. Add firewall rule:
netsh advfirewall firewall add rule name="UE Support" dir=in action=allow protocol=TCP localport=300116. Enter the machine's IP in the Remote Control section and click Connect
ndisplay — cluster, nodes, innerFrustum, chromakey, stageActors, genlock
livelink — sources and subjects with live transforms
level — map name, world type, streaming sub-levels
convars — watched console variables and their current values
gpu — NVML: temp, utilisation, VRAM, clocks, power, throttle per GPU
gsync — NVAPI: Quadro Sync II lock state, house sync, per-GPU role
nDisplay Quick Start
Complete startup sequence for this stage — 15m × 3m curved LED wall, 3-node cluster, Vive Mars tracking, Sony HDC-1500.
2. Novastar MX2000PRO — the LED wall processor. Power on and confirm the wall is showing input or a test pattern.
3. Display nodes (both HP Z8 workstations with A6000 + Decklink) — boot these before the editor so Switchboard can connect to their listeners.
4. Editor node (HP Z8 with RTX 4090) — boot last. This is where you run Switchboard and UE.
ping 192.168.x.xnDisplay requires low-latency, reliable LAN. If pings drop or spike, check cable connections at the switch before going further.
C:\Program Files\Epic Games\UE_5.7\Engine\Binaries\Win64\SwitchboardListener.exeA small console window appears — leave it running. It listens on port 2980 and waits for Switchboard to connect from the editor node.
Tip: Add a shortcut to SwitchboardListener.exe in the Startup folder on each display node (
shell:startup) so it launches automatically on boot and you never have to think about it.
Window → Virtual Production → Switchboard
If this is the first time:
— Set UE4Editor path to your UE 5.7 executable
— Set your .uproject path
— Add a nDisplay Device for each display node: click +, choose nDisplay, enter its IP address
If Switchboard has been used before, your saved config will restore all device entries automatically.
If a node won't connect:
— Confirm SwitchboardListener.exe is running on it
— Check Windows Firewall isn't blocking port 2980
— Add a rule:
netsh advfirewall firewall add rule name="Switchboard" dir=in action=allow protocol=TCP localport=2980
Click Launch All. Switchboard will push the project to each display node and start UE in nDisplay Cluster mode. The LED wall should go live within 20–40 seconds.
The editor node runs UE in normal editor mode. The display nodes run as cluster nodes and appear in the nDisplay panel inside UE.
In the Quadro Sync card, confirm:
✓ House sync: Present — the AJA signal is being received
✓ Sync locked: Yes — the GPU is locked to house sync
✓ Sync mode: HouseSync — not Internal V-Sync
✓ Per-GPU roles show Primary and Secondary correctly
If house sync is not present: check the BNC cable from the AJA to the Quadro Sync II card. The AJA should output blackburst at 25Hz to match the 50Hz wall.
In the dashboard, the LiveLink card should show the source connected with live transform values updating every frame.
Mount the four IR receivers on the lighting grid above the shooting area. The Sony HDC-1500 should have the Vive Mars tracker unit attached and the lens encoder connected for lens data.
If you don't see the camera feed:
— Use Blackmagic Media Express on a display node to confirm the Decklink is receiving signal
— Check the SDI cable from the camera CCU to both display nodes
— Confirm the UE Media Source is set to the correct Decklink input
— Enable Inner Frustum
— Set the cine camera component to your tracked camera
— Confirm the frustum is rendering correctly relative to camera position
The frustum should move and perspective-correct as you physically move the camera. If it's static, the LiveLink controller component on the camera actor may not be set up correctly.
You're live. Check the dashboard — all nodes connected, sync locked, LiveLink active, inner frustum enabled. The stage is ready.
Visual tear between L/R panels — Quadro Sync issue. House sync must be Present and Locked on both display nodes simultaneously. Power-cycle display nodes after confirming AJA is outputting.
Inner frustum slipping on pan — LiveLink latency or lens calibration issue. Check LiveLink frame age in the dashboard. More than 2–3 frames indicates a tracking delay.
Switchboard can't connect to a node — SwitchboardListener not running, or firewall blocking port 2980. See Step 5.
nDisplay won't launch — check Switchboard's log output. Common causes: wrong .uproject path, wrong nDisplay config path, or display node doesn't have the project built.
No camera tracking — Vive Mars base stations must be powered and synced before UE loads. If they come on after, restart the LiveLink source in UE.
Admin
Create user accounts and manage access. Only visible to the admin account.
v1.3.0