BluepirntNativeEvents only appear in a blueprint of the specified class rather than in a blueprint that has the specified component class added to the blueprint
If a function is marked as BlueprintNativeEvent inside of a class that inherits from a component (Scene component, Actor component, etc) then the function cannot be called in a blueprint with the component.
This is inconsistent with the same code in an a class that inherits from Actor where the function can be called and a red event node appears.
1. Open UE4Editor (Any project)
2. Add code to project based on Scene Component (MySceneComponent)
3. In the header file add the following:
UFUNCTION(BlueprintNativeEvent, Category = "My Object")
void MyEvent();
virtual void MyEvent_Implementation();
4. In the source, add empty Implementation for the function
5. Compile
6. Create a blueprint and add MyScene component to it
7. In event graph, try calling MyEvent from the Scene component
Result:
The call to MyEvent of the scene component cannot be made. Following steps 2-5 using an Actor class (MyActor) instead of Scene Component, then creating a BP of MyActor will allow a red MyEvent node to be created in the event graph.
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.7.5, 4.8 |
Created | Apr 20, 2015 |
---|---|
Resolved | Apr 22, 2015 |
Updated | Jul 14, 2021 |