Changing a component's collision setting in a class constructor will update new instances of the class/component with the collision change, but new instances of a child BP do not reflect the change.
This is not a hot reload issue as the behavior is the same when compiling with the editor closed.
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Test) UCapsuleComponent* CollisionComp;
CollisionComp = CreateDefaultSubobject<UCapsuleComponent>(TEXT("CollisionComp"));
CollisionComp->SetCollisionResponseToAllChannels(ECR_Overlap);
RootComponent = CollisionComp;
Result:
C++ Class instance shows collision setting as Ignore while blueprint instance still shows collision setting as Overlap
Expected:
Both C++ class and blueprint have the same collision setting after updating the code.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-39981 in the post.
4 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.13.2, 4.14.1, 4.15 |
Created | Dec 21, 2016 |
---|---|
Resolved | Jan 2, 2018 |
Updated | Jul 14, 2021 |