What problem does it solve? Working with meshes in Unreal Engine C++ involves many subtle decisions — choosing between UStaticMeshComponent, ISM, and HISM, configuring collision trace flags, attaching to sockets, and overriding material slots — where mistakes cause silent failures like attachments at the origin, missing materials, or draw call blowups. This Skill provides grounded, engine-source-referenced guidance for UE 5.8 so these tasks are done correctly the first time. ## Core Features & Use Cases - Mesh Component Setup: Assign and swap UStaticMesh and USkeletalMesh assets on components in C++, wire animation Blueprint classes, and preserve pose during runtime mesh swaps. - Materials, Sockets & Collision: Override material slots with UMaterialInstanceDynamic, validate socket names before attachment, and configure UBodySetup with the correct ECollisionTraceFlag for simple vs. complex collision. - Instancing & Nanite: Choose between ISM and HISM for repeated meshes, batch instance transforms, use per-instance custom data, and enable Nanite via GetNaniteSettings/SetNaniteSettings. - Use Case: When building a city environment with thousands of identical building props, use this Skill to implement a HISM-based spawning pattern with batched AddInstances calls instead of thousands of individual actors, avoiding draw call and memory blowup. ## Quick Start Use the meshes-static-and-skeletal skill to attach a weapon actor to the hand_r socket of my character's skeletal mesh in C++ with proper validation.