Character Controller Overlap Recovery throws player through floor

I have a player script that I have used in a previous project that correctly handled collision overlap. So scenarios like an object spawning with collision would move the player to the side. This was in 2021.2.4f1

I have brought the same controller into a new project in 2023.1.7f1 which, apparently, has an updated character controller as it has some additional options for Layer Overrides.

My issue is that, now, when a collider spawns on the player, instead of moving the player to the side, it just shoves the player through the floor. I’m not sure what has changed and there is no simple way to access the character controller code. Has anyone experienced this issue and/or found a workaround for this?

I really don’t want to have to re-write my controller to avoid using Unity’s built-in character controller as a component. Thanks.

Before you spawn an object, can you check to see if there is already a collider at that location so that you don't end up with collider overlap? In general, I don't think it is good practice to intentionally overlap colliders. The physics system is going to do something to resolve the overlap and I don't think you have any control over how it resolves the problem.

I was just simplifying the issue for the sake of understanding. What I have are doors that turn off collision when moving to keep things predictable and then turn collision back on after they finish moving. However, if the player is in the way, it will push them through the floor when, previously, it would push them to the side. Though I might be able to have the door check if the player is there and start a coroutine to wait to turn on until they've left the space but then I might as well just turn off overlap recovery.