[NOOB QUESTION] Actor component visibility in Details view

After two years of developing games on Unreal Engine, making lots of C++ Actors and Components, I still don’t know


Why my C++ components properties are all listed in details window of the base blueprint?
Why that is not happening when I add components in Blueprints?
How to fix this? T_T

My properties are described as this.

public:
	UPROPERTY(Category = "Components", VisibleAnywhere, BlueprintReadOnly)
	class USceneComponent* DefaultSceneRoot;

	UPROPERTY(Category = "Components", VisibleAnywhere, BlueprintReadOnly)
	class UChildActorComponent* TargetPoint;

	UPROPERTY(Category = "Components", VisibleAnywhere, BlueprintReadOnly)
	class UChildActorComponent* CameraPoint;

Hi ,

Thank you for pointing this out to us. I am not sure anyone here was aware of this discrepancy in the Details panel, since I am fairly certain that we all just select the Component whenever we want to view/edit one of its properties.

I spoke with one of our Blueprint developers, and he said that he is not aware of any particular reason why this discrepancy would occur. He did say, and I agree, that ideally the Details panel would display the same information regardless of whether a Component was added through code or directly in the Blueprint editor. I have entered a new feature request, UE-40145, to ask that a filter be considered in the Details panel that will allow you to show/hide these properties, hopefully with it working the same regardless of how the Component was added.

Hi . The feature request link is broken. It doesn’t exist. ---- What about hiding components in the details windows by code? That’s something you can do in Unity. Hide any component you don’t want anybody to touch or see, but it’s available.

I added another thread since this is related to blueprints: How to hide a component from the editor details? - Programming & Scripting - Epic Developer Community Forums

Hi darkgaze,

Sorry for not responding to you sooner. This can be accomplished to some degree by using various combinations of some of the UPROPERTY specifiers that are available. Specifically, BlueprintReadOnly, BlueprintReadWrite, EditAnywhere, EditDefaultsOnly, EditInstanceOnly, VisibleAnywhere, VisibleDefaultsOnly, and VisibleInstanceOnly. If you do not include a specifier at all, or you only use BlueprintReadWrite, for example, the component would appear in the Blueprint’s hierarchy, but none of the component’s properties would be visible in the Defaults tab.

With regards to the link that had previously been available for the feature request, we made the decision a little while ago to only make bug tickets visible on the live issue tracker site. Sorry for any confusion that may have caused.