We could describe an interface as “a promise of some functionality”. So, if your class BP_ThirdPersonCharacter
declares itself to be using the BPI_Initiative
interface, it “promises” it will implement the functions that interface declares, which is just the Initiate
function in your case.
From the video it seems like your BP_ThirdPersonCharacter
calls Initiate
on itself, so, what will happen is its own Initiate
implementation will run, and that implementation (based on the video) doesn’t exist, so nothing will happen.
Here are some more guesses what might’ve went wrong between the idea and the execution:
- Is
BP_ThirdPersonCharacter
missing an implementation for theInitiate
function? If not, it’s not supposed to have theInitiative
interface either, because that’s what the interface is for. - If you planned to call
Initiate
on some other character (of type BP_Character), you need to pass it as the parameter toInitiate
(see image), because otherwise it defaults to the current blueprint (see Target = self).