godotengine / godotengine/godot

Area2D detects that overlapping bodies have exited after pause and unpause

Open
#87,536 7 comments 0 reactions 0 assignees View on GitHub
discussion documentation needs testing topic:physics
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.