Deleting items out of UDTs via JSON import

I’m running Ignition 8.1.1, and we have quite a few tag providers on remote tag servers, all feeding to one frontend server that has Vision, Reporting, etc. on it. We have 1 master set of UDTs that have been imported into every Tag provider, however we’re slimming some of them down because our tag count is getting high and we really don’t need quite a few of the tags that we initially put into the UDTs. They’re used in the PLCs, but aren’t really necessary to display on Ignition.

My problem is that when you delete tags out of a UDT, export it, then import it into another tag provider, it doesn’t actually delete anything in the second tag provider. I would imagine that the “Overwrite” import style would just replace the whole UDT JSON file with the new imported one, but it looks like it reads through the import file and only updates or creates the tags found in the import file, and doesn’t delete tags that aren’t present. It seems like the “Overwrite” and “MergeOverwrite” import styles are essentially the same.

I’ve found that by deleting the UDT definition and importing the new definition the old tags will be deleted, but any memory tags will lose their value. This is a problem because we use some memory tags for things like holding abbreviated tag labels and other things. It would be almost impossible to go back through the entire project and re-label everything at this point.

Is there a way to import a new UDT definition and have it delete unused tags without deleting memory tags and losing their value? I suppose I could make a script to delete tags, or possibly compare new vs old UDT definitions, but making and testing a script like that would probably take just as long as manually deleting the unused tags out of all the large UDTs spread across the different tag providers.

Any updates on this?

I have the same issue when exporting / importing updated UDT definitions between development and testing servers.
Adding and modifying tags in a UDT definition works great, but when importing a new definition where a tag has been removed does not remove the tag from the UDT definition on the import target gateway.

My current workaround is that I’ve just been disabling tags. It still leaves a bunch of orphaned tags sitting around in the UDT definitions so it’s not 100% ideal, but they don’t get scanned.