Developer Notes

This issue no longer occurs in 4.21.

Description

After a hot reload, blueprint instances of TSubclassOf variables have their setting reset to "none"

Regression:
Yes - variable values remain after hot reload in 4.17.2 (CL 3658906)

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add Code based on actor (MyActor)
  3. Add the following to MyActor.h:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = test)
    	TSubclassOf<AActor> MySubActor;
    
  4. Compile
  5. Create a blueprint based on MyActor (MyActorBP)
  6. Select any option in the dropdown for MySubActor
  7. In VS, add the following to MyActor.h:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = test)
    	float SomeNum;
    
  8. Hot Reload

Result:
After hot reload, MySubActor resets to "none"

Expected:
Value set for the variable is retained after hot reload

Have Comments or More Details?

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

67
Login to Vote

Cannot Reproduce
CreatedNov 3, 2017
ResolvedSep 19, 2018
UpdatedJul 14, 2021