How to add properties to c++ clases via plugin?

Yes the UAssetData is more for individual settings (You SubClass the UAssetData class, UActorComponent has an array of UAssetData pointers that contain your subclassed ones - it doesn’t subclass the actor at all, similar to Tags)

You can still use it, but you would have to have a pointer to the static mesh (that contains the UAssetData) and read your struct from that reference - if you’re just dragging the mesh onto your level, it clears those UAssetData lists from the StaticMesh Components used by the actors.

From the sounds of what you’re doing though - you’d be wrapping the StaticMesh in a Blueprint? It could work well with the UAssetData system if you are, you can edit your struct in the StaticMesh Editor, and all your Blueprints that reference that StaticMesh will get the updated struct:

Other options rather than build the data into the StaticMesh: You could have a global Map with the StaticMesh Reference as the Key and a struct with your data in as the Value? Or a DataTable - that is a common way of doing it too.