Making Custom Components

i have started to breakdown the class.cpp document. Its hard to fully know whats going on with my experience level here.
However it seems to break when ConstructObject is called and Template is equal to NULL.

i will keep exploring and trying things at random, but does anyone know if custom components and even generate there own components in this way?


UMyCustomLightComponent::UMyCustomLightComponent(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{
	SphereCore = PCIP.CreateEditorOnlyDefaultSubobject<USphereComponent>(this, TEXT("SphereCore"));
	SphereCore->InitSphereRadius(35.0f);
}

also, for people who find this post, editinlinenew is not required, just meta = (BlueprintSpawnableComponent).

i have reread this many times Components | Unreal Engine Documentation
And have experimented with UActorComponent::OnRegister(), as well as a few other things. Theres no example i can find however! Would downloading the engine source help here? i would love to look at the .cpp file of say the light component.

Any help at all would be appreciated. im sorry if this thread is turning to spaghetti but i am reporting all of my findings here so show my process and hopefully enable a response. If i have been unclear let me know!

Edit:
After seeing this, is this the tool that i am waiting for?

Or am i going about things the right way?