Description

Seems like we are probably just missing a metadata check when drawing the details of the actor instance, and it is only doing the check for drawing ActorComponent details. 

Steps to Reproduce

Using this code in: 

//////////////////////////
// FooActor.h

UCLASS(Blueprintable)
class QAGAME_API AFooActor : public AActor
{
GENERATED_BODY()
public:

AFooActor();

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
UHideComponent* FooComponent;
};

// Hide most categories from the parent class
UCLASS(BlueprintType, HideCategories = ("Rendering|Components|Sprite", Physics, Collision, Navigation))
class QAGAME_API UHideComponent : public UBillboardComponent
{
public:
GENERATED_BODY()

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Foo")
UTexture2D* FooTexture;
};

//////////////////////////
// FooActor.cpp
AFooActor::AFooActor()
{
FooComponent = CreateDefaultSubobject<UHideComponent>(TEXT("I should be hidden Component"));
RootComponent = FooComponent;
}

1. Create a BP based off of FooActor

2. Drag an instance of it into the level

3. In the details panel, select the root instance

Result: 

The "Sprite" category is not hidden, but it is when you select the component itself

Expected: 

The "Sprite" category should be hidden on that component

Have Comments or More Details?

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

1
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint Editor
Affects Versions4.25
CreatedAug 4, 2020
ResolvedJul 19, 2022
UpdatedJul 19, 2022