Extend USplineComponent

I want to add direction for every point of spline but I don’t have any good understanding of how engine work and can’t find documentation of internal usinge.
Is it posible for someone to explaine how to create UPrimitiveComponent from the ground ? or point me to some type of documentation that can help me.