Tamriel Rebuilt ID Guidelines
These are ID naming conventions for the content files of Tamriel Rebuilt, such as TR_Mainland.esm and the in-development claims and release files that will be merged in it. This concerns new objects or scripts created when working on TR claims or section files – objects that are typically unique or tied to a specific claim, rather than the generic objects used repeatedly throughout the entire mod.
These are not the more strict ID conventions for assets in Tamriel_Data, the unified ESM that Tamriel Rebuilt and Project Tamriel use. If you are creating CS objects for a TR asset, those will go in Tamriel_Data and use Tamriel_Data's naming scheme (starting with "T_", not with "TR_").
If you search for Project Tamriel's ID guidelines, it has its own dedicated article.
General Pattern
TR_[map]_[location]_[...]_[what is it]
Ideally the ID of an object would tell you what it is, where it is, and what it's for, but IDs are limited to either 23 or 31 characters:
- up to 23 characters for NPCs, Creatures, Containers,
- up to 31 characters for anything else.
While in the Construction Set, you don't have to keep count of characters except for scripts and journals/topics – the CS will truncate IDs if they go over the limit. Hence the character limit is something you only need to keep in mind for script or journal IDs or when using other editors like tes3cmd
to modify IDs.
What to put in place of the brackets?
[Map]
: see below.
[Location]
may refer to the settlement (if available) or region, initials or a shortened version of the claim name, whatever is most convenient.
Other optional prefixes for specific object types are described in the examples on this page – they can show that the object is linked with a quest (_q_
), linked to a faction (_MG_
, _FG_
...) or so on.
Prefixes indicating object type (such as Container, Light) are not generally needed unless objects from different types could try to use the same ID: if an ID already says "chest
", it has no need for a "_cont_
" prefix. Again scripts and journals/topics are an exception as the CS lets you give them the same name as existing objects, which leads to errors later – for scripts, adding a _sc_
prefix or suffix is best.
Map Number
In Tamriel Rebuilt, the map ("m0"/"m1" to "m7") division, pictured below, is an arbitrary geographic division roughly tied to the borders of Imperial districts. While it no longer corresponds to public release steps (since 2008), it is still used both for internal organisation and for district-scale dialogue filtering.
The map prefix gives a general idea of which part of the mod an object is linked to. The prefix is _m4_
if the object is located in map 4.
More rarely, objects in the Vvardenfell area can use "m0
", typically for TR content plugins such as TR_Factions.
Always add this prefix, even when something else in the ID already points to a more specific location. Think town initials are enough? Look at m1
journal IDs and see if you can guess where these quests take place.
Examples
These examples illustrate general guidelines. When making new object IDs, don't rely on the first TR objects you can see listed in the CS. Some old ones don't follow any convention and every now and then new incorrect IDs seep through.
New Objects in Interior/Exterior Claims
ID | ok? | |
---|---|---|
T_MwDe_andasdesk | no! | - IDs starting with "T_" are Tamriel_Data IDs |
TR_furn_andasdesk | no! | - missing map prefix |
TR_m4_andasdesk | ok | - could use more claim/location info |
TR_m4_andothren_andasdesk | too long | - would be ok if it weren't a container (character limit) |
TR_m4_andoth_andasdesk | good | |
TR_i4_andoth_andasdesk | no. | - outdated naming scheme where you would use x/i/q for exterior, interior, or quest |
Note: see the Interior modding tutorial for how to name the cell. You can also use that plus a map prefix as a basis for any new object IDs: TR_mX_claimid_stuff
(e.g., TR_m7_LA6_Cave1somethingorother
).
NPCs
NPCs have some additional bits which determine the type of NPC you are dealing with
"_o_" – denotes a hostile NPC
"_s_" – a slave or vampire cattle
"_q_" – quest NPCs, typically not present by default
"_d_" - a dead NPC
"_V_" - a vampire
"_C_" - a dev cameo (use the developer's username instead of the NPC's name in the ID)
ID | ok? | |
---|---|---|
T_Mw_Amelphia | no! | - IDs starting with "T_" are Tamriel_Data IDs |
TR_Amelphia | no! | - missing map prefix |
TR_m3_Amelphia | ok | - preferably add last name if there is one |
TR_m3_Amelphia_Tarramon | good | |
TR_m3_o_Amelphia | good | - a hostile NPC |
TR_m3_q_Amelphia | good | - a NPC enabled by a quest |
TR_m3_OE_MG_Amelphia | good | - a NPC with faction(MG)/location(OE) |
Scripts
ID | ok? | |
---|---|---|
T_ScNpc_Mw_Map3_Amelphia | no! | - IDs starting with "T_" are Tamriel_Data IDs |
TR_Amelphia_Sc | no! | - missing map prefix |
TR_m3_Amelphia | no! | - can not be distinguished from the ID of the object/NPC it's on |
TR_m3_Amelphia_sc | good | |
TR_m3_sc_NPC_Amelphia | good | |
TR_m3_OE_MG_AmelphiaSC | good | |
TR_m3_OE_MG_q_AmelphiaTarramon_SC | no! | - over 31 characters |
Note: The compiler doesn't verify that script IDs are different from object/journal IDs.
Journals
General pattern:
TR_[map]_[Faction initials if any]_[Settlement initials or "wil"derness otherwise]_[Quest title or Faction questgiver]
ID | ok? | |
---|---|---|
TT_Foeburner | no! | - missing TR |
TR_Wil_Foeburner | no! | - missing map prefix |
TR_m3_Foeburner | no | - missing location or faction |
TR_m3_wil_Foeburner | good | - a misc quest started in the wilderness, in a dungeon... |
TR_m3_OE_Foeburner | good | - a misc quest started in Old Ebonheart |
TR_m3_TG_Foeburner | good | - a Thieves Guild quest |
TR_m3_TG_Fentus1 | good | - a Thieves Guild quest given by Fentus |
TR_m3_TG_OE_Fentus5_LostInChunzefk | no | - over 31 characters |
Note: The CS doesn't verify that journal IDs are different from object/script IDs. Just take care not to give any object the same ID as your journal.
Quest Objects
ID | ok? | |
---|---|---|
T_De_q_Pillow | no! | - IDs starting with "T_" are Tamriel_Data IDs |
TR_cheesegs | no! | - what the hell? |
TR_m3_cheesegs | ??? | - what's this? |
TR_m3_q_cheesegs | ??? | - it's a quest item, but...? |
TR_m3_OE_q_cheesegs | ok | - it's linked to a quest in OE |
TR_m3_OE_MG_cheesegs | good | - still don't know what's cheesegs, but it's in an OE Mages Guild quest |
Assets
See the Tamriel_Data ID scheme.