UE & TouchDesigner bridge
Xeed supplies bounded parameters. Your UE or TouchDesigner scene turns them into motion, particles and atmosphere.
Send this scene to your visual engine.
The parameters stay separate from the plant model. An engine acknowledgement confirms receipt; it does not verify rendered pixels.
Connect a local bridge
Start the bridge on the same computer as this browser. Copy its temporary token from the local pairing page. It stays in this page’s memory.
Hosted HTTPS pages may need browser permission to reach this local bridge. The website server never connects to your local engine. Video output needs a separate delivery path.
Not connected. Check the parameters without an engine, or pair with your local adapter.
Parameter JSON
{
"schemaVersion": "xeed.render.v1",
"sequence": 0,
"source": "manual-visual",
"weather": {
"rain": 0,
"snow": 0,
"wind": 2,
"direction": 0,
"cloud": 12,
"fog": 0,
"dust": 0,
"hour": 13,
"dayC": 22,
"nightC": 12,
"humidity": 55,
"soilWater": 60
},
"plant": {
"leafOpenness": 0.6,
"leafHue": 135,
"motionEnergy": 0.2
}
}Start with a dry run.
- In the Xeed source folder, copy
config/render-bridge.env.exampleto.env.render-bridge.local. KeepXEED_BRIDGE_TARGET=dry-run. - Run
pnpm render:bridge. Openhttp://127.0.0.1:4888/on this computer and copy the temporary pairing token. - Enter the token above, choose Check bridge, then Send current frame. A dry-run acknowledgement verifies the local round trip.
Default ports: bridge 4888, Unreal Engine 30010, TouchDesigner 9980. Each device keeps its own settings.
Author one scene. Map its inputs.
TouchDesigner setup
- In one Base COMP, make a Web Server DAT with Local Address 127.0.0.1 and port 9980. Add a Table DAT named
xeed_channelsbeside it. - Copy
scripts/render-bridge/td_callbacks.pyinto the Web Server DAT callbacks. Set a private local token inXEED_TD_TOKENand the same token in the COMP’sbridgeTokenstorage. Feed the table through a DAT to CHOP: first column channel names, second values, skip the heading row. The full guide below gives the Textport command. - Map channels such as
rain,windandleafOpennessto your particle, material and movement controls. - Set
XEED_BRIDGE_TARGET=td, restart the bridge and send a frame. Inspect your scene after the acknowledgement.
Unreal Engine setup
- Enable Remote Control API and start its loopback HTTP server on 30010.
- Author a Blueprint function
ApplyXeedFramewith the documented numeric inputs and outputsAppliedandAcceptedSequence. - Connect its inputs to Niagara user parameters or material values. Fill the actor path in your device-local environment file.
- Set
XEED_BRIDGE_TARGET=ue, restart the bridge and send a frame. Inspect the Niagara or Blueprint result.
Open Weather in motion → to prepare a frame with rain, snow, wind, clouds, fog, light and conditions.
Full setup guide
The project file docs/research/2026-10-03-render-bridge-setup.proposed.md includes exact function inputs, callback wiring, Mac / Windows commands and troubleshooting.
Parameters and pixels travel separately.
The bridge sends control data. It does not display the engine viewport here. Begin with the scene on your own computer; browser video delivery, such as UE Pixel Streaming, needs a separate renderer and streaming test.
Published sites & safety
Add the exact published website origin to XEED_BRIDGE_ORIGINS. Keep the engine and bridge on loopback. If your browser requests local-network permission, allow it only for this Xeed bridge test; pairing and the origin allowlist still apply.
A classmate’s browser connects to their own computer, so your Mac bridge is not a shared cloud renderer. Do not expose engine ports publicly. A returned acknowledgement is a historical request result, not proof the engine remains online.
Integration status: proposed. The contract and local adapter are implemented; an actual UE / TD scene and rendered video have not yet been verified.