Skip to content

Radoub Formats UTD

LordOfMyatar edited this page May 24, 2026 · 3 revisions

UTD Format

UTD files store door blueprints using the GFF format with a high-level API.


Overview

UTD (Universal Template Door) files define door templates for NWN modules — standard doors, gates, area transitions. Radoub.Formats provides a typed reader/writer and a dedicated search provider (UtdSearchProvider) for the Marlinspike search engine.


Structure

flowchart TB
    UTD[UTD File] --> Identity[Identity]
    UTD --> Combat[Combat / Physical]
    UTD --> Lock[Lock / Trap]
    UTD --> Door[Door-Specific]
    UTD --> Scripts[Scripts]
    Identity --> Name[ResRef, Tag, LocName, Description]
    Combat --> HP[HP, Hardness, Saves]
    Combat --> Appearance[Appearance, GenericType]
    Lock --> LockFields[Lockable, OpenLockDC]
    Lock --> TrapFields[TrapFlag, TrapType]
    Door --> Transition[LinkedTo, LinkedToFlags]
    Door --> LoadScreen[LoadScreenID]
    Scripts --> Events[14 Event Scripts]
Loading

Identity fields

Property Type Description
TemplateResRef string Blueprint filename (max 16 chars)
Tag string Door tag (max 32 chars)
LocName CExoLocString Door name (localized)
Description CExoLocString Description (localized)
Comment string Designer comment
PaletteID byte Toolset palette ID
Conversation string Associated .dlg file

Combat and physical fields

Property Type Default Description
Appearance uint 0 Index into doortypes.2da
GenericType byte 0 Index into genericdoors.2da (when Appearance=0)
HP short 0 Maximum hit points
CurrentHP short 0 Current hit points
Hardness byte 0 Damage reduction
Fort byte 0 Fortitude save
Ref byte 0 Reflex save
Will byte 0 Will save
Plot bool false Plot object (indestructible)
AnimationState byte 0 0=closed, 1=opened1, 2=opened2

Lock and trap fields

Same as UTP — see Radoub-Formats-UTP.

Door-specific fields

Property Type Default Description
LinkedTo string "" Area transition target tag
LinkedToFlags byte 0 0=none, 1=door, 2=waypoint
LoadScreenID ushort 0 Index into loadscreens.2da (0=destination default)

Script fields

14 event scripts, all CResRef (string):

OnClick, OnClosed, OnDamaged, OnDeath, OnDisarm, OnFailToOpen, OnHeartbeat, OnLock, OnMeleeAttacked, OnOpen, OnSpellCastAt, OnTrapTriggered, OnUnlock, OnUserDefined

Door vs Placeable scripts — Doors have OnClick (area transition) and OnFailToOpen. Placeables have OnUsed and OnInvDisturbed.


API

// Read
var utd = UtdReader.Read("door_met005.utd");
var utd = UtdReader.Read(byteArray);

// Write
UtdWriter.Write(utd, "door_met005.utd");
byte[] bytes = UtdWriter.Write(utd);

Search provider

UtdSearchProvider searches Name, Description, Tag, ResRef, Comment, Conversation, LinkedTo, all 14 scripts, and VarTable. Registered in SearchProviderFactory.


2DA references

2DA File Field Purpose
doortypes.2da Appearance Door model (when >0)
genericdoors.2da GenericType Generic door model (when Appearance=0)
loadscreens.2da LoadScreenID Area transition loading screen
traps.2da TrapType Trap effect properties

BioWare spec

See Bioware-Legacy-DoorPlaceableGFF Section 3 (Door Struct).


Home | Index | Radoub-Formats

Page freshness: 2026-05-24


Parley

Getting Started

User Guide

Features

Help


Manifest


Quartermaster


Relique


Reliquary


Fence

  • Fence - Merchant/Store Editor

Trebuchet


Shared Features


Developers

Parley Internals

Manifest Internals

Quartermaster Internals

Relique Internals

Reliquary Internals

Fence Internals

Marlinspike (Search Engine)

Trebuchet Internals

Radoub.UI


Radoub.Formats

Library

Low-Level Formats

High-Level Parsers


Legacy Bioware Docs

Original BioWare Aurora Engine file format specifications.

Core Formats

Object Blueprints

Module/Area Files

Reference


Page freshness: 2026-05-24

Index

Clone this wiki locally