The Problem
As you know, players can show/hide the Roblox Chat by clicking on the Chat Icon next to the Roblox Menu button. By using StarterGui:SetCore(“ChatActive”, true|false)), developers are also able to programatically show & hide the Roblox Chat menu easily whenever needed.
In a similar way, (PC) players can show/hide the Roblox Leaderboard by pressing Tab on their keyboard. However, the only way that developers can controllably show/hide the player list is by having to enable/disable it completely via StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true|false).
Whilst this does work, there is an annoying issue that whenever you re-enable the leaderboard, it will always display as being opened by default - even if the player had previously hidden the leaderboard for themselves.
I hope this gif explains the problem I am facing better:
I toggled the player list to hide it. Then when the player list gets Disabled and then Enabled (via :SetCoreGuiEnabled()), the player list automatically pops open again.
This is an issue my experience because I toggle the PlayerList CoreGui often, so that it doesn’t overlap with big UIs that cover the entire screen. Whenever a big UI is opened, I disable the leaderboard, and when the UI is closed, I re-enable it.
As a result, I have received a lot of complaints about the player list being “annoying” and “getting in the way”, because players have to keep tabbing it out as it keeps on automatically re-opening (whilst I’m toggling the Enabled state of the CoreGui). I have considered disabling the leaderboard entirely or creating a custom leaderboard, but this is not something that I want to have to resort to.
Solution(s)
either #1) Add a StarterGui:SetCore(“PlayerListActive”, boolean) option so that we can toggle the leaderboard visibility, without entirely disabling it. This exists for the Chat Gui (StarterGui:SetCore(“ChatActive”, true|false)) already, so I am not sure why there isn’t an option to do this for the PlayerList yet.
or #2) Whenever the PlayerList CoreGui is disabled, and then re-enabled, preserve its “hidden” state rather than always making it pop open again by default. (basically, if the leaderboard was hidden by the player, then keep it hidden)