"ShowOnlyInnerProperties" in struct does not work with subcategories

I notice that support for subcategories in property list has been added 4.12, i wanted to use them to make struct properties of my object look more cleaner, something like post processing struct has, i could not figure how this was done but now i think it was coded property customization class (i might actually look in to it). In 4.11 i find “ShowOnlyInnerProperties” meta flag which makes struct properties appear as a normal property of object, in 4.12 i tried to use subcategories with it, but when i use subcategory it makes that struct property complitly disappear, i guess subcategory support was not added to that flag, but for consistency sake i consider this as bug :stuck_out_tongue:

Hi ,

  • Can you tell me what steps you are taking to reproduce this on your end?
  • Does this occur in a clean, blank project with no additional content or is it limited to one project?

Hi ,

We have not heard from you in several days. I am marking this as answered for tracking purposes. If you are still experiencing this error, please comment with the requested information.

Sorry for late repose, making new C++ projects on my too old is pain :stuck_out_tongue:

-First C++ project needs to be created and here the test code i made, this can be pasted in place of default gamemode class (leaving the includes as they are) that is generated with the C++ project, it should work… at least it worked for me:

USTRUCT(BlueprintType)
struct FTestStruct{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, Category = "Test Category")
	FString Value1;

	UPROPERTY(EditAnywhere, Category = "Test Category")
	FString Value2;

	UPROPERTY(EditAnywhere, Category = "Test Category|Subcategory")
	FString SubValue1;

	UPROPERTY(EditAnywhere, Category = "Test Category|Subcategory")
	FString SubValue2;

	UPROPERTY(EditAnywhere, Category = "Another Category|Subcategory")
	FString Hello;

	UPROPERTY(EditAnywhere, Category = "Another Category|Subcategory")
	FString AnotherHello;
};

UCLASS(BlueprintType,Blueprintable)
class UBugTest : public UObject
{
	GENERATED_BODY()
	
	UPROPERTY(EditAnywhere, Category = "Category", meta=(ShowOnlyInnerProperties))
	FTestStruct Test;
	
	
};

-Then after compilation and opening then project, blueprint needs to be created based of that class

-In blueprint in Class Defaults only Value 1 and Value 2 will apper, only variables that don’t have subcategory.

I did fresh project to test the above code and it also occurs in the too. In my original code it was component properties, but i guess this will occur on any property list

To tell the truth i don’t really know what is desired result of ShowOnlyInnerProperties is, i find it in FPostProcessingSettings properties of other class as i was searching the way for categories in structs to work, but this we effect of struct varbales visually becoming actor variables been satisfactory for me, subcategory support for this would make things even better

Hey -

I am not familiar with ShowOnlyInnerProperties either, however the properties not appearing in the editor does sound like an issue. I have entered a bug report as UE-32252 to investigate this behavior.

Cheers

When i try search code in issue tracker it said that issue entry might not be public, can you make it public so i can check the status please ^^ i marked answer as unreolved so somebody can notice this

Hey -

The current status of this issue is unresolved. I went ahead and made this public so you can view/vote on the issue. Here is a link to the issue: Unreal Engine Issues and Bug Tracker (UE-32252)

Ok thanks :slight_smile:

This is still a problem after 3 years.

I found this answer, which has an explanation of what ShowOnlyInnerProperties does. https://answers.unrealengine.com/questions/238393/what-is-the-effect-of-showonlyinnerproperties.html
I kknow this post is about 4 years old, but it would be good to help clarify if this is a bug or not.

I know I am late, I just thought I should say this.

It is definitely a bug. This is just a specific use case that probably was not tested and/or required more intrusive changes to work.