Need some guidance on how to implement crowd movement


I’m making an RTS and I’ve done a lot of progress but the thing that I keep postponing is implementing a proper crowd movement system.
Right now all my units bump into each other too much, get stuck and so on.

I can code no problem and was planning to implement a few algorithms for this, but I am not really sure where to start in UE4.
Which class do I need to inherit? How do I start using this new movement component and so on?

Right now I am using characters as units, with a behavior tree.