I’m trying to create an actor component in C++ where it’ll have a function that is ‘BlueprintImplementableEvent’ making such a function an event. But when I attach the component to an actor and try searching for the event, it’s nowhere to be found.
here’s the code in the UInteractableObject.cpp
` #pragma once
// →→→→→→→→→→ Event I want to call in blueprints ←←←←←←←←←←
UFUNCTION(BlueprintImplementableEvent, Category = "Event on interact")
void StartInteraction();
it is impossible to do Event delegation from C++ to have impl on blueprint IF the class is a Component.
which you actually are using right now. I just have tried it, it only works if the class is an Actor. the name is also correct, so searching “Event” something something should come up.
To properly answer the question, BlueprintImplementableEvent does not imply BlueprintCallable. You can have a function implemented in blueprints, but not callable by the blueprints- even from within the function you’re implementing.
So the correct UFUNCTION would be this:
This is not true, you can absolutely do Implementable or Native events on components and have them work just fine.
The problem you are seeing is that you if you declare a blueprint event on a component and add that component to an actor the event won’t be available for the actor’s event graph. However, if you create a blueprint of the component, the event will be available on that event graph.
BlueprintCallable is what you need, also no need to type “event” just the event or function name and it should come up at the top or bottom of search, also for interaction have you considered just setting up an interface?