Details
Target: Obenseuer 0.5.08 (buildid 25969064), Unity 6000.0.77f1 Mono, BepInEx 6 Unity.Mono (be.788, the tested build) or BepInEx 5 (5.4.23 or later). Namespace: ObenseuerCore. Source: src/Story/DialogueAuthoring.cs. Logs go to BepInEx\logs\obenseuer.moddingframework.dialogueauthoring.log.
Everything not listed in this reference is internal and may change without notice. Items marked experimental may change too.
This API builds on Dialogue (src/Story/Dialogue.cs), so it needs Dialogue.IsAvailable to be true. The framework changes some of the game’s methods when it starts so Dialogue works. This page calls that set of changes a feature group. Its feature group is obenseuer.moddingframework.dialogue, the name you will see in the log for responses, branches and narration. Writing a conversation itself changes no game method.
When you can call it
- Call everything from your mod’s normal code (
OnLoad, event handlers,Update), not from a background thread you started. The game only runs safely on the main thread (see the glossary). - Writes are refused while a save is loading or being written. The calls return
nullorfalse, or a refusal reason, instead of changing anything.
If something fails to set up
The framework changes some of the game’s methods when it starts. If a game update breaks one of them, the framework turns off the feature group that depends on it, and writes error lines to the group’s log file in BepInEx\logs. The rest of the framework keeps working.
- If the dialogue system could not be set up,
Dialogue.IsAvailableisfalse.Narrate,AddResponseandAddBranchthen refuse their calls, andDialogueAuthoring.AddgivesNotReady.