Warning, there are no answers here, only defeat…
ABasePaperCharacter:
UCLASS()
class ECDD_API ABasePaperCharacter : public ABasePaperCharacter
{
GENERATED_BODY()
public:
ABasePaperCharacter()
{
this->dialogueComponentWrapper = CreateDefaultSubobject<UDialogueComponentWrapper>(TEXT("Dialogue component wrapper"));
this->dialogueComponentWrapper->AttachToComponent(this->GetCapsuleComponent(), FAttachmentTransformRules::KeepRelativeTransform);
this->dialogueComponentWrapper->SetUpDialogueComponents(FObjectInitializer::Get(), this->dialogueComponentWrapper);
}
private:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue", Meta = (AllowPrivateAccess = true))
UDialogueComponentWrapper* dialogueComponentWrapper;
}
UDialogueComponentWrapper - Notice the USceneComponent inheritance:
UCLASS()
class UDialogueComponentWrapper : public USceneComponent
{
GENERATED_BODY()
public:
UDialogueComponentWrapper();
void SetUpDialogueComponents(const FObjectInitializer& objectInitializer, USceneComponent* componentToAttachTo)
{
this->overheadDialogueWidgetComponent = objectInitializer.CreateDefaultSubobject<UOverheadDialogueWidgetComponent>(objectInitializer.GetObj(), TEXT("Dialogue widget component"));
this->overheadDialogueWidgetComponent->AttachToComponent(componentToAttachTo, FAttachmentTransformRules::KeepRelativeTransform);
}
private:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue", Meta = (AllowPrivateAccess = true))
UOverheadDialogueWidgetComponent* overheadDialogueWidgetComponent;
};
UOverheadDialogueWidgetComponent:
UCLASS()
class ECDD_API UOverheadDialogueWidgetComponent : public UBaseWidgetComponent
{
GENERATED_BODY()
};
All of the above ends up with this:
I still had the issue of the component not showing details inside its details panel, but atleast I could now change the details.
I still have no idea why I cannot see the component’s properties in the detail panel… but atleast I can continue to make my game.