Setup Defaults¶
Setup Defaults is a one-click toolbar automation that wires the Dialogue System's four runtime components onto your project's GameMode-related actor classes, so you don't have to add each one by hand. This page documents what it actually checks, what it changes, and the one hard limitation you need to know before relying on it.
1. Introduction¶
What You'll Learn¶
- Where to find Setup Defaults, and what it touches before it looks at your actor classes at all
- The exact four components it adds, and which actor class each one goes on
- Why it can fail outright before doing anything, and why a C++ class is reported as unmodifiable rather than silently skipped
- How to read the HTML report it produces
2. Where to Find It¶
Setup Defaults lives under the main Level Editor's Mountea Framework → Mountea Dialogue → Setup Defaults menu entry - it is not part of the Dialogue Tree graph editor's own toolbar, because it doesn't touch the Graph asset you have open. It configures your project's GameMode-related classes instead.
3. What It Checks, in Order¶
Running Setup Defaults performs a fixed sequence of checks. It stops early and reports why if either of the first two fail.
- Dialogue Configuration on Settings - if
UMounteaDialogueSystemSettingsdoesn't already have aDialogue Configurationasset assigned, Setup Defaults assigns the plugin's own shipped defaultUMounteaDialogueConfigurationautomatically. If Settings already points at a valid Configuration, this step is a no-op. - Resolves the project's default GameMode - read from the current World's
AWorldSettings::DefaultGameMode, falling back to the project-wide default inUGameMapsSettingsif the World doesn't override it. - Refuses to proceed on the stock engine GameMode - if the resolved class is null,
AGameModeBaseitself, or literally namedGameMode, Setup Defaults stops there and reports that your project hasn't set up its own GameMode yet. No component changes happen in this case.
Warning
Step 3 is a hard stop, not a warning you can ignore. If your project is still running on the engine's stock GameMode class, Setup Defaults has nothing to attach components to and will tell you so instead of guessing.
4. The Four Components It Adds¶
Once a real project GameMode is confirmed, Setup Defaults inspects that GameMode's four actor class slots and adds one component to each, if it isn't already present:
| Actor Class Slot | Component Added |
|---|---|
| Default Pawn Class | MounteaDialogueParticipant |
| Player Controller Class | MounteaDialogueParticipantUserInterfaceComponent |
| Player State Class | MounteaDialogueManager |
| Game State Class | MounteaDialogueSession |
This mapping is the same Participant/UI Component/Manager/Session split covered on the Dialogue Manager and Dialogue Participant setup pages - Setup Defaults just automates adding each one to the class that's supposed to carry it, instead of you opening four Blueprints by hand.
For each of the four slots, Setup Defaults reports one of:
- Already Present - the component (or a subclass of it) is already on that Blueprint, nothing changed.
- Added - the component wasn't there, so it was added and the Blueprint recompiled.
- C++ Class - see section 5 below.
- Failed - the class exists and is a Blueprint, but adding the component didn't succeed.
- Skipped - the GameMode doesn't have a class assigned for that slot at all.
5. The C++ Limitation¶
C++ Classes Are Reported, Not Modified
Setup Defaults can only modify Blueprint-generated classes. For each of the four slots, it edits the Blueprint's Simple Construction Script directly (adding an SCS_Node for the component) and recompiles the Blueprint. If a slot is filled by a plain C++ class instead of a Blueprint, there is no construction script to edit - Setup Defaults reports that slot as C++ Class and moves on. It does not silently skip it, and it does not attempt any other way of injecting the component. A C++ Pawn, PlayerController, PlayerState, or GameState always needs the matching component added manually, in the class's own constructor.
6. Reading the Report¶
Setup Defaults renders its results as an HTML report inside an embedded Slate web browser popup - one row per slot, showing the class name, the status badge (Already Present / Added / C++ Class / Failed / Skipped), and a short detail message explaining why. There's nothing to configure on the report itself; it's a summary, not a dialog you interact with further.
Tip
If you re-run Setup Defaults after fixing a C++ class or reassigning a GameMode slot, it re-checks every slot from scratch - it's safe to run repeatedly and won't duplicate a component that's already present.