How to hide some components of a UPROPERTY?

I create a UPROPERTY

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Curve")
		FRuntimeFloatCurve Curve;

But the FRuntimeFloatCurve is a struct and the “ExternalCurve” will display in my detail panel.

USTRUCT(BlueprintType)
struct ENGINE_API FRuntimeFloatCurve
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY()
	FRichCurve EditorCurveData;

	UPROPERTY(EditAnywhere,Category=RuntimeFloatCurve)
	class UCurveFloat* ExternalCurve;

	FRuntimeFloatCurve();

	/** Get the current curve struct */
	FRichCurve* GetRichCurve();
	const FRichCurve* GetRichCurveConst() const;
};

Can I set the “ExternalCurve” is hidden

Hi,
I can not change this class because it is UE4 class.

I believe the “EditAnywhere” property specifier is making it editable in the detail panel.

UPROPERTY(Category=RuntimeFloatCurve)
 class UCurveFloat* ExternalCurve;

This should do?

You can also remove Category specifier at that point, as it’s useless if you don’t have nay other exposing specifiers

My mistake. As said you wouldn’t need the category specifier anymore. You wouldn’t need it to be a UPROPERTY either, unless you wanted it to be BlueprintCallable.

Also, are you able to compile without any errors? I was not.
It seems you want to add variables into the UE4 Struct called FRuntimeFloatCurve.
You’d have to make a custom struct with FRuntimeFloatCurve as the base struct in order to do so.

Hi Cheese,

I try to make a custom struct with FRuntimeFloatCurve as the base struct.
But nothing shows up in the detail panel.
Is my method correct or incorrect?
Thanks for your help!

USTRUCT()
struct FVive3DSPCurveStruct : public FRuntimeFloatCurve
{
	GENERATED_USTRUCT_BODY()
};

Hello,

If you haven’t seen this page yet, it should help you a lot.

If you have, then you should be able to declare an instance of your custom struct as a member variable inside of the class that you want to use it in. Then you should declare this member variable as a UPROPERTY with the specifiers that you want. EditAnywhere and giving it a Category should do.

FRuntimeFloatCurve has customization to be drawn in detail panel, for that there is CurveStructCustomization class which you can find in Engine\Source\Editor\DetailCustomizations. To make your FVive3DSPCurveStruct to be drawn also you need to create customization class for your struct.