Is it possible to get physics-like collisions and hit events while running the Character Movement Component?

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?

it would really depend how youre moving youre wall, but generally yes, when youre not moving the character the hit events wont fire. The best way i can think of off the top of my head would be to do a box trace on the walls in the event tick event, and if the box trace finds the player then just use add actor offset to manually move the character.

That could work if the only thing to worry about were the walls, but I’m after a general solution that can handle the collision problem as well. As of now, the only thing I could think to do would be to have the walls set the character to have their capsule running physics, with constraints and velocity updates added while CharacterMovement is offline. Otherwise they can still get pushed into the wall by other objects. It just seems extremely inconvenient to go about it this way instead of modifying the collision behaviors when CharacterMovement is active. Would you happen to know why hit events don’t fire when the character isn’t moving? Maybe that could point me in the right direction.