Character collision response with mover chaos backend

Regarding the Mover Chaos backend. When it comes to resolving collisions between different characters (E.g. NPC’s vs players), We would like to be able to control the amount each character is moved based on gameplay logic. In its simplest form this would be some sort of weighting ratio to say that 80% of the required movement to resolve should be absorbed by the NPC, with the remaining 20% going to the player. In more complex example, we might want to change this ratio dynamically based on player state or time based metrics. E.g. On initial collision the player absorbs 80% of the resolution movement, but if the contact remains for longer than one second (E.g. the player is actively trying to push an NPC), it yields and the NPC switches to absorbing 80% of the resultant collision resolution. We would like to do this at a collision resolution level for characters and prefer not to dynamically alter masses or kinematic state ideally as this would alter physics behavior with non-character rigid bodies. Is this something that the team plan to support in the future or is their any guidance on how this could be achieved?

On an associated point, Is the intention that the chaos based mover back end will deal with kinematic squashing/overlap of the characters sympathetically to character motion? Ideally the solver would resolve bad collisions/overlaps but not maintain any spurious velocities from them. i.e. pinging the player at speed.

Steps to Reproduce

Hi Stewart,

If all of your characters are physics based then can control how strongly each player can push another by setting their radial force limit on the walking movement mode. This is the limit in Newtons to how much force the character constraint can apply in the movement plane to move the character to its target. Mass will also factor into this - so a light character will require less force to move.

If one of your characters is kinematic then you’ll have to do something custom, which you can do by writing a collision modifier.

As for a dynamic character getting squashed by kinematic bodies, the response will be the same as any other body in the Chaos simulation. But there are some collision settings that limit the maximum pushout per frame for the contacts that can help. Also, the character constraint will try to keep the character where it should be, so that should help stop it pinging away