How to Make a Function that Convert Runtime Float Curve into a Float Curve object

You can create a curve asset at runtime.

UPROPERTY(EditInstanceOnly, Category = "Timeline")
FRuntimeFloatCurve Curve;

UPROPERTY(Transient)
TObjectPtr<UCurveFloat> CurveAsset;
void AMyActor::PostInitializeComponents()
{
	Super::PostInitializeComponents();

	if (GetWorld()->IsGameWorld())
	{
		UCurveFloat* NewCurve = NewObject<UCurveFloat>(this, NAME_None, RF_Transient);
		NewCurve->FloatCurve = *Curve.GetRichCurve();
		CurveAsset = NewCurve;

		TimelineComponent->AddInterpFloat(CurveAsset, FOnTimelineFloatStatic::CreateUObject(this, &ThisClass::OnTimelineFloat));
	}
}