I’ve created a native interface to expose the generic team system to blueprint. It basically wraps the generic team interface in some stuff that I need in my BP functions. Here is my interface class.
UINTERFACE()
class UTeamBPInterface : public UInterface
{
GENERATED_UINTERFACE_BODY()
};
class ITeamBPInterface
{
GENERATED_IINTERFACE_BODY()
/** Assigns Team Agent to given TeamID */
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Teams")
void SetSameTeam(const AActor* const Other);
/** Determines if these two are on the same team */
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Teams")
bool GetSameTeamAs(const AActor* const Other);
};
I also have implementations for both these functions which basically wrap the generic team ID stuff.
The problem is when I add the above interface to a BP, the GetSameTeamAs function is automatically overridden in the BP, but the SetSameTeam function is not. I don’t want either function to be overridden in the BP, I want them to use the native implementation. Am I doing something wrong, or is this a bug?