Inherited component details not showing in blueprint?

Another way to fix it is remove the uproperty, compile, make sure the editor pics it up, then add it back in, compile. This is usually how I fix it when the details panel goes away.

Thank you so much!
I have version 4.24 still existing this bug.
Reparenting helped me

When this happens to me, remove the uproperty completely and recompile, make sure the hotload works and editor picks it up, then add it back in. I typically use EditDefaultsOnly, and BlueprintReadOnly.

Sometimes it takes me SEVERAL hotloads and re-compiles for it to pick up the changes. One time I compiled 7 times before it actually updated in the editor. I’m not exactly sure on why it sometimes it takes so long to pick up changes in the editor.

Thanks for the help! Also running into this bug on 4.24

Sometimes compiling 2 or 3 times gets it done aswell. But in the worst case reparenting works.

**[4.25.1] **Same issue - didn’t want to reparent, and commenting out

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Health") class UHealthComponent* Health;

compiling, uncommenting, compiling didn’t help. However, the above suggestion to rename

class UHealthComponent* **HealthComp**;

did the trick following a compile.

Unfortunately, that did not work in my case. Neither did deleting Intermediate and Build before then regenerating + recompile.

The only fix that actually worked in my case was reparenting, I guess I got unlucky.

Any way to create a redirector for component name? That may do the trick as the issue seems to came from renaming component name from C++

I just got this issue. Reparenting works, but I lost all my data. Apparently, having a blank details panel is “By Design” according to this bug report- Unreal Engine Issues and Bug Tracker (UE-67850)
Wow, I couldn’t imagine a worse possible design.

So this issue just happened to me and I noticed the following: When you select the Actor Base (self) in the “Components” Tab and then in the “Details” Tab scroll to the Component which doesn’t show the details anymore, instead of the correct class it just shows “None” for me. When I click on the yellow “Revert-To-Defaults” button (I can’t select it from the List), the correct component class is selected again and the details list is visible in the editor again.

Hope this helps, seems to not effect subclasses like the “renaming” method.

EDIT: I just noticed - when clicking the revert button and compiling, it sometimes reverts back to “None”. Restarting the Editor afterwards and clicking the revert button again fixed the issue.

This issue is really annoying has been around since 4.0. Some component properties added from C++ properties appear when using
VisibleDefaultsOnly but most have an empty details panel. It’s incredibly annoying.

I thought I’d check if it has been resolved in 2021. Nope :slight_smile:

I think this is the reason…ted-components (see second response)

My work around isn’t great but it’s what I’ve been doing for the past few years.

  1. Create the pointer in C++
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = “LuckyDuck”)
    class UBoxComponent* MeleeHitOverlapComponent;

And assign it null in the constructor - MeleeHitOverlapComponent = nullptr;

  1. In a Base blueprint that inherits my C++ class add the Component manually

  2. In Blueprints Begin Play assign my C++ pointer to point to the component I added in the Blueprint. I usually have an InitializeVariables function in blueprint to do this when there’s more than one of these to do.

Now I can now reliably edit the component in the details correctly in child Blueprints. You need you ensure you check if you pointer is valid in C++ but you should be doing that anyway.

I hate this issue and this work around with a passion.

The issue is that those flags are serialized into the Blueprint, so once you’ve made a Blueprint class that has serialized values for that variable it’s too late. You either need to recreate the Blueprint, or rename the variable - or essentially find a way to trick the editor into throwing out the serialized data.

Once you have a Blueprint of something, you have limited options when it comes to changing defaults and constructor values for existing variables. You should also avoid removing components too.

I take that to mean, there’s no code to de-serialize and update it? As a test, I recreated some BPs with various flag options and component details didn’t appear. I’ll just keep using my work around and check back every now and then :slight_smile:

When working with Blueprints directly without C++, you can add, rename and remove with no issues - Component details are always visible in the details panel by default. I think it’s fair to assume it would work the same if done in C++.

You can do it, sometimes, but you should avoid making constant changes to class constructors when you already have serialized Blueprints. Things like delegate bindings etc. can’t be cleared up easily and the blueprint asset can become full of junk data that causes problems later on.

What you might be able to do, is mark the component as “Transient”, load the editor, resave the Blueprint to throw out the old data, then try again without the Transient var. Not sure if it will work, but it might.

This works. Thanks.

In my case, those properties disappeared when I changed the “HideCategories” in the UCLASS macro of the class that uses the affected components. Restoring the previous list of hidden categories in the actor class fixed the bug.


One of those categories that I wanted to hide (and caused the issue) was “Character”, which is the default category of components like capsule and skeletal mesh, in the character class… so this is not a bug in my case.

someone please help! I have this bug in my editor but I have no idea what you guys are talking about, when you talk about fixing it!

can someone, for the love of god, please make a video.

this is a devastating bug and I have a lot of characters that cant move because the movement component is gone.

I tried to re parent it to the character and back again but nothing!

My understanding of this thread is about the component being there but not able to see the properties.

The movement component being gone seems like a different issue.

its the same thing, I cant see the details, its the same bug

Still happening in 4.26. Thankfully I was lucky and didn’t have to reparent. The following worked for me:

  1. commenting UPROPERTY
  2. compile from editor
  3. uncomment UPROPERTY
  4. compile from editor

EDIT: This is a stubborn bug and the above doesn’t always work for me. It only seems to happen for capsule colliders. I switched to sphere colliders to avoid the problem since the shape isn’t too big a deal for my situation. This is awful.