Changing character ModelStreamingMode to Atomic when StreamingEnabled on CharacterAdded prevents respawn and StarterGui copying to PlayerGui

Description

When StreamingEnabled = true and the CharacterAdded event is connected to a function, if you change the character model’s ModelStreamingMode to Atomic within the function, any GUI element in StarterGui does not get copied to PlayerGui when Players.AutoLoadCharacter = true. Moreover, when the player character dies, it will never respawn.

Reproduction Steps

  1. Create a new place
  2. In the explorer, set Workspace.StreamingEnabled = true
  3. In the explorer, confirm that Players.CharacterAutoLoads = true
  4. In ServerScriptService, create a Script
  5. In the Script, connect a function to Player.CharacterAdded and add a line to change character.ModelStreamingMode = Enum.ModelStreamingMode.Atomic
    Here is a simple example:
function onCharacterAdded(character : Model)
	character.ModelStreamingMode = Enum.ModelStreamingMode.Atomic --Comment this line to fix
end

function onPlayerAdded(player : Player)
	player.CharacterAdded:Connect(onCharacterAdded)
end

game.Players.PlayerAdded:Connect(onPlayerAdded)
  1. Add a ScreenGui and any GuiObject under StarterGui
  2. Press play
  3. No Gui visible. When you reset your character, you will not respawn.

Reproduction rate: 100%

Reproduction File
Atomic Respawn Bug.rbxl (44.7 KB)

Video
https://drive.google.com/file/d/1uw6IyDAakIz6RuIYT3bNWuDaVVEyeJwB/view?usp=sharing

System Info
Intel i7 4930k
16 GB DDR3
NVIDIA GTX 1080

2 Likes

We’ve filed a ticket to our internal database, and we’ll follow up when we have an update!

Thanks for the report!

2 Likes

Thanks for the bug report and the repro, we are investigating this issue.

As a workaround if you don’t set the character to be atomic immediately when the character is created you may be able to avoid this problem.

2 Likes