This was a long time ago, and I have totally slept since then so I dont fully remember all the details. Suffice to say the root component had to a UPrimtiiveComponent or something that extends it, like a UBoxComponent.
I was doing some pretty-out-there VR stuff, so I think I wound up just writing a movement component from scratch because I wanted rotational acceleration support.