InitializeEquipment() — pass equipment inventory, player inventory, and base mesh; required before any equip operations
2. Use CharacterEquipmentSetupfor first-time character setup — the CallInEditor buttons handle mesh component creation and slot wiring automatically
3. Use preset slot configs — SetupStandardArmorSlots() etc. for common layouts
4. **Set up mesh components properly** — parent to correct sockets with Master Pose
5. Use body part hiding — prevents clipping issues
6. Validate before equipping — use CanEquipItemInSlot() to prevent errors
7. Handle two-handed weapons — implement custom logic for weapon conflicts in OnEquipmentChanged
8. Use material overrides — key by bare rarity name "Common", "Rare", etc.), not full tag path
9. Bind to events — keep UI synchronized; OnEquipmentChanged gives you old and new item in one call
10. Test in multiplayer — ensure visuals update on all clients; use PrintDebugState to compare state across roles