Immerse

Camera Controller

A system for controlling cameras in multi-user scenarios

The Camera Controller module allows a standard Unity camera to move around the scene into several preset locations. These preset locations are known as Camera Targets and are stored in a list that is synchronized across users.

This has the benefit of giving non-VR participants a simplified control of how they view the scene, as well as allowing an elevated user to control the camera of other participants in order to direct attention to different contexts.

The most obvious demonstration of this feature can be seen for WebGL users. The WebGL user front-end displays a selectable list of Camera Targets, allowing a user to switch between them.

The Camera Target list as seen on the WebGL UI

Component Overview

The Camera Controller module is comprised of three primary components.

1. Camera Targets

One or more Camera Target components can be added to a scene. Camera Targets use the Transform component of the attached GameObject to represent the position and rotation of the camera when that Camera Target is selected by the Camera Controller.

2. CameraController

The CameraController component is responsible for animating Unity's main camera into position, by selecting a Camera Target. It also is responsible for keeping track of all existing Camera Targets. Its lifetime is handled automatically by the SDK, and is normally accessed through the Camera Service.

3. Camera Service

The Camera Service serves as a static entry point for all scripts that use the Camera Controller module. As well as providing references to other related components, it also handles multiplayer synchronization via messages.

Updated 28 days ago


Camera Controller


A system for controlling cameras in multi-user scenarios

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.