ShintTools

Automate asset naming in Unity and Unreal — a practical guide

How to automate asset naming across Unity 6 and Unreal Engine 5 with a local rule engine — prefixes, folder rules, CI gate and mass renames without touching the cloud.

·9 min read

Renaming assets by hand is the quietest technical debt your studio carries. It doesn't show up in a backlog and no producer ever sees it, but every week someone loses an afternoon fixing broken references because an artist saved grass_final_v2.png instead of T_Grass_D.png. Multiply by six months and you have thousands of inconsistently named assets.

Automating naming is not an engineering vanity project. It's the shortest path to a pipeline that doesn't break.

Why manual naming always fails

  • The convention lives in a Notion page nobody reads after onboarding.
  • Marketplace assets violate your convention the day you import them.
  • Every convention refactor (there is always one) means renaming thousands of assets by hand.
  • Hand renames break FName in Unreal and .meta GUIDs in Unity unless done from the editor.

Typical rules per engine

Unreal Engine 5 — type prefix, domain folder:

T_    Texture           SM_   Static Mesh
M_    Material          SK_   Skeletal Mesh
MI_   Material Inst.    BP_   Blueprint
NS_   Niagara System    WBP_  Widget Blueprint
DA_   Data Asset        DT_   Data Table

Unity 6 — type prefix, folder per system:

T_    Texture           SM_   Static Mesh
Mat_  Material          Prefab_  Prefab
SO_   ScriptableObject  Anim_    AnimationClip

The real rule is not "use prefixes". It is: the name must let you classify the asset without opening it. Any regex that achieves that is fine.

How the Asset Naming Bot automates it

ShintTools' Asset Naming Bot runs in the editor and in CI. It combines a rule engine (regex + asset type) with local NLP to infer the category when the name doesn't spell it out. Everything runs on your machine — not a byte leaves your studio.

  • Dry-run: counts violations without touching anything. Useful to size a refactor.
  • Auto-fix: renames from inside the editor so references stay intact (FName on UE5, GUIDs on Unity).
  • CI gate: a job that fails the PR if an asset doesn't match the rule.
  • Custom rules: JSON versioned in the repo — the pipeline never drifts from studio convention.

From 500 to tens of thousands of assets

A real case: a 12-person team with ~28,000 assets in a UE5 project. Baseline audit: 4,812 violations. Auto-fix in batches of 500 with a Perforce snapshot between batches. Total time: under a day of actual work, zero broken references in the following build. By hand it would have been two weeks.

When to integrate it

  • Before a big milestone — avoids lost-reference bugs.
  • When a marketplace pack lands — normalize on import, not six months later.
  • On every PR — a lightweight gate (only touched assets) keeps the baseline clean without blocking the team.

Convention without automation is wishful thinking. With a deterministic gate it stops being a problem.