I have been prototyping some functionality in the existing movement modes of CharacterMovementComponent, using blueprints. So, I set up two moving walls. When the character is in any movement mode and has a velocity, hit events will fire as expected, and the walls push the character. When the character is idle, the wall will pass through the capsule and only move the character when the actor’s 0,0,0 point is hit by the wall. Additionally, if there are other static meshes simulating physics and if/when the wall sandwiches the character between them and itself, the character is pushed inside the wall partially or completely, even if the character is moving.
Now, if I run physics on the capsule component, I get all the collisions exactly as desired, including hit events firing with the character’s capsule and other actors; the wall pushes the capsule, the capsule pushes other static meshes, etc. The problem there is that I lose all the functionality in the CharacterMovementComponent. So my question is, as this seems like it would be a common problem, what would be the best way to capture the desired collision and “pushing” behavior while still utilizing the functionality of the CharacterMovementComponent?