For something like this you’d have to make your own animations, physics and controls. People would probably recommend you to read through the source code of stuff I linked below.
Personally, I didn’t find them too helpful. They are opinionated, overly engineered and have too many comments in my opinion. You should just start out with physics tests and controller/input tests. Just keep playing around until you learn enough to glue things together.
Once again you will have to create your own control system, figure out what physics you want and then animations to top it off. The most tedious part might be cross compatibility.