Skip to main content

Dialogue & Quests

When using a party component, dialogue & quests by default will work for an individual player.

This means that multiple players can start dialogue or quests independent of one another.

However, the benefit of using the party system is the ability to tie players together for quests & dialogue and the party system makes this really easy.

Quests

To enable a quest to be shared across all members of the party you need to start the quest on the Narrative Party component instead of the players component.

This will start the quest for all members within the party. Each time a member completes a task, it will complete it for all members at the same time.

Dialogue

To begin dialogue shared across all members of the party you need to call BeginDialogue on the Narrative Party component instead of the players component.

Dialogue options

During dialogue, options will be displayed to the players to advance the conversation. Narrative gives users the ability to decide which players can select the options.

party-dialogue-control-policy.webp

Enumerator NameDescription
Party Leader ControlledThis option will allow only the leader of the party to pick dialogue options.
All Party Members ControlledThis option will give each party member access to the dialogue options. When any player selects an option, it will advance for all members.

Events

Events within dialogue & quests have an enum property called Party Event Policy. This controls how the event runs.

Changing this property will allow you to customise how events run for your dialogue or quests.

events.webp

Enumerator NameDescription
PartyThis event will run on the party component for the quest. Perfect for spawning quest actors for the party.
All Party MembersThis event will be run once for each party member on their Narrative component directly. Perfect for granting rewards to each member.
Party LeaderThis event will run only for the leader of the party.

Conditions

Conditions within dialogue have an enum property called Party Condition Policy. This controls how the condition checks its state.

Changing this property will allow you to customise how / what conditions check for your dialogue.

conditions.webp

Enumerator NameDescription
Any Party Member PassesThe condition will check all party members, if any member passes then the condition will pass successfully.
Party PassesThe condition will check if the party component shared across all members passes then the condition will pass successfully.
All Party Members PassThe condition will check if every member passes, if a single one fails the condition will fail.
Party Leader PassesThe condition will check if only the leader of the party passes, then the condition will pass.