Touched event on overlapping part causes SpawnLocation pushing no matter if characters can collide with it or not

I posted a bug report for this earlier, but have since created a 100% replicable, minimized reproduction file.

Repro file versions:
spawn bug replication v2.rbxl (50.6 KB)

Where does the bug happen?
The bug happens every time a player spawns on a SpawnLocation with the following criteria:

  • The SpawnLocation must be completely overlapped with a CanCollide = false part which does not have a manually set collision group via PhysicsService
  • The SpawnLocation must not have a manually set collision group via PhysicsService
  • The zone part must have a .Touched event connected at the time of spawn

When did the bug start happening?
The bug started happening immediately to all SpawnLocations whenever I overlapped them with a part meeting the criteria listed above.

Here is a video demonstrating how to replicate the bug:

If anyone needs any more information, let me (or @Polyhex) know, as we’ve both experienced this issue.

EDIT: This bug also seems to occur when the player’s character has no Touched events connected and the giant orange part has a Touched event connected.

3 Likes

I have reduced the reproduction file even further to a single line of Lua code and 4 objects.

1 Like

I am unable to reproduce this as my player respawns on the higher, Fossil coloured, layer.

That means that the bug worked correctly. Once you remove that line of code or remove the zone part, the player respawns on the SpawnLocation. The fossil part was intentionally placed super high so it would not interfere with spawning, but would still indicate that the player spawned incorrectly at the height of the top of the zone part.

I’m assuming the backend uses BasePart:GetTouchingParts() to determine if the spawn is blocked, but doesn’t check BasePart:CanCollideWith() to make sure it’s actually an issue.

1 Like