Developer Notes

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

Description

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.

Steps to Reproduce

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.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Non-Issue
ComponentUE - Gameplay - Blueprint
Affects Versions4.7.54.8
CreatedApr 20, 2015
ResolvedApr 22, 2015
UpdatedJul 14, 2021