You need to use IDetailCustomization.
To do this, create a subclass of IDetailCustomization
Example:
class FPMGlobalClassDetailCustomization : public IDetailCustomization
{
public:
static TSharedRef<IDetailCustomization> MakeInstance();
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override;
};Then in your editor module register it:
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
PropertyModule.RegisterCustomClassLayout(UPaperTileMapComponent::StaticClass()->GetFName(), FOnGetDetailCustomizationInstance::CreateStatic(&FPMGlobalClassDetailCustomization::MakeInstance));And don’t forget to use UnregisterCustomClassLayout on module shutdown.