How hard would it be to create a child class of UCapsuleComponent that aligns from the bottom?

I’m looking for a way to make the Character’s capsule component bottom align with the Character Actor’s origin (pivot).
But in order for the movement component to work, we need the collision capsule to be the root component, meaning it can’t be moved. But what if the capsule’s own origing (pivot) point were in its bottom instead of being its center? So I thought I could try creating a new class derived pro UCapsuleComponent and see if there is a way to change the way the capsule is constructed to make it align at the bottom. So if you increase the half height, instead of the top going up and the bottom going down, only the top would go up and the very bottom of the capsule would always be touching the origin (or ‘pivot’) inside the pawn actor BP.
Is it doable? I tried looking into the capsulecomponent.h and cpp, but I couldn’t figure it out.