I have a default provider (Modbus) and a MQTT provder with a few MQTT tags.
I would like to have all my tags and UDTs under the default provider.
I have made a UDT in my default provider that references the MQTT tags through reference tags. So that I can instantiate the MQTT tags in my default provider.
Is this a good or bad way to use reference tags. Any drawbacks or pitfalls ?
I also do this. I have UDT's that build out tags in the default provider to mirror the tag structure in the MQTT provider. Once the tag structure is identical for all tags you can then just use the boilerplate '[MQTT Engine]{PathToTag}' reference path for everything and it will automatically pull the correct tag.
I have found this to be useful because it allows us to have different tag configurations in the default tag provider than the MQTT tags. This means we can have history, alarms, etc. on the default tags while the MQTT tags can ignore all the local tag configurations that you might have set up at the edge.
It does potentially double the number of tags on your gateway, but I've found Ignition can handle several hundred thousand individual tags (maybe even more, just what we have gotten to on our gateway) just fine if you have decent hardware.
It does mean however that we have to keep up with mirroring the UDT's that exist on the default provider and wherever the MQTT tags are coming from. Not necessarily hard, but something else to keep in mind if you make changes to your tag structures in the future.