StarterGui:SetCoreGuiEnabled() re-opens closed player list

When the Player List is enabled, players are able to close and re-open it using the top-bar menu and the Tab key when a keyboard is connected. Regardless of whether the player has toggled their Player List to be on/off, calling StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false) will hide it and disable this functionality.

However, when StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true) is called, the Player List is re-opened, even when the player had it closed before it was disabled. This is particularly bothersome on small screens such as phones, where the majority of players turn the Player List off but continually have it being re-enabled.

The following steps will reproduce this:

  1. Close the player list using the Tab key or the button in the top-bar
  2. Call StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false) in a LocalScript to disable the player list (Tab input will no longer respond)
  3. Call StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true) to re-enable the player list
  4. Observe that the player list is showing on the screen despite its last known state being closed by the player

The only known workaround at the moment is creating a custom leaderboard where you can listen for when the player has closed it and restore its original state. The majority of games do not do (or want to do) this.

Expected behavior

The original state should be preserved when StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true) is called. If the player had closed the UI when it was disabled, it should remain in that state when the ability to open it is re-enabled.

4 Likes

Thanks for the report! We’ll follow up when we have an update for you.

1 Like