Skip to main content
Skip table of contents

Driving keyer parameters with camera (or other) values

Here is a workflow that will allow you to control keyer parameters with the help of some value found in engine. By default we are using FOV, meaning we are using camera zoom as a driver to interpolate between keyer presets.

Learn more about how to create Presets


  1. Download this folder in the DeveloperTools repository:

    • containing


      • config.ini

  2. Install Python Python 3.10+

  3. Run pip install configparser zmq to install the required libraries

  4. In the Editor: Add an instance of the “Broadcaster” actor to your level, its very simple and can be made again, all content is in the event graph and runs on tick. By default it will broadcast the camera FOV

  5. Edit the config.ini file (check the default file for examples):

    • DriverService: The name of the service to listen to, most likely SOMETHING-Engine

    • DriverName: The name of the parameter you want to drive the data, for example camera FOV (this is the default opion), if you update this, be sure to also send updates on the new name (so update the Broadcaster actor in PixotopeTools/ParameterLERP)

    • DriverPoint1: Defines the lowest point from which to LERP, for FOV, it will designate an FOV where for any lower value, it will use 100 % of Preset1Name

    • Preset2Name: Same but for Upper target

    • TargetService: Target service to send updates to, usually Store unless you are doing something freaky

    • TargetName: Location of new values that are sent, change this to be the camera name you want to make changes to

    • UpdateInterval: Allows you to specify how frequently to send updates, value of 1 will update on every FOV change engine reports, so most likely every frame

Run script

  1. Run python to start the python script

The script will keep running in the background until closed

Here is an example of running with dummy data being broadcasted from engine as FOV, lerping between two presets:

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.