Managing StoryEngine Content With Git

Overview

StoryEngine Studio supports exporting and importing world data in a merge friendly format. This allows multiple content creators to work simultaneously in the same StoryEngine world and synchronize changes using source control.

Support is still early and a few manual steps are required to get going.

Getting Started

Configure A Git Content Repository

First, configure a git repository that will store your StoryEngine content. This can be an existing repository that is used for other game content, or a specific repository just for the StoryEngine related content.

TCD already has a content repository:

https://github.com/rift-games/tcd-content

Check Out The Content Repository

Now check out the repository that you created. This needs to be checked out inside the gittemp directory that StoryEngine uses to manage temporary git files, which is where you have checked out StoryEngine for development.

For example, if you checked out StoryEngine at /Users/steve/projects/se and your content repository is called tcd-content , do this:

cd /Users/steve/projects/se/gittemp
git clone git@github.com:rift-games/tcd-content.git

Connect Your StoryEngine World To Git

Open the Database tool in StoryEngine Studio and navigate to the Worlds.

studio_database_list_worlds.png

Pick the world you are connecting to git.

Edit the Git Directory field.

Edit the Git Branch field. This is should be the branch you want to work on. If it is different from the branch you’ve checked out above, StoryEngine will switch to the branch named here the next time you sync.

Leave the Git Hash field blank and StoryEngine will auto track to the head of the the configured branch.

Screenshot 2025-03-19 at 8.50.36 AM.png

Synchronizing With Git

StoryEngine Studio manages the basic git interactions to automatically sync your changes to git and merge in any remote changes.

Go to Worlds and find the world you want to sync. Then choose “Sync With Git” in the context menu.

Screenshot 2025-03-19 at 8.52.58 AM.png

This export any changes you have in StoryEngine to git.