Also, the general process is this:
- Make a class that implements IDetailCustomization or IPropertyTypeCustomization
- Register your class in your module’s StartupModule() method
- Unregister your class in your module’s ShutdownModule() method
Once your class is registered for a certain UClass or UStruct type, the details panel will call the corresponding methods on your class whenever such a type needs to be visualized. For example, it may call CustomizeDetails() on your class customization, and it passes in a DetailBuilder, which you can use to create custom widgets, etc.