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.
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
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-17586 in the post.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.8 |
Created | Jun 24, 2015 |
---|---|
Resolved | Aug 4, 2016 |
Updated | Jul 14, 2021 |