Having C++ inherited components be editable in blueprints, when the component is declared in another component, and not in the actor itself
I'm having some trouble getting C++ inherited components exposed to blueprints where they are editable in the details tab.
Through searching, I have learned how to expose inherited components to blueprints and have them be editable. However, I'm having problems only when the component is declared in another component, and not declared in the actor itself.
Here's the scenario:
In this case, when I open BP_Foo in the blueprint editor, I would expect FooMesh, BarScene, and BarMesh all to be exposed and editable with the details tab. However, only FooMesh and BarScene, which are declared directly in the actor, are editable. BarMesh, which is declared in UBarSceneComponent and not in the actor, is not editable.
Below are screenshots and code to illustrate.
Screenshots of the BP_Foo blueprint are attached. FooMesh and BarScene are exposed and editable. BarMesh is exposed, but not editable.
So my question is, what is the best way to have components declared within components be editable in the blueprint just like those declared in the actor? Is what I'm trying to do possible? I suspect I have some fiddling to do with the UPROPERTY fields, but so far I haven't found a solution.
Any help is appreciated. Thanks in advance.
Looking at my setup again, I just realized that the details for BarMesh seem to be included in the details panel for the BarScene component (as shown in the attached ss-barscene.png). It's just not in the details panel for BarMesh, where I would have expected.
This certainly addresses my problem, and I feel a bit silly for not noticing this off the bat, but I suppose this is the intended behavior?
answered Feb 14 '18 at 05:13 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here