godotengine / godotengine/godot
Area2D detects that overlapping bodies have exited after pause and unpause
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in v4.3.dev2.official [352434668]
- Not reproducible in v4.2.1.stable.official [b09f793f5]
### System information
Godot v4.3.dev2 - Windows 10.0.22621 - Vulkan (Forward+) - integrated Intel(R) Iris(R) Xe Graphics (Intel Corporation; 31.0.101.4575) - 13th Gen Intel(R) Core(TM) i7-1360P (16 Threads)
### Issue description
After being paused and unpaused, areas which were overlapping with other areas will think that the overlapping areas exited, even if they did not move. This is possible related to https://github.com/godotengine/godot/issues/76219 and https://github.com/godotengine/godot/issues/76219.
### Steps to reproduce
Run the MRP. A timer will go off, pausing and unpausing the game, and one of the Area2Ds will emit the `area_exited` signal, printing the area that exited.
### Minimal reproduction project (MRP)
[PauseBug22.zip](https://github.com/godotengine/godot/files/14041194/PauseBug22.zip)
Contributor guide
Research direction
Start by running the linked PauseBug22.zip minimal reproduction project in Godot v4.3.dev2 and observe the Area2D area_exited signal after the timer pauses and unpauses the game. Compare the behavior with v4.2.1 and review the related issue #76219. Done means overlapping areas remain tracked without a false exit after unpausing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100