# UDT Conversion Best Practice V 8.1

**URL:** <https://forum.inductiveautomation.com/t/udt-conversion-best-practice-v-8-1/91954>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [June 17, 2024, 2:06pm UTC](https://forum.inductiveautomation.com/t/udt-conversion-best-practice-v-8-1/91954 "2024-06-17T14:06:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jack\_Jones](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@Jack\_Jones](https://forum.inductiveautomation.com/u/Jack_Jones)\
**Post date:** [June 17, 2024, 2:06pm UTC](https://forum.inductiveautomation.com/t/udt-conversion-best-practice-v-8-1/91954/1 "2024-06-17T14:06:44Z")

</div>

Hi all,

I am picking up an old project in ignition and in this project, there are several machines that we are collecting data on. All of these machines are setup the same way and use similar tags.

However, the tags for data in the folders for each machine are located in different positions. There are 9 different machines, and I was wondering if there was a tool or best practice to create a new UDT for one of these machines and then quickly convert all of the old placements into one standardized form so that the data collected from them has much more traceability.

Any suggestions are welcome. Thanks.

---

<div class="post-metadata">

**Author:** ![brandon1](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@brandon1](https://forum.inductiveautomation.com/u/brandon1)\
**Post date:** [June 17, 2024, 2:51pm UTC](https://forum.inductiveautomation.com/t/udt-conversion-best-practice-v-8-1/91954/2 "2024-06-17T14:51:30Z")

</div>

I have found that creating UDTs using inheritance works nicely. So, find the common denominator between the machines and then build from there. For instance, if each machine has motor speed you can build that into the "base" UDT and then create variants whose parent is that base. I think it is useful to have several layers of inheritance, but this advice hinges a lot on how similar that tags are between these machines.

Example inheritance  
rootMachine --\> MachineType1Base --\> MacineType1\_2Motor  
rootMachine --\> MachineType2Base --\> MachineType2\_3Motor
