Proper way to attach UBoxComponent to UWidgetComponent: Unreal 5.0.3

Hello I am attempting to attach a collider to a UWidgetComponent to know when I am looking at an object as part of my interaction system.

I currently use the code

InteractionBox->AttachToComponent(this, FAttachmentTransformRules::KeepRelativeTransform);

However this is causing the InteractionBox to generate twice in the blueprint, attaching to it’s own duplicate. Is there a proper way to go about attaching these components?

In the CDO (constructor) in cpp (pseudo code)

AMyConstructor::AMyConstructor(){
root = CreateDefaultSubobject<USceneComponent>(TEXT("root"));
SetRootComponent(root);

widgetComponent = CreateDefaultSubobject<UWidgetComponent>(TEXT("Widget Comp"));
widgetComponent->SetupAttachment(root);

box = CreateDefaultSubobject<UBoxComponent> (TEXT("Box collider"));
box->SetupAttachment(widgetComponent );
}

I should specify that I am trying to do this in the constructor for the UWidgetComponent since this is a standard feature for every user of this component.

The full code in the constructor is

InteractionBox = CreateDefaultSubobject<UBoxComponent>("InteractionBox");
	InteractionBox->AttachToComponent(this, FAttachmentTransformRules::KeepRelativeTransform);
	//InteractionBox->SetupAttachment(this);
	InteractionBox->SetCollisionProfileName(TEXT("InteractionTest"));

.h

#pragma once

#include "CoreMinimal.h"
#include "Components/WidgetComponent.h"
#include "MyWidgetComponent.generated.h"

/**
 * 
 */
UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
class YOUR_API UMyWidgetComponent : public UWidgetComponent
{
	GENERATED_BODY()
	
public:
	UMyWidgetComponent();
	UPROPERTY(BlueprintReadWrite, EditAnywhere)
	class UBoxComponent* InteractionBox;	
	virtual void PostLoad() override;
};

.cpp

#include "MyWidgetComponent.h"
#include "Components/BoxComponent.h"

UMyWidgetComponent::UMyWidgetComponent() {
	InteractionBox = CreateDefaultSubobject<UBoxComponent>("InteractionBox");	
	InteractionBox->SetCollisionProfileName(TEXT("InteractionTest"));
}


void UMyWidgetComponent::PostLoad(){
	Super::PostLoad();
	InteractionBox->AttachToComponent(this, FAttachmentTransformRules::KeepRelativeTransform);
}

Not getting any duplicates. Had to shift the AttachToComponent method to PostLoad or it wouldn’t work.
Though this workflow is pretty uncomfortable because you need to access the box collider from within the widgetcomponent’s details panel

This causes a crash leading to FMemory.ini when I compile any blueprints using this

Apparently what I am doing is fixed in the 5.1 update because it triggers a breakpoint there. I am surprised there is not an easier way to chain components, and feel like I am missing something.