What is a suggested workflow that handles an event while a blueprint builds on the same event?

I have a c++ class that binds an action from input, and then a blueprint which i would like to add some functionality to this action. The docs say that once something handles input, it isnt available further down. I can understand why, it could get massively confusing otherwise.

But what is the suggested workflow for having C++ code that handles an event, and a blueprint that wants to build on top of the same event?

It depends on your setup.

If the blueprint is a subclass of the C++ class that is binding that action, then I believe you actually can bind it in both C++ and the blueprint and both would get called (C++ first, blueprint second if I recall, though relying on the ordering wouldn’t be a great idea), however this is probably generally considered to not be good design. In that case you’d be best off creating a BlueprintImplementableEvent in your C++ class and then implementing in the blueprint so you can control behaviour order.

If you’re talking about two entirely independent objects then you can manipulate whether a given event consumes the input key preventing other input components from processing that key. If the blueprint would receive the input first, Consume Input is a checkbox in the details panel when you have the event node selected. If the C++ is first in the input stack then you can set bConsumeInput to false on the FInputAxisBinding reference returned from BindAxis to allow the key to be passed down the stack.

Thanks. I realized that it is indeed bad design what I was trying to do. The Consume is what i was after.