Canvas Controller Scenes

A canvas controller's scene file contains the main canvas and is where you can create your screen's contents. By default, a canvas controller's scene is structured like so:

A canvas controller's default hierarchy.

You should place your UI elements underneath the 'Content' game object, just as the canvas controller's 'Background Image' has been. This ensures that your canvas controller is compatible with the included transition animators1.

Creating a canvas controller's content.

1. The included transition animators animate the 'Content' game object. If you place elements outside of the canvas controller's content, it won't be animated by the included transition animators. You could, however, animate it with a custom transition animator.

Root Canvas Controller Object

The top-level game object contains a single component - your canvas controller's script. Here you can see any properties that you declare in your canvas controller and configure any UI elements, such as button callbacks. You must always keep this object in the root of your canvas controller's scene.

The canvas controller game object and component.

Canvas Object

The canvas game object contains three components - the canvas itself, a Canvas Scaler, and the Canvas' Graphic Raycaster.

The canvas game object and component.

The Canvas Scaler's reference resolution should be set to the resolution that you are designing your UI at. If the screen resolution is larger, the UI will be scaled up, and if it’s smaller, the UI will be scaled down. Note that you can change the default value for new canvas controllers in Canvas Flow's preferences, which can be found in the Unity menu at Unity/Preferences/Canvas Flow.

Set the reference resolution for new canvas controllers in the editor preferences window.