Hey -
I’m not sure I understand what your goal is. Can you elaborate on what you’re trying to accomplish? When a pointer to a component is created in code the pointer has to be instantiated with the component to be created. Using the above code as an example, this is done by adding MySpecialComponent = CreateDefaultSubobject(TEXT("MySpecialComponent")); inside the class constructor. This is what will create the component as part of the actor and allow the properties of the component to be edited both inside the editor as well as in code. Below is another example of editing the component in code where I’ve created a sphere component and then set the radius of the sphere. This default value can then be overriden inside a blueprint if necessary.
UPROPERTY(EditAnywhere, Category = Component)
USphereComponent* MySphereComp;
MySphereComp = CreateDefaultSubobject<USphereComponent>(TEXT("MySphereComp"));
MySphereComp->SetSphereRadius(453.0f);