SLATE Cinematic Sequencer Support

This page describes how to set up the Dialogue System with Paradox Notion's SLATE Cinematic Sequencer. (SLATE is required.)

SLATE Cinematic Sequencer copyright © Paradox Notion.

How to Set Up SLATE Support

To enable SLATE support in the Dialogue System, import the package Plugins ► Pixel Crushers ► Dialogue System ► Third Party Support ► SLATE Support.

This will add Dialogue System actions and a sequencer command that plays SLATE cutscenes.

Example Scene

The SLATE Example example scene starts a SLATE cutscene using the SLATE() sequencer command in a Dialogue System Trigger that starts when the scene starts.

Action Clips

You can add these actions to your SLATE cutscenes. When previewing at design time, actions that produce output (such as Show Alert, Bark, and Start Conversation) will show a stand-in message because their actual output relies on the Dialogue System's runtime environment.

Show Alert

The Show Alert action shows an alert message through the Dialogue Manager's dialogue UI.

Field Description
Message The message to show.
Duration If non-zero, show the alert for this many seconds instead of the default duration.

Bark & Bark Enhanced

The Bark action plays a bark. The barker is the GameObject assigned to the actor track.

Field Description
Conversation The conversation containing the bark lines.
Bark Order Play the barks sequentially (in this case, the first one) or in random order.
Target The optional target of the bark.

At design time (i.e., not during playmode), the Game view will only show a message that a bark would be played when this action occurs.

The Bark Enhanced action, on the other hand, plays the bark through the actor's bark UI. It pulls the bark text from the actor's Dialogue System Trigger or Bark Trigger rather than a specified Conversation.

Lua

The Lua action runs Lua code.

Field Description
Lua Code The Lua code to run.
Debug Tick to also log the Lua code to the console.

Set Quest State

The Set Quest State action sets a quest state and an optional quest entry state.

Field Description
Quest The quest to change.
Quest State The new quest state.
Quest Entry The quest entry to set (leave at -1 to not set a quest entry).
Quest Entry State The new state for the quest entry.

Start Conversation

The Start Conversation action starts a conversation. The actor is the GameObject assigned to the actor track.

Field Description
Conversation The conversation to start.
Conversant The conversant.
Dialogue Entry The dialogue entry to start at. Leave at -1 to start at the beginning.

Stop Conversation

The Stop Conversation action stops the current conversation.

Sequencer Commands

SLATE()

Implements sequencer command SLATE(), which plays a SLATE cutscene.

Syntax: SLATE(cutscene[, nowait|once|cache|pause|resume[, actor...]])

Description: Plays a SLATE cutscene, loading it from Resources, a registered asset bundle, or Addressables if necessary. To prepare a cutscene prefab, create it and save a prefab inside a Resources folder, asset bundle, or marked as an Addressable. Then provide the name/path to that prefab to this command. Cutscenes can be inactive; this command will activate them.

Parameters:

  • cutscene: The cutscene to play. If loading from Resources or an asset bundle, provide the full path under Resources.
  • nowait|once|cache: (Optional) If once, the cutscene is unloaded from memory when done playing; if cache, it's kept in memory. Use once for cutscenes that only play once, such as a unique one-off sequence. Use cache for generic cutscenes that may be used again, such as a generic body gesture. Defaults to cache. Cutscenes in the scene (not loaded from Resources) are never unloaded. nowait specifies to let the cutscene run in the background; this is only valid for cutscenes in the scene, not loaded from Resources. pause and resume pause and resume a cutscene.
  • actor: (Optional): The name of a GameObject in the scene, or speaker or listener. Actors will be assigned to cutscene groups in the order provided.

Notes:

  • Prefab cutscenes don't remember the actors assigned to their groups. You have to specify them in the sequencer command. This also allows you to bind different objects to groups at runtime. You can provide any number of actor parameters to this command.
  • During conversations, at the end of the cutscene the SLATE() sequencer command will make the main camera match the cutscene's final camera settings. This way the view will look the same when moving between cutscenes from one dialogue entry to the next. You can change this behavior by adding a SLATE Sequencer Settings component to your Dialogue Manager.

Examples:

  • SLATE(Cutscenes/MyCutscene)
    • Plays the cutscene "Cutscenes/MyCutscene" located in the scene or inside a Resources folder.
  • SLATE(Cutscenes/Bow, cache, speaker)
    • Plays the cutscene "Cutscenes/Bow" using the speaker as the actor for the first actor group. Keeps the sequence in memory for re-use.

SLATE Sequencer Settings

Add a SLATE Sequencer Settings component to your Dialogue Manager to control these settings:

  • Match Render Camera Between Entries: During conversations, when a SLATE() sequencer command finishes it will make the main camera match the render camera's settings at the end of the cutscene.
  • Restore FOV At End Of Conversation: At the end of a conversation, restores the main camera's pre-conversation Field of View value in case cutscenes during the conversation have changed the field of view, since the main camera may be set to the cutscene's field of view at the end of SLATE() sequencer commands.

<< Third Party Integration