Real-time brand motion system
A broadcast media brand needed a motion graphics system that could respond to live data — scores, results, breaking news — with zero pre-render delay. We built it in Unreal Engine and connected it directly to their data feeds.
- Client
- Broadcast media brand (NDA)
- Year
- 2023
- Duration
- 16 weeks
- Practice
- Studio
§ 01Brief
Traditional broadcast motion graphics are pre-rendered — you produce an asset for every possible data state and stitch them together with a playback controller. That approach breaks when the data is live and unpredictable.
We replaced their pre-render pipeline with a real-time Unreal Engine system driven by a WebSocket feed. Every graphic — lower thirds, full-screen scores, transition animations — was a live Unreal actor responding to data events in under 50ms.
§ 02Approach
- 01Design
Motion language definition
We worked with their in-house brand team to define a motion grammar — 4 easing curves, 3 animation durations, 2 spatial directions. Every graphic was parameterised against this system, not animated by hand.
- 02Data layer
WebSocket → Unreal bridge
A Node.js middleware consumed the broadcast data feed and pushed structured events to Unreal via a custom WebSocket plugin. Latency from data arrival to pixel on screen: 48ms average.
- 03Graphics
12 modular graphic types
Lower thirds, score panels, full-screen results, transition wipes, ticker, and 6 variants of each for different broadcast contexts. All driven by the same data schema.
- 04Operator UX
Broadcast control panel
A React web app gave broadcast operators manual override for any graphic — trigger, hold, dismiss — without touching Unreal. Critical for live TV where automated timing is never perfect.
§ 03Outcomes
§ 04Gallery
“We've been on-air with it for 6 months. It's never dropped a frame.”