Characters and animation - Humanoid properties/states, spawning (LoadCharacterAsync), health and damage, HumanoidDescription appearance, Animator/AnimationTrack playback, priorities and markers, default animation replacement, Tools, TweenService, IKControl, Character Controller Library (beta). Use when changing movement, abilities, damage, respawn, avatars, animations, tweens, or tools/weapons.
A player character is a Model with a Humanoid, HumanoidRootPart (the root; move the character
with character:PivotTo(cframe)), R15 body parts, and an Animate LocalScript.
Defaults (walk speed, jump, health, R6/R15, collisions, body scaling) are configured in Studio's
Avatar Settings window and StarterPlayer (CharacterWalkSpeed, CharacterJumpHeight or
CharacterUseJumpPower + CharacterJumpPower).
Custom character: put a Model named StarterCharacter in StarterPlayer. Custom per-player
spawns: Players.CharacterAutoLoads = false, then player:LoadCharacterAsync() when ready
(e.g. after data loads). LoadCharacter (non-Async) is deprecated.
Characters are destroyed and recreated on death/respawn: bind per-character logic in CharacterAdded.
Client-set WalkSpeed/JumpHeight are trivially exploitable; enforce limits on the server or use
server authority (roblox-security, roblox-physics).