Reproduction steps:
1. Open the attached project "ReproProj"
2. Open the “/Assets/Scene.unity” Scene
3. Enter the Play Mode
4. In Hierarchy, select the “ColliderA” GameObject
5. In Inspector, right-click the “Toggle Collision (Script)“ Component
6. Select “Disable collision“
7. In the Scene view, move the “ColliderA” GameObject to overlap with the “ColliderB“ GameObject
8. Repeat steps 4 and 5
9. Select “Enable collision“
Expected result: The “ColliderA” GameObject shoots up
Actual result: “ColliderA“ remains overlapping with “ColliderB”
Reproducible with: 6000.0.15f1, 6000.0.35f1, 6000.1.0b3, 6000.2.0a1
Not reproducible with: 2022.3.56f1, 6000.0.14f1
Reproducible on:
Play Mode
Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: No other environment tested
Note:
- When objects are overlapping and then Physics.IgnoreCollision is set to false. Changing certain properties on the Collider or Rigidbody of one of the affected objects seems to re-enable collision instantly between the 2 Colliders. The properties that trigger this behavior back are the Collider.IsTrigger and Rigidbody.CollisionDetection
- Collision works when moving overlapping objects apart and trying to collide again