Description

Reported by customer:

It seems like in some cases, even when the InlineEditConditionToggle property specifier is not used, the behavior it enables is turned on anyway. It's possible to disable it with HideEditConditionToggle, but as far as I can tell from the [Link Removed]and this other [Link Removed], it shouldn't behave that way unless InlineEditConditionToggle is specified.

In the attached project I defined some properties in some structs in some arrays on a class, and they use EditCondition and EditConditionHides, but they do not use InlineEditConditionToggle.

USTRUCT()
struct FStructBase
{
   GENERATED_BODY()
 
public:
 
   UPROPERTY(EditAnywhere, meta = (Categories = "Mission", EditCondition = "bAllowEditingDefaultValue", EditConditionHides ))
   int DefaultValue = 0;
 
#if WITH_EDITORONLY_DATA
   UPROPERTY(meta = ())
   bool bAllowEditingDefaultValue = true;
#endif
};
 
USTRUCT()
struct FDerivedStruct : public FStructBase
{
   GENERATED_BODY()
};
 
USTRUCT()
struct FDerivedStruct2 : public FStructBase
{
   GENERATED_BODY()
 
#if WITH_EDITOR
   FDerivedStruct2() {
   bAllowEditingDefaultValue = false;
   };
#endif
};
 
/**
 * 
 */
UCLASS(Blueprintable)
class EDITCONDITIONS5X3_API UTestClass : public UObject
{
   GENERATED_BODY()
 
   UPROPERTY(EditAnywhere, meta = (Categories = "Mission"))
   TArray<FDerivedStruct> DerivedStructArray;
 
   UPROPERTY(EditAnywhere, meta = (Categories = "Mission"))
   TArray<FDerivedStruct2> FDerivedStruct2Array;
};

Despite this, the inline checkbox for enabling/disabling editing of the property shows up. Because the property is also using EditConditionHides, unchecking that box makes the variable no longer be displayed, along with that checkbox, and there's no way to bring it back. It's possible to disable this behavior by adding HideEditConditionToggle to the uproperty specifiers (and rebuilding and relaunching the editor), but it seems odd that is necessary when InlineEditConditionToggle was never specified in the first place.

Thanks,

Steps to Reproduce
  • Create a new project
  • Copy the example code from the description
  • Create an instance of the TestClass in a new map
  • Examine the properties in the details panel

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-216788 in the post.

0
Login to Vote

Fixed
Fix Commit34433924
CreatedJun 6, 2024
ResolvedJun 17, 2024
UpdatedJul 29, 2024
View Jira Issue