Description

When using the DisplayName specifier in a UFUNCTION that has a return (anything other than void), the DisplayName does not apply to the function's name in the My Blueprints panel after being overridden and the function's node in the event graph.

In versions later than 4.11.2, the function's node in the event graph shows the display name but still shows incorrectly in the My Blueprints panel

Steps to Reproduce
  1. Create a new blank C++ project
  2. Add a new C++ class based off Actor called MyActor
  3. On line 29 of MyActor.cpp, add the following code:
    bool AMyActor::ShouldActivateNative_Implementation()
    {
    	return true;
    }
    
  4. On line 23 of MyActor.h, add the following code:
    UFUNCTION(BlueprintNativeEvent, DisplayName = "ShouldActivate")
    		bool ShouldActivateNative();
    
  5. Compile the project
  6. Add a new blueprint based off of MyActor
  7. In the My Blueprint panel, hover over "Functions", click the "Override" button and then select "ShouldActivate"
    Result: The entry for the function in the My Blueprint panel does not display the displayname specified (In 4.11.2 and prior, the node does not either)
    Expected: The display name should show for all in-editor mentions of this function

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-30552 in the post.

0
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.11.24.124.13
CreatedMay 10, 2016
ResolvedAug 18, 2021
UpdatedAug 18, 2021