Na Biblioteca de Controladores de Personagem (CCL), uma instância central de ControllerManager lida com a simulação física do personagem e sua interação com o ambiente. Isso inclui várias mudanças intencionais em movimento/sensação projetadas para resolver inconsistências do Humanoid, além de melhorias físicas como atrito no solo, curvas de aceleração linear e conservação realista de momento linear e angular ao saltar.
Ativar CCL
O CCL é opcional através da janela de Configurações de Avatar do Studio. Para habilitá-lo:
Na aba Avatar, abra as Configurações de Avatar.

Selecione a aba Movimentação no lado esquerdo da janela e, na seção Habilidades, selecione Biblioteca de Controladores de Personagens.

Todas as habilidades padrão como Correr, Pular e Escalar estão habilitadas por padrão. Para desabilitar qualquer uma delas em tempo de execução, desmarque a caixa associada.
Estrutura
Sob a instância central de ControllerManager dentro do modelo de personagem, controladores individuais, como GroundController e AirController, definem como o movimento é aplicado ao personagem. Habilidades então interagem com o ControllerManager e seus descendentes para modificar comportamentos dos controladores ou alternar entre controladores.

Configuração
Enquanto seu jogo estiver em execução (ou através de um script que roda a partir de ServerScriptService), você pode experimentar com o controlador central ControllerManager e controladores embutidos.
Tempo de Execução
Para experimentar com configurações de controladores em tempo de execução:
Inicie um teste de jogo.
No Explorador, localize o modelo de personagem no Workspace e então expanda a árvore do ControllerManager:

Selecione o ControllerManager ou um de seus descendentes de controlador e, na janela Propriedades, customize propriedades como as resumidas nas tabelas abaixo (note que estas tabelas não são exaustivas; por favor, consulte a documentação da API classes para opções adicionais de propriedades).
Propriedade Descrição BaseMoveSpeed A velocidade de movimento linear base usada por todos os controladores. Os controladores personalizam individualmente a velocidade de movimento através de sua propriedade MoveSpeedFactor. BaseTurnSpeed A velocidade angular base usada por todos os controladores para alinhar o personagem na direção desejada. Alguns controladores personalizam individualmente a velocidade de rotação através de sua propriedade TurnSpeedFactor. UpDirection Vector3 que indica o vetor que aponta para cima para a parte raiz do ControllerManager.
Scriptado
Para definir configurações de controladores para todos os personagens através de um script:
Crie um novo Script do lado do servidor dentro de ServerScriptService e renomeie-o para ControllerScript.
Copie e cole o seguinte código no novo script. Este exemplo aumenta a velocidade de movimento/rotação no solo, além de adicionar um leve tempo de aceleração e desaceleração. Sinta-se à vontade para ajustar outras propriedades, como as descritas nas tabelas acima ou para cada classe conforme documentado (ControllerManager; GroundController; AirController; ClimbController; SwimController).
Script em ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")if ControllerManager thenlocal GroundController = ControllerManager:FindFirstChild("GroundController")if GroundController then-- Dobrar as velocidades de movimento e rotaçãoGroundController.MoveSpeedFactor *= 2GroundController.TurnSpeedFactor *= 2-- Adicionar leve aceleração e desaceleraçãoGroundController.AccelerationTime = 0.2GroundController.DecelerationTime = 0.4endendendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)