Drunk/curvy AI move path

I have a character that should folliow another actor with deviations to left and right (drunk movement). I have been digging through AI_MoveTo code, but cant seem to grasp the right way of doing it. Can anyone help me with some pointers or tips? What classes should I extend/override?

I dont mind c++ nor blueprints.

Cheers guys!

My thought would be to do whatever side of the target’s y axis, do a move to the opposite side, and your walkspeed could do something like the closer it gets increase the speed until a certain point then drastically reduce it. You could use a random int so that it isn’t the same every time.
I think you could handle it with a simple move to location to be honest, but that’s because I’m not such a great programmer that I can fiddle with source code.