Run the Unreal studio remotely

Start from the LAN quickstart, then move the same project to a remote host when you already operate a Cloud-capable ShowServer deployment. Use the same incoming source and outgoing camera you validated on LAN.

Connect through ShowServer Cloud (optional / advanced)

  1. Bring your Cloud-capable venue ShowServer online (the deployment you already operate).
  2. Start the source you want Unreal to receive. This can be a BPMediaNode contribution, venue camera, or another source exposed in ShowServer’s RTC source list.
  3. Install Unreal 5.8 and the built Windows x64 BPUnrealRTC plugin on the remote rendering machine.
  4. Open your own project and confirm its camera renders into the same render target assigned to the RTC component’s Camera Output.
  5. On that component, enable Cloud, set Base Url to your ShowServer Cloud HTTPS URL, and set Source Id to the incoming venue feed’s ID. Keep your outgoing Output Id stable and unique.
  6. Obtain a Cloud mobile pairing code for the intended ShowServer. From your runtime Blueprint connection UI, call Connect with that code in Cloud Code, or a current mobile session token in Token. The project setup guide describes the Blueprint connection flow.
  7. Confirm that the incoming monitor moves and Unreal Studio Return appears at the venue ShowServer.

The plugin redeems the pairing code through the Cloud mobile API, accesses the venue through Cloud’s proxy path, and uses the RTC URLs and ICE configuration returned by the server. Keep those server-provided settings; do not invent TURN credentials or substitute a generic Pixel Streaming signalling URL. A successfully redeemed one-time code is not reused during recovery.

For your own Blueprint login flow, set the component’s Cloud property, supply the HTTPS Base Url, and call Connect with the Cloud code or session token. Do not save tokens in a Blueprint, map, public URL, screenshot, or packaged documentation.

Use EC2 for rendering

Use a Windows GPU instance with drivers appropriate for your Unreal project. The instance must continue rendering after you disconnect the remote desktop session. Run your actual target scene and confirm GPU rendering, 48 kHz audio mixing, outbound RTC connectivity and automatic process restart before using it in a show.

The scene capture is a separate rendering view and the current RTC companion uses software video encoding. A GPU instance helps scene rendering but does not by itself remove encoder CPU cost. Measure CPU, GPU, frame cadence, bitrate, glass-to-glass delay and recovery with your intended resolution and number of cameras. Start at 720p/30; choose a larger configuration from measured results.

Output the return on the venue LAN

  1. In the Unreal connection, enable Auto Ndi for the return you want ShowServer to publish.
  2. Reconnect so the contribution session receives that setting.
  3. At the venue, check the source’s NDI egress status.
  4. On an NDI-capable receiver on the venue LAN, select the advertised Unreal return and verify picture and audio.

NDI egress runs at the ShowServer end of the connection. The EC2 instance does not need to participate in venue NDI discovery.

For transparency, use a render target that actually contains a meaningful alpha channel, enable Alpha, and use Invert Capture Alpha only for a capture source whose A channel stores inverse opacity. The companion publishes fill and mask video tracks; a compatible ShowServer receiver pairs them and reconstructs alpha for output. An ordinary final-color camera capture does not automatically contain useful transparency. The opaque Bunny studio leaves Alpha off and does not certify this keyed workflow.

Acceptance checks before a show

CheckExpected result
Stop and restart the sourceIncoming picture clears when stale and resumes without rebuilding the level.
Interrupt the RTC connectionThe status moves through recovery and returns to Connected; output identities remain stable.
Restart the Unreal RTC companionThe Unreal process supervises and reconnects it.
Restart the venue ShowServerThe connection recreates its contribution and subscription after the server returns.
Revoke credentialsThe UI shows authentication is required rather than retrying invalid credentials indefinitely.
Run fill and mask under packet lossNo unrelated or stale mask is applied to the fill.
Disconnect the EC2 desktop sessionRendering and audio continue at the required cadence.
Measure the complete loopRemote input → Unreal response → venue output latency meets the production requirement.

Use synthetic facial/OSC/DMX data for initial testing. The plugin’s typed control events can drive your rig, light, or camera, but transporting a data message alone does not automatically configure Live Link, DMX or OSC bindings for an arbitrary Unreal project.