We have released two further improvements to spawning to make sure characters are placed consistently and performantly.
Avatars will spawn more reliably in locations with lower ceilings, instead of popping above the ceiling
If an avatar has a tall hat, it won’t cause the avatar to spawn above a low ceiling
Optimized the vertical collision check during a spawn so it is more performant
Previously there were two main issues with how we checked if a character could fit in the space above the spawn location. The first issue was that the height of the character included the height of it’s accessories so characters with especially large hats were sometimes spawned outside areas that developers thought that they should be able to fit in. The other issue was that an additional 1.2 studs of space was sometimes needed due to the character incorrectly being seen as colliding with the ground even though there was nothing blocking the spawn location.
Before:
After:
We also fixed a performance issue with spawning that meant that the size of the world was being calculated unnecessarily each time a character was spawned. This meant that spawning was slower than it needed to be in large worlds.
If you had problems with avatars spawning in tight spaces, please try again and let us know if you have any further issues.
Jokes aside- thanks so much for this update. We can only be eternally greatful, please give the developers behind this a massive thank you on behalf of everyone in the developer community.
Finally, this issue has plagued Roblox developers for years, especially those who build roleplay games. No more stress over designing prisoner cell ceilings in order to accommodate spawn locations, thank-you.
This, was surely a annoying thing to me and probably many other users,
since spawning on roof would require you to move your character
to the selected area instead of actually being put in there as normally.
Having this fixed or, well, “improved” is awesome as how we get this annoying thing away
Which is why I suggested this be added as in-built functionality- it’d be so much easier and there are many different examples to have per-player RespawnTime.
You can easily script a respawn system that allows for a custom respawn time per-player.
Here’s a quick rough example (this assumes Players.CharacterAutoLoads is false):
local Players = game:GetService("Players")
local RespawnTimes = {}
local Rand = Random.new(tick())
Players.PlayerAdded:connect(function(Player)
RespawnTimes[Player] = Rand:NextInteger(0,10)
Player.CharacterAdded:connect(function(Character)
local Humanoid = Character.Humanoid or Character:WaitForChild("Humanoid")
Humanoid.Died:connect(function()
wait(RespawnTimes[Player])
pcall(function() --Players can leave before this executes
Player:LoadCharacter()
end)
end)
end)
Player:LoadCharacter()
end)
You can easily edit the values inside of the RespawnTimes table to change the respawn time for a given player.
If there was anything more annoying than the spawn behaviour prior to this update, it was having to account for low ceilings by either forcing characters down via CFrame or completely butchering the build to accommodate for players, whether that’d be expanding the place or adding a no-collide roof for spawning.
One thing that this thread hasn’t addressed though is custom characters, at least from what I can see. How does respawning for different character rigs play out, the same or differently? Is that something to test ourselves depending on our rigs?
I’m guessing that these fixes don’t address my particular issue, because it’s still happening. If a part with collision disabled is obstructing a SpawnLocation, players will spawn on top of it anyway as if collision were enabled, which results in 2 scenarios, both of which are 100% reproducible:
There is no collidable part above the non-collidable part, in which case the player will just fall to the ground.
There is a collidable part (a roof or ceiling, for example) above the non-collidable part, in which case the player will be spawned on top of the collidable part and become stuck.
I’ve always had problems with Spawns spawning players above a ceiling. I’ve always been combating this issue for a few months now. I really enjoy seeing it fixed now.
This was an issue that has always bothered me! This was a definite problem that I always seemed to encounter when working on games of mine such as obbies or showcases. I’m so thankful that the Roblox team is starting to finally resolve this annoying bug after so many years…
An additional note on spawns. We increased the size of the default spawn pad in Studio and all of the official Roblox spawn pads in the toolbox. We recommend you use a larger spawn pad if you don’t want avatars stacking on top of each other.