Loading
Marios Bikos
Senior Software Engineer
Marios Bikos
Senior Software Engineer

Framestore Virtual Production Tools (Farsight)

  • Created By: Framestore
  • Date: 2018
  • Client: Framestore
  • Technologies: Unreal Engine, C++

Farsight is Framestore’s in-house Virtual Production toolkit for Unreal Engine, designed to give filmmakers a seamless, end-to-end workflow from virtual scouting and set design through camera operation and live video output. With features like networked VR scouting, virtual camera control and high-quality video feeds, Farsight empowers creative teams to explore, refine and capture wholly synthetic—or hybrid—environments just as they would on a live-action shoot.

In traditional live-action, you’d need a camera, actors and a physical location. With Farsight’s Virtual Production suite, every element—from the camera’s movement and lens settings to the lighting and environment—can be entirely synthetic yet still obey the “rules” of on-set cinematography. This enables directors and cinematographers to scout locations in VR, block shots, tweak lighting and even animate virtual set pieces, all in real time. By integrating Farsight into Framestore’s broader Virtual Production Platform, we’ve streamlined collaboration between creative, editorial and on-set teams—bringing the full power of Unreal Engine to every stage of the filmmaking process.

As an Engineer on the Farsight team, I worked hand-in-glove with directors and virtual production artists to build networked VR Scouting Tools within Unreal Engine. By leveraging the Concert multi-user plugin and Unreal’s VR Editor, we enabled multiple collaborators—whether on the floor or thousands of miles away—to move freely through virtual locations, lay out shots in VR, and stream live camera feeds directly back to on-set monitors.

Key Challenges

  • Mastering the Concert Plugin: Diving deep into Unreal’s multi-user framework to synchronize scene properties and actor transforms across all participants.
  • Understanding the VR Editor Codebase: Navigating Unreal’s VR Editor internals to hook in custom UI and interaction logic without disrupting core editor workflows.
  • Resolving Circular Dependencies: Architecting our plugin modules to avoid build-breaking include cycles, refactoring shared interfaces, and using forward declarations to keep compilation times sane.