Dalam Pustaka Pengendali Karakter (CCL), suatu instance dari ControllerManager menangani simulasi fisik karakter dan interaksinya dengan lingkungan. Ini mencakup beberapa perubahan yang disengaja dalam gerakan/perasaan yang dirancang untuk mengatasi ketidakkonsistenan Humanoid yang sudah ada, serta perbaikan fisik seperti gesekan tanah, kurva percepatan linier, dan pelestarian momentum linier dan angular yang realistis saat melompat.
Aktifkan CCL
CCL adalah opsional melalui jendela Pengaturan Avatar di Studio. Untuk mengaktifkannya:
Dari tab Avatar, buka Pengaturan Avatar.

Pilih tab Gerakan di sisi kiri jendela dan, di bagian Kemampuan, pilih Perpustakaan Pengontrol Karakter.

Semua kemampuan standar seperti Berlari, Melompat, dan Memanjat diaktifkan secara default. Untuk menonaktifkan salah satunya saat runtime, hapus centang pada kotak terkait.
Struktur
Di bawah instance inti ControllerManager dalam model karakter, pengendali individu seperti GroundController dan AirController mendefinisikan bagaimana gerakan diterapkan pada karakter. Kemampuan kemudian berinteraksi dengan ControllerManager dan keturunannya untuk memodifikasi perilaku pengendali atau beralih antara pengendali.

Konfigurasi
Saat permainan Anda berjalan (atau melalui skrip yang berjalan dari ServerScriptService), Anda dapat bereksperimen dengan ControllerManager inti dan pengendali bawaan.
Waktu Jalan
Untuk bereksperimen dengan konfigurasi pengendali saat berjalan:
Mulai pengujian permainan.
Di Explorer, temukan model karakter dalam Workspace dan kemudian perluas pohon ControllerManager:

Pilih baik ControllerManager atau salah satu keturunan pengendali dan, di jendela Properties, sesuaikan properti seperti yang dirangkum dalam tabel di bawah ini (perhatikan bahwa tabel ini tidak lengkap; silakan konsultasikan dokumentasi kelas API untuk opsi properti tambahan).
Properti Deskripsi BaseMoveSpeed Kecepatan gerakan linier dasar yang digunakan oleh semua pengendali. Pengendali secara individual menyesuaikan kecepatan gerakan melalui properti MoveSpeedFactor mereka. BaseTurnSpeed Kecepatan pemutaran dasar angular yang digunakan oleh semua pengendali untuk menyelaraskan karakter agar menghadap ke arah yang diinginkan. Beberapa pengendali secara individual menyesuaikan kecepatan putaran melalui properti TurnSpeedFactor mereka. UpDirection Vector3 yang menunjukkan vektor yang menghadap ke atas untuk ControllerManager.RootPart.
Skrip
Untuk mengatur konfigurasi pengendali untuk semua karakter melalui skrip:
Buat Script baru di sisi server dalam ServerScriptService dan ganti namanya menjadi ControllerScript.
Salin dan tempel kode berikut ke dalam skrip baru. Contoh ini meningkatkan kecepatan bergerak/mutar berbasis tanah dan menambahkan sedikit waktu percepatan dan perlambatan. Silakan sesuaikan properti lain seperti yang dijelaskan dalam tabel di atas atau untuk setiap kelas seperti yang didokumentasikan (ControllerManager; GroundController; AirController; ClimbController; SwimController).
Skrip di ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")if ControllerManager thenlocal GroundController = ControllerManager:FindFirstChild("GroundController")if GroundController then-- Gandakan kecepatan gerak dan putarGroundController.MoveSpeedFactor *= 2GroundController.TurnSpeedFactor *= 2-- Tambahkan sedikit percepatan dan perlambatanGroundController.AccelerationTime = 0.2GroundController.DecelerationTime = 0.4endendendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)