I would like to share our thoughts and suggestions regarding the articy Object ID(s) and its format used in UE4 articy plugin. The suggestions are based on our workflow so other developers or Nevigo might have different ideas.
The object ID in articy:draft is expressed in HEX format. On the other hand, the main input for the Object ID in the blueprint nodes is an integer split into Low and Hight parts. My guess is that the reason for splitting the ID in two parts is a shorter length of the integer format used by UE4 in blueprints.
When we test our dialogues and we need to temporarily hard-code the starting node, we use the HEX Object ID copied from the articy:draft Object ID field:
Then we use something like this to enter the Object ID:
When we want to cross-check that our blueprint code is retuning the proper Object ID, we would get it in the HEX format:
However, there is no direct way to search in articy:draft by the Object ID in the HEX format.*
*Correction: There is a way, see the answer from Nico below.
Suggestion No. 1:
It would be great to be able to paste the HEX Object ID directly into the Hex field in the e.g. ToArticyId function like in the variable setter:
Suggestion No. 2:
We would like to be able to search by Object ID in the articy:draft. It is preferred over the search by Technical name due to the uniqueness of the Object IDs. At this moment, the articy:draft returns No matches found message during the search.
Suggestion No. 3:
The Object IDs in articy:draft in the object properties (e.g. under the General tab) show an extra zero after the “x”, e.g. “0x010000010000042A”. On the other hand, the UE4 plugin and JSON export file show “0x10000010000042A”. This can cause potential issues when cross-checking using a text-based search by the Object ID. Therefore, eliminating the extra zero in the Object ID field under the e.g. General tab in the articy:draft would eliminate some troubles or an extra work.
Suggestion No. 4:
The ToHexString function in the blueprints returns lowercase Object IDs, e.g. 0x10000010000042a instead of 0x10000010000042A. Unifying the format might eliminate some potential issues for some developers.
Thank you for getting all the way to the end of this post . Any feedback is welcome, from Nevigo or from the UE4 plugin/articy:draft users.