Game Design Document Studio keeps a game's world, story, systems, quests, dialogue, maps, timelines, characters, production notes, and supporting assets together inside Unreal Engine. Records use editable templates, searchable links, and shared tools so design work stays connected as the project grows.
Installation | Opening the Studio | Quick Start | Interface | Records & Workspaces | Template Builder | Smart Pickers & Graphs | State Machines | Maps | Calendars & Timelines | Production Work | Example Project | Data, Recovery & Transfer | Runtime Data | Compatibility & Architecture | Troubleshooting
Open the studio from the Unreal Editor menu by selecting Tools > Game Design Document Studio. It opens as a dockable Slate tab. The project name appears beneath the product title and can be changed in Studio Settings.
| Area | Purpose |
|---|---|
| Top Toolbar | Creates records, searches the project, imports and exports GDDS files, saves current work, and runs validation. |
| Workspace List | Moves between the dashboard, library, design categories, production tools, settings, and validation. |
| Record List | Shows records in the active workspace. Search and filters narrow the list by title, ID, text, tags, speakers, conditions, assets, type, or classification. |
| Record Editor | Edits record identity, status, authority, template fields, relationships, domain tools, and source information. |
| Status Bar | Reports saves, imports, exports, validation results, navigation, and data-folder actions. |
Selecting New opens a small creation window. The available record types are filtered to the active workspace. The name and selected type are used to create the correct stable ID and template before the editor opens. Records are not saved as Untitled.
Use the record's Delete action to remove it. GDDS saves a recovery copy and a deletion tombstone so a later reload does not restore the deleted row.
| Workspace | Use It For |
|---|---|
| Dashboard | Project totals, unfinished work, validation issues, quick tips, and a clear starting point for a new design project. |
| Universal Library | Searching and filtering every record in the project from one list. |
| Worldbuilding & Lore | Lore, cultures, metaphysics, terminology, setting rules, and other facts that define the world. |
| Glossary | Project terms, definitions, pronunciation, aliases, and notes about correct usage. |
| Locations & Maps | Places, regions, biomes, settlements, territories, sampled maps, detailed captures, and linked markers. |
| Timelines & History | Calendars, days, months, seasons, eras, timeline tracks, historical periods, events, and story chronology. |
| Characters & Family | Identity, background, motives, goals, flaws, knowledge, relationships, family, voice, visuals, and game assets. |
| Bestiary | Creatures, wildlife, monsters, species, habitat, behavior, encounters, rewards, mesh assets, animation sets, and audio profiles. |
| Factions & Diplomacy | Organizations, ranks, hierarchy, members, territory, allies, enemies, reputation, and diplomatic relationships. |
| Story Structure | Plots, arcs, acts, sequences, beats, scenes, themes, turning points, dependencies, and outcomes. |
| Quest Design | Quest goals, requirements, objectives, branches, success, failure, rewards, conditions, actions, and follow-up quests or dialogue. |
| Conversation Writer | Conversations, participants, lines, player responses, branches, conditions, actions, results, End nodes, and voice links. |
| Dialogue & Quest Simulator | Playing through authored dialogue and quest paths while watching choices, variables, conditions, and results. |
| Gameplay Features | Rules, player experience, gameplay loops, tuning, progression, feedback, accessibility, dependencies, and testing plans. |
| Items & Equipment | Items, weapons, armor, consumables, equipment sets, resources, ownership, balance, presentation, and Unreal assets. |
| Abilities & Effects | Costs, targeting, cooldowns, durations, stacking, state changes, buffs, debuffs, presentation, and implementation assets. |
| State Machines | Typed variables, states, transitions, conditions, actions, execution context, ambient dialogue, and response pools. |
| Voice Production | Casting notes, scripts, speakers, performance direction, recordings, localization, approval, and delivery status. |
| Visual Development | Visual briefs, concepts, references, reviews, approved direction, and links to finished Unreal assets. |
| Template Builder | The forms, sections, fields, defaults, picker rules, inheritance, and graph support used by project records. |
| Studio Settings | Project title, default calendar, recovery interval, map sampling resolution, runtime data, and the example project. |
| Validation | Problems involving IDs, fields, links, graphs, variables, dialogue, quests, templates, and production data. |
Every record type starts with a built-in template. The Template Builder can add project templates, duplicate an existing design, inherit from a parent, reorder sections and fields, set defaults, and preview the form before it is used. Existing and new records resolve the current template definition, so an added field appears wherever that template is assigned.
Sections control the headings and grouping inside a record. Each section can define a name, stable ID, description, writing prompt, order, default expansion state, empty-section behavior, group, tab, and visibility rule. Inherited sections can be overridden without changing the parent template.
| Field Group | Available Inputs |
|---|---|
| Writing | Short text and long text. |
| Numbers & State | Integer, float, Boolean, percentage, limits, defaults, and validation rules. |
| Choices | Enumeration, multi-select, tags, and reusable value lists. |
| Dates | Standard dates and dates interpreted through the project's selected calendar. |
| Record Links | General records, record lists, characters, locations, factions, quests, and dialogue. |
| Unreal Assets | Content Browser asset and image references. |
| Presentation | Color and ordered value-list fields. |
Field settings include the label, stable ID, input type, description, writing prompt, default, placeholder, required and read-only state, search behavior, backlinks, multiple values, allowed record types, allowed values, auto-creation, numeric limits, recommended length, validation, visibility, and section placement.
Picker fields open with the search box focused. Search by a title, stable ID, related record, nested identity, or other indexed text. GDDS filters the results to IDs accepted by that field. If a result is related to a compatible record, the picker can follow that relationship and return the compatible ID.
Graph-capable records open in a dedicated tab so the canvas has room to work. The same editor is used for story, dialogue, quests, and opt-in relationship graphs. Available controls include:
The shared graph supports Start, Line, Choice, Information Hub, Condition, Action, Objective, Branch, Parallel, Evidence, Reward, Success, Failure, Jump, and End nodes. Quest records use Start, Objective, Branch, Success, Failure, and End quest nodes. An End node marks the end of the current dialogue or quest; it may optionally point to the next record.
The simulator follows dialogue and quest connections against an isolated set of variables. Selecting a response advances the test immediately. Reaching End stops the current flow and enables the next-record action when a follow-up dialogue or quest is assigned. Simulation does not change the project's runtime save data.
State-machine records are built around executable states rather than a general note form. Use them for ambient dialogue, response pools, encounters, quest flow, world state, or another system that needs variables, transitions, and actions.
A machine can be assigned to a region, location, timeline, timeline event, and set of participants. Persistence settings determine whether its state belongs to the current session or must remain available to gameplay.
Variables are not limited to true or false. Supported values include Boolean, integer, float, string, name, Gameplay Tag, narrative ID, object path, percentage, duration, and date-time. Scope can be global, player, character, relationship, reputation, quest, or dialogue session.
Each dialogue row contains the exact line, active state, speaker, optional voice-line record, performance direction, weight, cooldown, one-shot behavior, conditions, and resulting actions. This keeps regional barks, time-of-day dialogue, quest reactions, combat responses, and similar pools in one editable list.
Every capture records its type, resolution, world bounds, sample spacing, level, and distinct actor count. The map legend separates sampled terrain, collision-bearing surfaces, and areas outside landscape coverage.
Add markers directly to the map, assign a layer, and link each marker to a Location record. The location picker can find a direct location or another record related to a compatible location. If the place does not exist yet, select Create Location from the marker row. Linked markers can open their location record from the map.
Calendar records define the date system used by timeline fields. Days, months, and seasons are separate reusable records, so their names and order remain consistent across events and timelines. Choose the project's default calendar in Studio Settings.
Timeline events can define a title, track, start and end date, uncertainty, locations, description, linked records, prerequisites, and stable event ID. Use track names or tags such as Era and Major Event to control where records appear in the shared history view.
The World History panel stacks timeline and event records into shared tracks. Periods such as eras can span a date range while individual events appear below them. Double-click an entry to open its source record, right-drag to pan, and use the mouse wheel to zoom.
Voice profiles hold casting and performance direction. Voice-line records store the exact localized script, speaker, locale, delivery notes, recording reference, and review state. Dialogue and state-machine lines can link directly to the voice record used for production.
Visual briefs define the intended look before an asset exists. Concept records collect references and review decisions. Approved mesh, material, texture, animation, audio, image, and other Unreal assets use Content Browser selectors so design records can open the actual implementation asset.
Every record ends with Source and Ownership. Use it to name the responsible designer, track implementation state, retain source or reference material, and inspect the fingerprint used by project data. This information stays separate from the creative or technical fields that define the record itself.
Open Studio Settings and select Load Example Project to load a finished game-design example based on Dante's Divine Comedy. It treats the Dark Wood as a playable opening level and follows Dante's first meeting with Virgil. Records show how story, quests, dialogue, combat, world state, maps, art, audio, and level design can support the same part of a game.
Editable data is stored in Unreal DataTables beneath Content/GameDesignDocumentStudio/Data. Project metadata, templates, redirects, and deletion tombstones live in DT_GDDS_Project. Domain tables store the record rows for characters, quests, dialogue, locations, and the other record families.
Select Open Data Folder in the status bar to create the physical folder when necessary and open it in the operating system. Do not rename or edit managed DataTables outside GDDS while the studio is open.
The toolbar Save action writes every current record. Normal editing is saved when navigation leaves the active record, which keeps the selected text field and cursor stable while writing. Record renames save the new row before the previous row is removed.
Recovery snapshots, deleted-record archives, and simulator traces are stored under Saved/GameDesignDocumentStudio. Studio Settings controls the recovery interval and lists available snapshots. Recovery files are project safety data and are not included in packaged plugins.
Select the checkmark in the top toolbar to check stable IDs, required fields, references, templates, graphs, variables, quest flow, dialogue paths, and production data. Open Validation to review the results. Selecting a result opens its record or graph node when a direct target is available.
When packaged gameplay needs GDDS data, open Studio Settings and select Build Runtime Data. GDDS validates the project and writes /Game/GameDesignDocumentStudio/Generated/DA_GDDS_NarrativeDatabase. Runtime code reads this compiled asset instead of the editor DataTables.
| System | Purpose |
|---|---|
| UGDDS_NarrativeDatabase | Stores compiled project metadata, templates, reference definitions, and records. |
| UGDDS_NarrativeSubsystem | Loads the database, evaluates conditions, applies actions, manages dialogue sessions, advances state machines, and exposes quest and variable state. |
| UGDDS_NarrativeStateComponent | Provides save-compatible and replicated variable and quest state for an owning actor. |
| Item | Current Support |
|---|---|
| Unreal Engine | 5.4, 5.5, 5.6, 5.7, and 5.8 with a separate package for each engine version. |
| Development Platform | Windows Win64. |
| Target Build Platform | Windows Win64. |
| Third-party Dependencies | None in the standalone Fab version. |
| Editor Module | GameDesignDocumentStudioEditor owns Slate authoring, graphs, maps, timelines, validation, DataTable persistence, import/export, recovery, and runtime-data generation. |
| Runtime Module | GameDesignDocumentStudioRuntime owns compiled data, runtime queries, dialogue sessions, variables, quests, replication, templates, references, and lineage. |
| Network Replication | Runtime variable and quest state can use the narrative state component's replication support. Editor authoring tools are not replicated. |
| Blueprint Support | Runtime database, subsystem, state component, records, variables, quests, dialogue, references, and supporting structures expose reflected Unreal APIs where appropriate. |
Runtime code does not depend on the editor module. Editable DataTables remain editor-owned; packaged games read the compiled database. The standalone Fab build contains no game-specific content or framework adapter.