Nested components with EditAnywhere specifier not editable

I was trying to create following component hierarchy within my actor:

- UMyActor
    - UMyComponent
      - UCameraComponent

I decorated both components with UProperty macro and gave them EditAnywhere specifier.

While the CameraComponent shows up on the list in details panel I can’t edit its properties. Though, I can edit them below if I expand CustomComponent category and navigate to CameraComponent. Then I can punch in different location but I can’t move the component in the viewport.

I may be missing something here but is there a way to make CameraComponent fully editable?

Hello kampaw,

I was able to create a nested component as you showed without having any editing problems. Can you post the code to show how you’re going about creating/nesting these components?

Hey, for your convenience and just to be safe I created an empty project, here’s the paste MyActor.cpp · GitHub and here’s the result Am I doing something wrong?

Thank you for providing that information, I had assumed that you had them all inheriting from one another instead of being children in this way. From what I gather, the actual bug here is that NestedCamera is being shown in the hierarchy as a child of the MyActor1 instance, instead of it not being editable in this manner. As this NestedCamera is a child of the MyActorComponent, it should only be seen/editable from inside of the MyActorComponent’s properties. I have reported this particular bug so that there is no other further confusion. For your reference, the bug number is UE-22337.

Hey, thanks for your answer. I hope I didn’t come off as I was complaining or anything, I was just seeking answers. When I saw that NestedCamera shows up under MyActor I assumed it is accessible the same way as any primitive component created by MyActor, for example it can be moved in the viewport. I understand that’s not the case and only direct children of the actor can be edited this way?