I have an Ignition Edge 8.1.31 instance using MQTT Transmission to send tags to our local gateway (Ignition 8.1.24). UDTs are utilized on Ignition Edge so of course these are copied to the local gateway.
On the local gateway I am applying scripts to specific tags within UDTs.
I am currently working on a script and I am frequently debugging the script as I build it out. The issue I am running into is at some point the script on the actual instances of the UDT are not getting the updated script. I am edit the UDT, select the tag, click scripting, click on my script and see the updated version of it, but if I do the same on a tag instance of the UDT, I still see the old version of the script. The only way to get it to update is to delete the tag and toggle a refresh from Ignition Edge.
What's going on here? This issue is making it infinitely frustrating to develop in perspective
This isn't a Perspective question. Tags are independent of which UI system you are using, if any at all.
When you edit a UDT instance script, you are overriding it for that instance. After that, further changes to the UDT definition will not change that instance's script. (Same as if you overrode some other property of a UDT instance's member.)
Don't even open tag event scripts within a UDT instance--it is too easy to forget you've fiddled and break the inheritance when you save the tag. Look for the green dots that show what has been overridden, and discipline yourself to never open tag event scripts in instances.
If you have some functionality that really has to be the same for every tag, use a gateway tag change event in the project, not a tag event on the tag.
I am not opening tag events on a instance of the UDT, I am editing the UDT directly. Even if I try to edit the tag event on an instance it's greyed out and not editable