Can a physics material work with a character movement component?

I started with FirstPerson template and I created a physics material with zero friction. I also create a ground slope that faces downwards.

When I shoot little cubes with my gun everything is working as expected. cubes are moving when I push them and they don’t get slower. They also accelerate when they moving on a negative slope.

problem that I have is that my first person character isn’t affected by physics material at all. I experimented with some settings in “Character Movement” component such as ground friction and breaking deceleration walking but it behaves as physics would have no control over component.

When I move on a flat area it seems to work and my character is sliding forward, but I can always instantly change direction as if mass wouldn’t affect it at all.

Also I don’t accelerate/decelerate on a slope.

Can I make character movement component physics material aware or do I need to start from ground up? I thought of starting from a simple actor instead of a character and then when pressing WASD I just apply forces somehow.

Any help is greatly appreciated.

Hey ,

As you discovered, Character class can’t simulate physics because of CharacterMovement component. Aside from playing with settings you mentioned, there isn’t going to be a lot you can do to fake physics movements such as slide, etc. You can fake it a lot more once you start messing with character movement via Blueprints or C++, but you’re going to need a lot of specific instances for different circumstances.

If you’re willing to create your own movement controls on a custom Pawn Class (or Actor Class, as you suggested), turning Simulate Physics on will certainly solve these problems.

Hope that helps!

Would it be possible if I just deactivate CharacterMovementComponent? I made a special actor (sliding actor) and I am doing a simple ray-cast to check to see if ground is a “sliding actor”. Then I am deactivating CharacterMovement component and enable “simulate physics” for CapsuleComponent. problem is that my character starts to fall though ground.

It may not actually be falling through world but falling over instead. Once physics is enabled on a capsule, it won’t stay upright. Try turning Hidden in Game off for capsule. Then hit Play and Eject, and look at your character. Has it fallen over?

I tested turning CharacterMovement off and Simulate Physics on via Blueprint as you suggested (very smart, I hadn’t thought to try that!), with character starting on a slope. I also had a Physics Material with friction at 0 on Capsule Component. When I Play and Eject, I can see capsule fall on its “back” and slide down slope.

Thanks, you helped me a lot. <3

Hi, did you find some sort of solution to getting player character to slide? I’m struggling with this myself, though I’m using ThirdPerson template. Would be of great help if you could share some of what you discovered! Would help me out a lot.

I don’t think it’s possible. I created my own MovementComponent with my own physics. But it’s an ongoing project.

I mean you can get your character to slide, but he will fall on his side and as far as I know you can’t constrain physics system.

Thanks for reply!
Hmm, I might have to look in to creating my own MovementComponent too then. I’ve been looking at “TP_RollingBP” Template as it got some of controls I’m looking for, but I guess I would end up with problem that character would fall over there too If I don’t use a ball.