I have come across a potential bug?
I have a custom actor blueprint. The actor has a TArray within another struct wrapper.
FMyStruct has members with InlineEditConditionToggle.
USTRUCT(BlueprintType)
struct FMyStruct
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, meta=(InlineEditConditionToggle))
bool bIntensity{false};
UPROPERTY(EditAnywhere, meta=(EditCondition="bIntensity"))
float Intensity{1.0f};
UPROPERTY(EditAnywhere)
float IntensityFactor{1.0f};
}
The wrapper struct is just a simple wrapper for the array initialised with a single entry.
USTRUCT(BlueprintType)
struct FMyStructCollection
{
GENERATED_BODY()
FMyStructCollection() { Members.Add(FMyStruct()); }
UPROPERTY(EditAnywhere)
TArray<FMyStruct> Members{};
};
When I edit the blueprint, and make changes to the array, Unreal crashes if I click the edit condition checkbox on newly added array elements but only if the edit condition defaults to false and only if there’s instances of the actor in the loaded level.
I can edit other parameters fine, and if I default the edit condition to true, it works fine and can be toggled on/off as required.
If I load an empty level, I can make changes to the array and toggle the properties just fine regardless of the inline edit condition default value.
Assertion failed: ContainerPtr [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\UnrealType.h] [Line: 687]
Edit: This is in 5.5.4.