// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IPropertyTypeCustomization.h" class IPropertyHandle; struct FAssetData; class FCustomizableObjectIdentifierCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance(); /** IPropertyTypeCustomization interface */ virtual void CustomizeHeader(TSharedRef StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, class IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; private: TSharedPtr GuidUPropertyHandle; class UCustomizableObject* SelectedCustomizableObject = nullptr; FString OnGetObjectPath() const; void OnEventChanged(const FAssetData& InAssetData); };