How to get the Current Date in Unreal Engine

Unreal Engine has a DateTime object that returns the current time up to the millisecond. As such it’s a little awkward to deal with the raw value, but there are handy outputs when we split the struct. Here’s a simple example of how to get something like 250808 for the 8th of August 2025:

Creating Journal Entries in Story Framework

Journal Entries are tracked as part of the SF Inventory Manager class. They’re a way to display items the player has found but not necessarily collected. As such, items in the Journal can be examined with the 3D viewer, just like inventory items can, although they’re not in the players possession. This is a nice …

Read more

Creating Memoirs in Story Framework

Memoirs are pre-defined entries in a data table that can be unlocked by consequential tags. They’re easy to setup and trigger through custom logic, let’s take a look how to create one from scratch. First, take a look at the MemoirEntryList_DT under Pick a row and see how the examples are setup. Create a new …

Read more

How to create Dialogues with Narrative Tales

Narrative excels at dialogues, and they can be kicked off manually upon interactions with NPCs and objects like smart appliances, telephones, anything really. All we need is a brand new dialogue object and flesh it out. Open it up and select the Class Defaults, then populate the participants of this dialogue. It’s typically one or …

Read more

Creating a new landscape with Brushify in Unreal Engine 5.5

Endless engine changes means documentation from a few months ago can get outdated overnight, which is one of the downsides of “cutting edge” software. How rude indeed. Brushify is a good example, where the process of adding a brand new landscape object and trying to get the included material layer system going isn’t as straightforward …

Read more

Make one morph follow another from a different mesh in iClone

We can use iClone’s Morph Creator to import morph targets and subsequently animate them. While it’s easy to create single morphs, it can be convenient to have a single slider to animate related morphs on related meshes. Think of an expression morph that also adjusts the hair, or part of their clothing. Those are technically …

Read more

Building a Fetch Quest with Story Framework

Fetch quests are missions in which the player needs to go off and collect something, often in multiple quantities. For this example we’ll collect three bones for an NPC. I’ll create a new interactable blueprint for this, making it a child of Story Framework’s Interactable Base BP. I’ll add three copies of this class into …

Read more

Implementing Story Choices in Story Framework

Story Framework 4.1 introduced a new feature called Story Choices. With them we can give the player a choice to make with potentially devastating consequences. They’re easy to setup as part of the SF Sequence Manager component and can be reacted to with a Switch on String. Each choice can have a consequential tag that …

Read more

Creating Interior Dialogues with Subtitles in Story Framework

Story Framework has a feature called Subtitles, with which we can bring up text whenever we feel the need. This works great for informing players about things around them, as well as interior dialogues the player may have with themselves. They’re really easy to create thanks to the Play Sound with Subtitles node. Here’s an …

Read more

How to debug input issues in Unreal Engine

To get an idea which part of a large system is processing what is vital to understanding where issues come from. Without knowing where to start, it’s impossible to fix things that aren’t working. Input controls in Unreal Engine for example can be spread across a number of files. To understand where our input is …

Read more

Integrating DigiCam with Story Framework

The above video shows how to integrate SF and Digi Cam. I’ve had to do this multiple times to wrap my head around it and thought some notes are in other, so here’s how to do it: Player Controller Input Overrides In the DigiCamInfo Data Asset, pick Story Framework’s main gameplay input mapping context (SFGameplay_IMC). …

Read more

How to use the Current Folder option in Unreal Engine

In the Viewport Outliner, we can designate any folder in our hierarchy as the “current folder”. This means when we add objects from the content browser into our scene, they don’t clutter up the main hierarchy but instead end up in said folder. Simply right-click the folder you want to use, then choose “make current”. …

Read more

Using Tasks in Story Framework

Tasks are missions (or quests) for the player to do and to progress in the game. In Story Framework they’re part of the task queue, which in turn is part of the inventory manager. We can add tasks to the queue, which when active can be later completed or failed. We must implement the “reaction …

Read more

Creating NPC Dialogues with Story Framework 4

Dialogues are a little tricky, complex and unintuitive to setup in Story Framework, so here’s an overview that will aid my (and perhaps your) memory. The hierarchy goes like this, no wonder I’m confused about it: Basic Conversations Each index in the Dialogue represents an independent conversation. We need at least one section, while others …

Read more

Interacting with NPCs in Narrative Pro

To interact with a Non-Player Character in Narrative Pro, we need to first In addition we’ll see how to bring up a dialogue option only if the player has an item in their inventory, and how we can give it to the NPC. Let’s take a look how all this works. Creating and spawning an …

Read more

Creating an Interactable Item in Narrative Pro

Narrative has a component we can add to a blueprint that will turn it into an interactable object. It’s aptly called NarrativeInteractible. Once added to the class, we can select it and override the OnInteracted event. This will let us implement custom code that executes on interaction. The Interaction section on the component lets us …

Read more

How to switch Story Framework into First Person mode

In the player controller (SFDemoPlayerController_BP in the default project), select the camera manager component. Under Camera Settings on the left, switch between ThirdPerson and FirstPerson. This will determine what mode the game starts in. To switch camera modes while the game is playing we can press C to toggle (or hold Y on the gamepad). …

Read more