When an array of a struct, defined in code, is used in a blueprint, preforming a hot reload after making changes to the class with the struct will cause the blueprint nodes relating to the struct become broken prevent the blueprint from compiling.
Workaround:
Closing the editor before compiling (not hot reload) does not break the nodes when the project is reopened.
USTRUCT(BlueprintType) struct FInventoryData {
GENERATED_USTRUCT_BODY();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "InventoryInformations")
uint32 bIsSingleUseOnly : 1;
FInventoryData()
{
bIsSingleUseOnly = false;
}
};
UPROPERTY(BlueprintReadWrite, Category = "Inventory")
TArray<FInventoryData> Inventory;
Result:
Get Inventory node now reports with an error after the hot reload, preventing the blueprint from being compiled.
Expected:
Node Id remains after hot reload
Repro Rate:
3/3
Head over to the existing Questions & Answers thread and let us know what's up.
| 0 |
| Component | UE - Gameplay - Blueprint |
|---|---|
| Affects Versions | 4.11 |
| Created | Mar 21, 2016 |
|---|---|
| Resolved | Aug 18, 2021 |
| Updated | Aug 18, 2021 |