How to handle Jumping on slopes and at speed?

Hey, I don’t know if this is a problem with Character Movement, or if the component is too basic to handle these kinds of things out of the box, but I’m going to need help with some stuff.

  1. My character is very fast, and I need him to be able to jump while moving up a hill at speed. By default, a jump will sometimes be attempted (blueprints light up, animation sometimes plays), but the character does not leave the ground. This seems to be due to the fact that jump trajectory is fixed to the Z-Axis, but is there any way to change how this is handled, so that I can achieve some lift? I’d like to mimic how this is handled in games like Sonic Generations, where you actually manage to jump HIGHER when running up a slope, than you would if you did a jump on flat ground.

Here is a video example of what I’m experiencing in my UE4 project.

  1. Another thing I’d like to take from Sonic games, is how the trajectory of a neutral (no movement input) jump changes, depending on the angle of the slope you’re standing on. I don’t know exactly where I would even begin to make this happen, but what I’m looking for is the first example in the video below:

Slope Example

If someone could point me in the right direction for these things, I’d be super grateful.