Interface RPC?

Last time I checked, you couldn’t have Server / Client functions as part of an interface.

That might have changed though. If so, try this:

Header



 class MYGAME_API II_Interaction
 {
     GENERATED_BODY()   // Use GENERATED_BODY()
 
     //Interface Functions
 
     UFUNCTION(Server, Reliable, WithValidation)
     void StartInteraction();
     virtual void StartInteraction_Implementation() {}
     virtual bool StartInteraction_Validate() { return true; }
 
     UFUNCTION(Server, Reliable, WithValidation)
     void StopInteraction();
     virtual void StopInteraction_Implementation() {}
     virtual bool StopInteraction_Validate() { return true; }
 };


Then try overriding _Implementation and _Validate in your otherclass.

If this doesn’t work, my suggestion would be to add Interaction functionality via an ActorComponent instead.