# How to hide some components of a UPROPERTY?

**URL:** <https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [October 16, 2019, 7:43am UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993 "2019-10-16T07:43:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous\_user\_e577384b](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_e577384b](https://forums.unrealengine.com/u/anonymous_user_e577384b)\
**Post date:** [October 16, 2019, 7:43am UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/1 "2019-10-16T07:43:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![CHEESE-IT](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CHEESE-IT](https://forums.unrealengine.com/u/CHEESE-IT)\
**Post date:** [October 16, 2019, 8:18am UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/2 "2019-10-16T08:18:29Z")

</div>

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

```
UPROPERTY(Category=RuntimeFloatCurve)
 class UCurveFloat* ExternalCurve;

```

This should do?

---

<div class="post-metadata">

**Author:** ![Shadowriver](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shadowriver](https://forums.unrealengine.com/u/Shadowriver)\
**Post date:** [October 16, 2019, 12:10pm UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/3 "2019-10-16T12:10:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_e577384b](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_e577384b](https://forums.unrealengine.com/u/anonymous_user_e577384b)\
**Post date:** [October 16, 2019, 5:27pm UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/4 "2019-10-16T17:27:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![CHEESE-IT](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CHEESE-IT](https://forums.unrealengine.com/u/CHEESE-IT)\
**Post date:** [October 16, 2019, 7:02pm UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/5 "2019-10-16T19:02:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_e577384b](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_e577384b](https://forums.unrealengine.com/u/anonymous_user_e577384b)\
**Post date:** [October 17, 2019, 1:21pm UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/6 "2019-10-17T13:21:05Z")

</div>

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()
};

```

---

<div class="post-metadata">

**Author:** ![CHEESE-IT](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CHEESE-IT](https://forums.unrealengine.com/u/CHEESE-IT)\
**Post date:** [October 19, 2019, 2:21am UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/7 "2019-10-19T02:21:35Z")

</div>

Hello,

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — ue4community.wiki! You will be able to find content from the official...

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.

---

<div class="post-metadata">

**Author:** ![DevDad](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DevDad](https://forums.unrealengine.com/u/DevDad)\
**Post date:** [November 1, 2020, 2:12pm UTC](https://forums.unrealengine.com/t/how-to-hide-some-components-of-a-uproperty/456993/8 "2020-11-01T14:12:50Z")

</div>

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.
