Problems with "Flying" mode and collision with the ground

Pretty much my problem is as follows;

When I’m in flying mode, I still seem to have friction when coming in contact with the ground, At least it seems like friction.
I’m currently trying to make a tribes type skiing system as a test for a project, and I’ve almost done it, But the “Slowing down on hills” is the only problem I face

I made a webm to show what I mean. It’s awful quality but it should help a little bit

https://my.mixtape.moe/hrecfx.webm

But as you can see from the video, When I and falling down the hill using my skimode, I seem to hit something on the hill and slow down drastically.
I know it’s not the hill either because when I used to have a physics based skimode, and it was silky smooth going down these hills.
Now from my understanding this shouldn’t be an issue. I’m in flying mode when contacting the surface, so in theory the “Walkable angle” and such shouldn’t matter.
To add gravity to the flying mode I applied force to “Character Movement”. Now this could be the problem, But this is the only way I knew to make gravity for flying mode.

Any and all help is appreciated.

Here is the blueprint as well

http://puu.sh/lRFp5/ca57abeecd.png

http://puu.sh/lRFpo/5828eda051.png

Again, things like “Max Walkable Angle” Were added for safety to see if it would fix it, but it didn’t do anything
Trust me when I say I’ve tried almost every combination of them to no avail

Another minor problem is I think just inherit with all ue4 projects using the firstpersoncharacter blueprint, Which is that if you walk down a hill you jump on your own.
As in when you go off the MaxWalkableAngle you seem to just fall off an invisible ledge.
Or for this case, if you stop skiing you start flying outwards of the hill. Is there anyway to stop the character doing that and instead just follow the curvature of the hill?

The “slowdown” could possibly be caused by the max movement speed allowed by the player. Possibly modifying the movement component inside C++ would allow you to resolve this issue. As far as the jumping away at an angle, I’d suggest decreasing your jump impulse and/or increasing the player’s mass.

– Comment removed –

Edited by DotCam 10:43am 05/10/2016

I experienced this problem and your comment got me to do some digging.

As it turns out the UCharacterMovementComponent is actually using a physics volume under the hood. The unexpected behavior occurs because when the Character Component calls the PhysFlying () function, it computes the friction as being

const float Friction = 0.5f * GetPhysicsVolume()->FluidFriction;

The underlying UMovementComponent that’s running the show grabs a physics volume from the scene (possibly from its location) and if there’s nothing to grab it just gets the default physics volume defined by the editor. I thought that would be it, because you can go to Project Settings->Engine->Physics->Constants and neutralize the default Fluid Friction. For some reason this doesn’t seem to have an effect, so instead I managed to get away with setting the fluid friction when beginning play in the Player Blueprint that contains the CharacterMovement component, as indicated in the picture.