I went back and copied the .h and .cpp from the built-in Character class that works fine, so… why isn’t mine displaying in any of the blueprints? (All the other components display just fine)
Yup. I’ve also tried a number of things in the code including EditAnywhere, etc.
I simply can’t get the capsule collider to display, which is a problem because now I really need to modify it’s collision settings…
I found a way to fix , I rebased the actor to the lowest level I could, Actor or Pawn, then rebased it again to my c++, fixed it all and I didn’t have to rewrite anything in c++ or in the BP
I believe it a bug: If you add the component to the parent class AFTER you created the child blueprint then the new component’s details panel won’t show up. The only way I know to fix it is re-parenting but that means you will lose all the existing datas you changed in the child class.
I found that often occurs when not using the proper actor constructor and not using Object Initializer to create components. If the components were added/changed after the fact, then refreshing the blueprint brings them back. Looks like some UPROPERTY meta gets baked into the BP somehow.
Worked for me aswell. If one inherited Component doesn’t show any Details in the BP-Editor, reparenting to Actor using “Class Settings” -> Parent Class and reparenting back to the original file works fine. Even though the parent c++ file can access the Component, the BP file can’t even though it is not “directly” trying to access it. (Engine Version 4.20.3)
Also a problem . I have a parent class with a billboard component in it, and the construction script changes the billboard sprite and prints it to log. I then make various child classes from that parent. On some children it works and on others it doesn’t - the log always says the instance’s component has the correct sprite but the placed instance’s component doesn’t reflect the change.
In the end I just had to give the children their own billboard component always. I can still do the work in the parent, but I have to return the billboard via an interface function that I override on each child, which is a bit of a pain in the ■■■ but ensures it always works.
Hi! I´ve been facing problem in different engine versions for the last 2-ish years, so I decided to write the ultimate bug report at UDN. Hopefully will be the time where we can find a good solution. https://udn.unrealengine.com/questio…-is-empty.html
If for (like for me) re-parenting is not an option (it will break you BP hierarchy, it will not compile because the logic related to the components your base class is adding from c++, you will have to re-set everything again, even transforms and rotations…) there’s one solution that worked for me twice already: rename the c++ variable that points to your component in the owner actor. My best guess is that, by renaming it, the unreal build tool actually recompiles and updates all the info in the owner actor blueprint. We had problem with 2 components after I renamed the class of said components. The details panel was empty. Did the renaming trick in the variable and magic! all was good. Then I was able to rename the variable back to its original name.