Narrative Tales is great for creating dialogues with its node-based intuitive workflow. Story Framework is fantastic at everything else – why not bring the two together. But how? Before I forget, here’s how I did it!
Adding Plugins
In a brand new or existing Story Framework project, let’s add the two plugins we need to make this work:
- Narrative Common UI
- Narrative Tales
Restart the editor once enabled.
Setting up the HUD
Narrative Tales brings its own HUD elements. These rely on a plugin called Narrative Common UI, which needs to be installed alongside it. Refer to these instructions to get it going: https://docs.narrativetools.io/common-ui/ This involves setting up a new HUD to our viewport, and adding the Narrative Tales component to our Player Controller.
I’ve called mine Narrative HUD and hooked it into Begin Play like this:


We integrate the Tales component with our UI as follows: select the Tales component, then find the On Dialogue Began event and override it. For this we grab our Narratvie HUD reference, from which we grab a reference to the WBP Narrative HUD widget, and on there we call Open Menu. Make sure to set the widget on that function to W Narrative, otherwise only the first line of dialogue will fire.

With this setup, any events from Narrative Tales will be shown on screen and the integration will “just work”. To test this out, check out my article about creating dialogues with Narrative Tales.
Changing the Player’s Default Name
Narrative Tales has a small peculiarity in that it won’t acknowledge the player’s name that’s set in a Dialogue, but rather use the current computer’s name (or in a packaged game, the Steam/Playstation/Xbox name when available). Narrative Pro has an override for this, but Tales does not (yet, perhaps in a later version).
Thankfully there’s an easy fix by way of using the Change Name node from our Game Mode. Add this after the HUD setup above, or change it at any time during the game.

Interacting with Story Framework
In my setup, I wanted to use Story Framework for all interactions and inventory, but use Narrative Tales for dialogues and quests. The easiest way to pull this off is to create a regular SF Interactable subclass, setup properties for the mesh and name, then hook into the Event InteractWith interface. This can be done by double-clicking on the interface in the sidebar and becomes a custom event.
As an example, here’s how we can trigger a Narrative Dialogue with this technique. This is a great way to turn interactable objects into Narrative NPCs.

We can start quests the same way using the Begin Quest node, or through Narrative Dialogues.
Further Reading
- Common UI Documentation: https://docs.narrativetools.io/common-ui/
- Narrative Tales Documentation: https://docs.narrativetools.io/tales/