Anyone used UAssetUserData in ULevel?

Currently my project needs special data related to a level.
Let’s call it USpecialDataRegistry, and i want to make it simillar to UMapBuildDataRegistry, because both depends on a level.
The qusetion is, how can I serialize/deserialize this? ULevel::*AssetUserData() functions seems right place to put my USpecialDataRegistry. But there’s no pratical documentations or articles about UAssetUserData.
What I want to do is implement almost same functionally as UMapBuildDataRegistry for my USpecialDataRegistry. Load with map, save with map, etc.
Anyone tried this?