bool SPropertyEditorAsset::CanSetBasedOnCustomClasses( const FAssetData& InAssetData ) const { bool bAllowedToSetBasedOnFilter = true; if( InAssetData.IsValid() && CustomClassFilters.Num() > 0 ) { bAllowedToSetBasedOnFilter = false; UClass* AssetClass = InAssetData.GetClass(); for( const UClass* AllowedClass : CustomClassFilters ) { const bool bAllowedClassIsInterface = AllowedClass->HasAnyClassFlags(CLASS_Interface); if( AssetClass->IsChildOf( AllowedClass ) || (bAllowedClassIsInterface && AssetClass->ImplementsInterface(AllowedClass)) ) { bAllowedToSetBasedOnFilter = true; break; } } } return bAllowedToSetBasedOnFilter; }