How to programmatically enable gravity on a UGeometryCollectionComponent

I have an actor class called ABreakableActor which holds a:
UGeometryCollectionComponent* BreakableMeshComponent;

I have inherited this class with a BP that disables the gravity of the component so it just floats there. I would like to enable gravity on the object when certain events happen in the game but it seems to have no effect. For example, if I try overriding BeginPlay:

void ABreakableActor::BeginPlay()
{
	Super::BeginPlay();

	BreakableMeshComponent->SetEnableGravity(true);
}

There is no effect on the gravity of the object.

For reference here is the constructor:

ABreakableActor::ABreakableActor()
{
	PrimaryActorTick.bCanEverTick = true;

	// Initialize and set DefaultSceneRoot as the root component
	DefaultSceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("DefaultSceneRoot"));
	RootComponent = DefaultSceneRoot;

	// Create BreakableMeshComponent and attach it to the DefaultSceneRoot
	BreakableMeshComponent = CreateDefaultSubobject<UGeometryCollectionComponent>(TEXT("BreakableMeshComponent"));
	BreakableMeshComponent->SetupAttachment(DefaultSceneRoot);
}

I discovered that calling SimulatePhysics doesn’t work in the BeginPlay() method on the CPP side, so you need to call it on the BP side.

What I ended up doing was this:
void ABreakableActor::BeginPlay()
{
Super::BeginPlay();

BreakableMeshComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
// These 2 lines of code don't actually work when called from CPP for some reason.
// DONT FORGET TO SET THESE IN THE BP!
BreakableMeshComponent->SetSimulatePhysics(false);
BreakableMeshComponent->SetEnableGravity(false);

}

Hopefully, this will help someone in the future!