Is there a simple way to get class variable values

This is my current setup to getting current blueprint variable values from class.
Is there a way to do this but without spawning an actor to get the variable value?
i feel there is a much more simpler/efficient way to do this.

FActorSpawnParameters SpawnParams;
SpawnParams.Owner = this;
SpawnParams.Instigator = Instigator;
FTransform TempTransform;

AActor* const TempSpawnObject = GetWorld()->SpawnActor<AActor>(MyBlueprintClass, TempTransform.GetLocation(), TempTransform.GetRotation().Rotator(), SpawnParams);

if (TempSpawnObject)
{
        ACustomActor* const CustAct = Cast<ACustomActor>(TempSpawnObject);

        if(CustAct)
        {
                CustAct->ReadCustomVariableValue
        }
        TempSpawnObject->Destroy();
}

Every UClass has static function GetDefaultObject() that returns “default” object for this class. By default I mean a version that doesn’t really exist in the world, but has all the values set as right after constructor invocation and blueprint-side defaults (if it’s blueprint class).

You can then cast this object to your desired type withouth the need for spawning temporary object of the class.

Commonly in documentation and forums this object is called CDO or Class Default Object