Problem
Character content had grown without a shared standard. Folders, materials and prefab variants differed from hero to hero, lobby and post-battle used separate animation graphs, and setup was manual. Template paths and material rules were hard-coded in C++, so changing the setup meant engineering time.
Character pipeline
- Asset standard. Base materials with inheritance rules, prefab templates for every supported game context, five customization slots, one folder structure and naming convention for heroes and skins.
- Character Generator. Built on the engine's FBX importer; pre-import checks reject unsupported hierarchies. The second version moved templates, prefab variants and material rules from C++ into project settings, so artists change the setup themselves.
- Unified Animation Graph. Four graphs per character became one, shared by the lobby and post-battle; the post-battle scene picks left, center and right poses through events.
- Validation. Engine rules for character texture compression, cloth shader settings and materials reused across heroes.
- Handbook. Eleven pages for artists, animators and QA, with checklists and a definition of done for each import phase.
- Asset Zoo, with a teammate. A review world built on demand: heroes in selected styles, vehicles grouped by nation.
Maya tools, vehicles and VFX
- Slider-based skinning tool, a batch Material Modifier in Python and C#, and validator checks for naming, UVs, history, duplicate polygons and vehicle orientation.
- Fixed a Maya freeze in the character exporter by replacing a per-curve graph walk with a single upstream pass.
- Vehicle validation rules for AO, compression, tiling and shading. Exhaust and damaged-track effects moved to multi-shape particle spawning: 4 → 2 emitters on a dual exhaust.
Production tools are internal, so this case has no screenshots. The engine importer, vehicle setup, customization framework and particle technology are team systems that I extended. Maya export, rigging and modeling tools and the validator framework are tools by Yuri Ruskevich, my mentor, shown with permission: I used them in production and extended them.