Various action clips display text or images on the screen, like for example Subtitles, Image Overlays, Fades and so on. Slate comes with a GUI implementation made with UGUI, which is packed in a prefab named “@DirectorGUI” (found in the root Slate folder). You can either use that prefab and customize the UI elements within it, or you can alternatively create your own GUI implementation from scratch (or based on the existing one).
To do so, you basically need to subscribe to certain events that are invoked and which are all found in the DirectorGUI class.
public delegate void SubtitlesGUIDelegate(string text, Color color);
public delegate void TextOverlayGUIDelegate(string text, Color color, float size, TextAnchor alignment, Vector2 position);
public delegate void ImageOverlayGUIDelegate(Texture texture, Color color, Vector2 scale, Vector2 position);
public delegate void ScreenFadeGUIDelegate(Color color);
public delegate void LetterboxGUIDelegate(float completion);
public delegate void CameraDissolveDelegate(Texture texture, float completion);
public static event SubtitlesGUIDelegate OnSubtitlesGUI;
public static event TextOverlayGUIDelegate OnTextOverlayGUI;
public static event ImageOverlayGUIDelegate OnImageOverlayGUI;
public static event ScreenFadeGUIDelegate OnScreenFadeGUI;
public static event LetterboxGUIDelegate OnLetterboxGUI;
public static event CameraDissolveDelegate OnCameraDissolve;
Each event is responsible for a specific GUI related functionality. Please note that these events are all called in a per-frame basis (as long as a related clip is active). As a starting point on how to use these more specifically, please take a look at the existing GUI implementation script called “DirectorGUITemplate”.