I usually open up classes like Character.cpp and see how they created the character movement component etc.
No need to call RegisterComponent in constructor, this is only needed when creating the component dynamically at runtime, for example at begin play or after an even occurs in game.
Setup attachment is also preferred in constructor, however at runtime you’d use attach component to component.