Description

If the TEXT("") portion of CreateDefaultSubobject is changed then the name of the component will update in the main viewport details but will not update inside the blueprint based on the class.

Steps to Reproduce

1. Open UE4 Editor (any project)
2. Create new code class based on actor (MyActor)
3. In MyActor.h add the following

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Test)
	UShapeComponent* Box;

4. In MyActor.cpp add the following to the constructor

Box = CreateDefaultSubobject<UBoxComponent>(TEXT("OriginalName"));

5. Compile code
6. Create a blueprint based on MyActor (MyActorBP)
7. Add instance of MyActorBP to the level
8. In Visual Studio, change "OriginalName" to "ChangedName"
Result:
The name of the component in the level will be "ChangedName while the name inside the blueprint will still be "Box".

Expected:
Names in blueprints and level match for consistency

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay - Blueprint
Affects Versions4.8
CreatedJun 24, 2015
ResolvedAug 4, 2016
UpdatedJul 14, 2021