Justin P Barnett's video, the source of most of the workaround script:
https://www.youtube.com/watch?v=_Zrde_WTaiI
Code for CharacterMovementHelper script:
https://pastebin.com/BwBS02Bh
Explaining the script and walking through writing it:
https://youtu.be/STJIh2N6kXs