It can be desirable for different plugins to be using userData, and I have wondered why there isn't a wrapper API that handles this elegantly.
There is no standard for what is put in this field, so if you're a plugin developer that wants to use it you just have to hope nobody does, or implement some mechanism to append your own data that will probably just end up breaking their implementation anyway.
A simple example would be adding notes to assets, userData seems like a simple no fuss way to do this, until you realise another plugin can conflict with your work.
In the past when I was developing a virtual production pipeline we were using it for: capture notes/priority colors, amending timecode data to timelines (saves having to find tracks), storing loading priorty for scenes, storing fallback binding data for timelines that allowed them to be rebound if they were duplicated without being referenced by a PlayableDirector.
In practice is this API considered off limits for plugin developers, and only intended for in-house asset pipelines. Are there any considerations to improve upon it?