How to call an interface function from Actor Component to another Actor (that doesnt implement that component)

I cant seem to get it to callout the print string inside the Actor or Character BP
FYI, they’re all implemented the same interface and it works when the event was in another actor component but not in actor or character class. I’m new to this interface stuff and this part confuses me a lot.

Heres from Actor Component BP

Heres from Actor/Character BP

Component

Interface

Character

Result in game:

As you can see the interface is called from the component.

Only 3 assets

A call directly inside of the character would look like this:


(both work)

Whatever you are calling the interface on needs to implement it. If it doesn’t the engine just silently fails the process not giving any feedback.

1 Like

You are trying to call Send() on another actor right? If so this is your problem:

I your blueprint GetOwner() → Get Components by Interface() actually returns an array of the components inside the owning Actor. Not any other Actor. It actually skips the owning Actor itself and goes directly to its components so even if the Actor actually implements Send() it won’t be called.

What you should do is provide an actual Actor array by calling GetAllActorsOfClass().
You can check that by Implementing the interface in the owning Actor and then plugging GetOwner() directly into the Send() node.

1 Like

thanks for the reply but i wanted it to callout the event that will print string the text inside the character from the component. u seems to be giving me the other way around.

this works, thanks. but i use get actor of class instead of what u suggests and i wonder whats the difference between the two. so basically im calling out the wrong class in the beginning, i just assume its the same way to callout interface function from other component, my bad

nvm, shouldve use the get all actors of class or it will only apply to only one actor in the level instead of all of them