You could do this:
Test.h
...
#include "Test.generated.h"
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMyCustomOnCreatePartyComplete, ...);
//DECLARE_DELEGATE_OneParam(FMyCustomOnCreatePartyComplete, ..); <- This is causing error but I don't know why.
UCLASS()
class ATest : public AActor
{
...
public:
UPROPERTY(BlueprintAssignable)
FMyCustomOnCreatePartyComplete OnCreatePartyComplete;
...
}
For some reason DECLARE_DELEGATE_* is causing the error you posted:
error : Unrecognized type 'FOnCreatePartyComplete' - type must be a UCLASS, USTRUCT or UENUM
I would use my own delegate to expose to Blueprint, as you wouldn’t have much trouble if Unreal changes or deprecate the delegate you are trying to use. I had this problem once.
Just Broadcast your own delegate when FOnCreatePartyComplete is called.