Im exporting from Articy Draft 3 and my conversations are getting unwieldy.
Ive got some game logic that jumps to a particular Entry ID when something happens. However as Im editing and making changes/additions, this entry ID keeps changing as I export from Articy, re-import to Unity and then I have to rework the logic.
Articy has a, External ID field for unique identifiers which I thought I could use to avoid changing ID's upon reimport, but Im not seeing any options in the importer to use this.
Barring this method, is there a way to get a consistent identifier out of Articy and into Unity so that reimporting doesnt require me to change my referenced entries all the time?
Thanks!
Articy External ID?
Articy External ID?
- Attachments
-
- Screenshot 2025-02-09 024124.png (9.86 KiB) Viewed 1705 times
-
- Screenshot 2025-02-09 023941.png (25.15 KiB) Viewed 1705 times
Re: Articy External ID?
Hi,
Every element in articy has an object ID, which is imported into the Dialogue System as a field named "Articy Id", and a technical name, which is import as a field named "Technical Name". (more info.) Articy Ids and Technical Names don't change unless you manually change them in articy:draft.
You can look up dialogue entries by either field. For example:
BTW, if you're localizing in the Dialogue System instead of in articy, you can also use Articy Id as a unique field in Localization Export/Import.
Every element in articy has an object ID, which is imported into the Dialogue System as a field named "Articy Id", and a technical name, which is import as a field named "Technical Name". (more info.) Articy Ids and Technical Names don't change unless you manually change them in articy:draft.
You can look up dialogue entries by either field. For example:
Code: Select all
JumpToEntryWithArticyId("0x01000001000011FB");
...
public void JumpToEntryWithArticyId(string articyId)
{
foreach (var conversation in DialogueManager.masterDatabase.conversations)
{
foreach (var entry in conversation.dialogueEntries)
{
if (Field.LookupValue(entry.fields, "Articy Id") == articyId)
{
var state = DialogueManager.conversationModel.GetState(entry);
DialogueManager.conversationController.GotoState(state);
return;
}
}
}
}
BTW, if you're localizing in the Dialogue System instead of in articy, you can also use Articy Id as a unique field in Localization Export/Import.
Re: Articy External ID?
Awesome, thank you Tony!
-M
-M