Support for custom CameraMovementModes/MovementModes

Currently, you can register, clear registered, get registered, and detect newly registered CameraMovementModes/MovementModes through PlayerScripts.

For those wondering, these functions affect the Camera Mode and Movement Mode list in the ESC menu.

It would be really useful if we had a way to create our own CameraMovementModes/MovementModes, with custom ESC menu text.

Also, an event that gets fired once the player changes their mode would be useful to detect and apply appropriate changes on mode change. (Alternatively, a mode change could be read with UserGameSettings when the ESC Menu closes.)

Example use case:
I create a custom camera system that has multiple modes, but at the same time I want to keep some Roblox-provided camera modes, instead of creating UI in my game that asks the player which mode they would like to play with, it would be much easier for the player and me to change/setup the camera mode.

Suggested APIs:
PlayerScripts:RegisterCustomComputerCameraMovementMode(modeName: string)
PlayerScripts:RegisterCustomTouchCameraMovementMode(modeName: string)

PlayerScripts:RegisterCustomComputerMovementMode(modeName: string)
PlayerScripts:RegisterCustomTouchMovementMode(modeName: string)

…or simply accept strings (for custom modes) and appropriate enums in the currently available functions.

PlayerScripts.CameraMovementModeChanged()
PlayerScripts.MovementModeChanged()

8 Likes