In cases where the reset character button is not functional, i.e.:
The game has a character that has no Humanoid or renamed the Humanoid
There is a properly named Humanoid, but HumanoidStateType.Dead is set to disabled
The player’s character is nil either temporarily due to respawning or because the game does not use regular characters at all (i.e. destroys them at spawn).
Then the reset button should be greyed out or hidden entirely in the escape menu, because it literally does nothing in these situations when attempting to use it.
Optionally, it would be great if we could disable / grey out this button ourselves through API.
If the above can’t be done, it would be nice if there was a signal that we could listen to, which would indicate when the reset character button is triggered. Then we can implement our own reset methods and have that featured in the CoreGui through that button.
I agree with all three parts of OP. I’m very happy you included a way to listen to presses of the button as there are some cases a developer might have other code they want run when a player resets.
I feel like you should strive to make the reset button functional in some way. It makes the user feel better. That being said, maybe it’s time to revisit this.
I’ve been wanting to add an additional prompt for reset. In most ROBLOX games it’s not needed since there’s little penalty associated with it, but in my game I might want to display: “Resetting will destroy your ship and you will lose your inventory. Are you sure you want to continue?”
As for making it nonfunctional, that could be useful for preventing players from resetting while being assassinated (like in Halo) which would otherwise mean a disappointing experience for the killer.
I actually have resetting disabled in my new boxing game, simply because it breaks a lot of things.
However, if we could set up a callback as well for resetting, I could definitely use it.