Trong Thư viện Bộ điều khiển Nhân vật (CCL), một phiên bản cốt lõi của ControllerManager xử lý mô phỏng vật lý của nhân vật và sự tương tác của nó với môi trường. Điều này bao gồm một vài thay đổi có chủ ý trong cảm giác chuyển động/di chuyển nhằm giải quyết các sự không nhất quán của Humanoid, cũng như các cải tiến vật lý như lực ma sát mặt đất, các đường cong gia tốc tuyến tính, và sự bảo tồn thực tế của động lượng tuyến tính và góc khi nhảy.
Kích hoạt CCL
CCL là tùy chọn thông qua cửa sổ Cài đặt Avatar của Studio. Để bật nó:
Từ tab Avatar, mở Cài đặt Avatar.

Chọn tab Movement ở bên trái của cửa sổ và, trong phần Abilities, chọn Thư Viện Bảng Điều Khiển Nhân Vật.

Tất cả các khả năng tiêu chuẩn như Chạy, Nhảy, và Leo đều được bật theo mặc định. Để vô hiệu hóa bất kỳ khả năng nào trong thời gian chạy, bỏ chọn ô tương ứng.
Cấu trúc
Dưới phiên bản cốt lõi của ControllerManager trong mô hình nhân vật, các bộ điều khiển riêng lẻ như GroundController và AirController xác định cách thức chuyển động được áp dụng cho nhân vật. Các khả năng sau đó tương tác với ControllerManager và các phần tử kế thừa của nó để thay đổi hành vi của bộ điều khiển hoặc chuyển đổi giữa các bộ điều khiển.

Cấu hình
Trong khi trò chơi của bạn đang chạy (hoặc thông qua một kịch bản chạy từ ServerScriptService), bạn có thể thử nghiệm với phiên bản cốt lõi của ControllerManager và các bộ điều khiển tích hợp.
Thời gian chạy
Để thử nghiệm với các cấu hình bộ điều khiển trong thời gian chạy:
Bắt đầu một bài kiểm tra chơi.
Trong Explorer, tìm mô hình nhân vật trong Workspace và sau đó mở rộng cây ControllerManager:

Chọn hoặc ControllerManager hoặc một trong các phần tử kế thừa của nó và, trong cửa sổ Properties, tùy chỉnh các thuộc tính như những gì được tóm tắt trong các bảng dưới đây (lưu ý rằng các bảng này không đầy đủ; vui lòng tham khảo tài liệu lớp API để biết thêm tùy chọn thuộc tính).
Thuộc tính Mô tả BaseMoveSpeed Tốc độ di chuyển tuyến tính cơ sở được sử dụng bởi tất cả các bộ điều khiển. Các bộ điều khiển cá nhân tùy chỉnh tốc độ di chuyển thông qua thuộc tính MoveSpeedFactor của chúng. BaseTurnSpeed Tốc độ xoay cơ sở được sử dụng bởi tất cả các bộ điều khiển để điều chỉnh nhân vật đối diện với hướng mong muốn. Một số bộ điều khiển tùy chỉnh tốc độ xoay thông qua thuộc tính TurnSpeedFactor của chúng. UpDirection Vector3 cho biết vector hướng lên cho ControllerManager.RootPart.
Kịch bản
Để thiết lập các cấu hình bộ điều khiển cho tất cả nhân vật thông qua một kịch bản:
Tạo một Script mới ở phía máy chủ trong ServerScriptService và đổi tên thành ControllerScript.
Sao chép và dán mã sau vào kịch bản mới. Ví dụ này tăng gấp đôi tốc độ di chuyển/xoay trên mặt đất cũng như thêm một chút thời gian tăng tốc và giảm tốc. Bạn có thể tự do điều chỉnh các thuộc tính khác như những gì được mô tả trong các bảng trên hoặc cho mỗi lớp như đã được tài liệu hóa (ControllerManager; GroundController; AirController; ClimbController; SwimController).
Kịch bản trong ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")if ControllerManager thenlocal GroundController = ControllerManager:FindFirstChild("GroundController")if GroundController then-- Gấp đôi tốc độ di chuyển và xoayGroundController.MoveSpeedFactor *= 2GroundController.TurnSpeedFactor *= 2-- Thêm chút thời gian tăng tốc và giảm tốcGroundController.AccelerationTime = 0.2GroundController.DecelerationTime = 0.4endendendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)