What problem does it solve? Configuring avatar appearance and animation in MapleStory Worlds is error-prone: 17 costume slots have mutual-exclusion rules, four different naming levels exist for animation states, and the engine's auto-playback silently overwrites custom actions. This Skill documents the exact component properties, mapping tables, and event APIs needed to control costumes and animations correctly. ## Core Features & Use Cases - Costume management: Read and write the 17 Custom*Equip slots of CostumeManagerComponent in DefaultPlayer.model or .map files, including longcoat/two-handed weapon slot-occupancy rules and UseCustomEquipOnly. - Animation state mapping: Configure AvatarStateAnimationComponent (IsLegacy, ActionSheet, StateToAvatarBodyActionSheet) and understand the State key → MapleAvatarBodyActionState → sprite action ID pipeline. - Custom action playback: Play arbitrary sprite action IDs like shoot1 or swingO2 via ActionStateChangedEvent on the body entity, and resolve auto-playback conflicts with RemoveActionSheet/SetActionSheet. - Use Case: You want the player to fire a bow with the shoot1 animation instead of the default sword swing. Remove the ATTACK mapping on the server, then send an ActionStateChangedEvent with shoot1 to the body entity on the client. ## Quick Start Ask the AI to change the DefaultPlayer's equipped weapon to a bow and make the attack input play the shoot1 animation instead of the default sword swing.