I have a widget component inside of my character:
// ABCharacter.h
...
UPROPERTY(VisibleAnywhere, Category = UI)
class UWidgetComponent* HPBarWidget;
...
// ABCharacter.cpp
...
AABCharacter::AABCharacter()
{
// Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
HPBarWidget = CreateDefaultSubobject<UWidgetComponent>(TEXT("HPBARWIDGET"));
HPBarWidget->SetupAttachment(GetMesh());
}
I checked HPBarWidget is null and it wasn’t:
if (HPBarWidget == nullptr) {
UE_LOG(ArenaBattle, Error, TEXT("NULL"));
}
HOWEVER, When I try to get the widget object, it said it’s null.
if (HPBarWidget->GetUserWidgetObject() == nullptr) {
UE_LOG(ArenaBattle, Error, TEXT("NULL")); // it printed NULL
}
What causes this returns null? I can clearly see I have a WidgetComponent that exists in my character’s tree, and HPBarWidget wasn’t null too.
I struggled this already hours and couldn’t find any related issues. What did I wrong?
Using 4.24.3. Thanks.