Hi guys,
I have a function set up to play animations. One of the functions is an interface of IUsableAnimCallback - it’s just a simple interface I use that lets me pass in various types that all play animations. It looks like this:
UINTERFACE()
class UUsableAnimCallback : public UInterface
{
GENERATED_BODY()
};
class IUsableAnimCallback
{
GENERATED_BODY()
public:
virtual void OnAnimUseSectionHit() = 0;
virtual void OnAnimEnded() = 0;
};
The interface itself is adapted from what I had before, which was a pure virtual c++ class that didn’t inherit anything. I changed it to an interface so that I could pass it via RPC calls.
The signature of the function looks like this:
void PlayAnimation(ARoguelikeCharacter* character, UAnimMontage* animName, float speed, IUsableAnimCallback* caller = NULL);
This then has a few other functions, one with the necessary server macro, and then one with a multicast macro. They are called accordingly based on the authority of the caller in question.
When I try to compile this, I get the following error:
This happens for the validate and implementation functions for the server/multicast functions, but not any of the others.
If I change the type from the interface to TScriptInterface… I still get similar errors.
What am I missing? Is there a specific certain signature that needs to be satisfied to compile the server/multicast functions?