Description

Certain values, when changed in code, are not updated in a hot reload. For example, changing the Target Arm Length of a spring arm component will updated after hot reload, but changing the Scale does not update.

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add code based on Character (MyCharacter)
  3. Add the following to MyCharacter.h
    	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, meta = (AllowPrivateAccess = true), Category = test)
    		USpringArmComponent* MyArm;
    
  4. Add the following to MyCharacter.cpp
    	MyArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("MyArm"));
    	MyArm->SetRelativeScale3D(FVector(0.9, 0.9, 0.9));
    	MyArm->TargetArmLength = 900;
    
  5. Compile
  6. Create a blueprint based on MyCharacter (MyCharacterBP)
    • Note Spring arm component defaults
  7. In code, change FVector to (0.5, 0.5, 0.5) and TargetArmLength to 500
  8. Hot Reload

Result:
TargetArmLength is set to 500 after hot reload but Scale is still set to (0.9, 0.9, 0.9)

Expected:
Settings behavior is consistent after hot reload.

Have Comments or More Details?

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

8
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.15.1
CreatedApr 11, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021
Pull Requests
5830 - Algorithman
View Jira Issue