Get Started

This page contains easy-to-follow steps for initializing your virtual production journey with CameraTwin.

Show Plugin Contents

To show plugin contents in the content browser:

  1. Open the Content Drawer

  2. At the top right corner of the Content drawer open the Settings

  3. Find and check the option Show Plugin Content, it’s under the Content section

After the application is started you can connect to its stream by using the Live Link window.


  1. Open the Live Link window, by searching for it under the Window option of the Unreal Engine’s top bar (video)

  2. Inside the Live Link window (video)

    1. Hover over the CameraTwin option

    2. Select your desired CameraTwin Source as CameraTwin source

Choose your mode

CameraTwin provides two distinct camera modes to fit your shooting needs, Tracked Mode, and Untracked Mode

Due to specific limitations in ARCore, CameraTwin on Android devices offers distinct 'Tracked' and 'Untracked' modes; whereas in iOS, these modes are seamlessly blended, providing a more integrated experience

Tracked Mode

In Tracked Mode, you can experience the essence of dynamic filming, perfect for scenes that require movement.


x/60: Dropped frame indicator

Stage Setup

The application allows the user to set up a representation of the stage boundaries, primarily useful for aligning the virtual scene in Unreal Engine.


How to setup a stage in the app


  1. [Optional] Move the device around until surfaces are recognized and displayed.

  2. Point the target marker at the center of the screen over the location of the first point to be placed.

  3. Tap anywhere on the screen to place the point.

  4. Repeat steps 3-4 until at least 3 points have been added.

Stage Options in Unreal Engine

After the stage setup in the mobile application, the parameters of the stage are transmitted to Unreal Engine and the BP_CT_CameraActor renders the stage outline in a bright green color.

In the CameraTwinStage component there are the following parameters:

  • Snap Parent to Ground (video)

    • This option allows for easily setting the camera at the right level as it snaps the physical stage level to the virtual ground level, lifting the camera to the right height. This is enabled by default and can be disabled to move the Camera Actor freely.

  • Ground Level (video)

    • This parameter is used to add an offset in cm for the ground level height. Default is 0 cm offset

Untracked Mode


Enable/disable transmission to Unreal Engine

x/60: Dropped frame indicator


Manual Focus and Zoom example usage

Manual Shutter Speed and ISO example usage

Manual White Balance and Saturation example usage

UE Plugin Control Panel

CameraTwin control panel lets the users adjust the recording settings per Source and define globally accessible QuickActions. QuickActions act as global events that the user can bind to within any blueprint.

Open Control Panel

To open the CameraTwin Control Panel, the user should go to Tools-> CameraTwin Control Panel. A new window will appear with the CameraTwin Control Panel tab which can be docked like similar tabs of the Editor.

Recording Settings

Within the control panel the user can find the following settings related to recording the received video and metadata streams.

  1. “Recording Enabled”: to toggle on/off the recording in UE.

  2. “Folder Path”: the location that the recording files will be stored (final and intermediate).

  3. “Filename”: [Currently hardcoded to “frame_<timestamp>”] the template of the actual filename for each file of the image sequence.

  4. “Image Format”: The file type that the image sequence files will be encoded and stored.

  5. “Est. Disk Bandwidth”: According to the selected image format there is an estimation of the required disk write bandwidth. This is calculated based on FHD resolution and at 30 FPS for 4K it will be about 4 times more.

  6. “Image Quality”: It’s only relevant for the JPEG image format with 100 being the greatest quality, but resulting in bigger files while lower values reduce the image quality but significantly reduce the file sizes.

  7. “Generate Video”: A toggle to automatically create a video from the recorded image sequence and a single file with all metadata related to each frame. For this option to work correctly the user must set the path to the FFmpeg executable in the “Project Settings” ->”Command Line Encoder”->”Executable Path” (video)

  8. “Delete Intermediate”: If the user has enabled the video generation and with this option enabled the system will delete the image sequence individual files (images and metadata) and it will keep only the resulting video and the single metadata file.

Now if the recording is enabled, when the user presses the Record button on the phone the recording will also start in the Unreal Engine.

Recording Settings defaults

Inside the project settings and under the category “CameraTwin”, the user can find the default values of all recording settings along with two additional parameters:

  1. “Recorder Threads”: this is the maximum number of threads that handle the encoding and storing of the image frames.

  2. “Recorder Tasks Max Queue”: This is the maximum number of tasks that will be queued for execution.

Quick Actions

Quick Actions feature is created to give the users the ability to trigger manually anything in Unreal Engine from the smartphone’s UI. The user needs to set up the desired actions in Unreal Engine and then whenever these are registered, they appear on the connected phone(s).

Quick Actions Definition

From within the CameraTwin Control Panel, the user can manage all Quick Actions.

The user can:

  1. Add new Quick Actions (video)

  2. Remove existing Quick Action (video)

  3. Rename existing Quick Action (video)

  4. Save existing Quick Actions as a Quick Actions Set asset (video)

  5. Load Quick Actions Set asset (video)

Quick Actions Binding

After the user has defined some Quick Actions, the user can bind any custom event from within any blueprint to specific Quick Actions. To do that, the user can:

  1. Inside any Blueprint, press Tab and start typing Bind Quick Action Event

  2. After placing the Bind Quick Action Event node

    1. Click and drag with the mouse from the red delegate slot of the node to empty space

    2. Type Custom Event

    3. Place the custom event node and rename it according to the action that will be triggered, this is not related to the name of the Quick Action.

    4. In the Bind Quick Action Event node, there is drop down where the user can select the Quick Action that will trigger the custom event

  3. Finally trigger the Bind Quick Action Event by another custom event or any other way that fits the project’s needs

Trigger Quick Actions in the app

  1. Setup quick actions in Unreal Engine (see above).

  2. Connect the phone as CameraTwin source in Unreal Engine

Note that the quick action buttons can be rearranged by holding and then dragging to a new position (possible spots will be indicated).

Now that you have a better understanding of CameraTwin's capabilities, you can your shoot. For examples of quick setups, make sure to check the Examples page.

Last updated