Asset naming conventions =============================== To keep the project browsable and searchable, most raw resource assets (textures, models, materials, sounds, etc.) follow a ``PREFIX_Name`` pattern — a short prefix identifying the asset's type, followed by a descriptive name in PascalCase. When an asset belongs to a specific group (a building, a unit, a VFX, ...), that group is usually added as a middle segment, for example ``MDL_Building_Factory.fbx`` or ``M_VFX_MapBorder.mat``. This roughly matches the asset's folder too (``Models/``, ``Materials/``, ``Textures/``, etc.) — the prefix is there so the type stays obvious even outside of the folder, for example when the asset shows up in the Inspector, in search results, or inside an FBX/prefab hierarchy. Resource prefixes ********************* ========== ========================== ================================ Prefix Asset type Example ========== ========================== ================================ ``T_`` Texture ``T_BaseColor_Ground01.png`` ``SPR_`` Sprite (2D/UI texture) ``SPR_VFX_SelectionCircle.png`` ``M_`` Material ``M_VFX_MapBorder.mat`` ``MDL_`` 3D model ``MDL_Building_Factory.fbx`` ``A_`` Animation clip ``A_Building_Create.anim`` ``AC_`` Animator Controller ``AC_InfantrySoldier.controller`` ``SFX_`` Sound effect ``SFX_Ability_ChangeWeapon.wav`` ``VFX_`` Visual effect prefab ``VFX_Shell_Explosion.prefab`` ``CUR_`` Cursor texture ``CUR_Attack.png`` ``SA_`` Sprite Atlas ``SA_Icons.spriteatlas`` ``F_`` Font ``F_Oswald_Regular.ttf`` ``TL_`` Terrain Layer ``TL_Ground01.terrainlayer`` ``TER_`` Terrain Data ``TER_Example01.asset`` ``PPP_`` Post Process Profile ``PPP_Base.asset`` ``LS_`` Lighting Settings ``LS_Example01.lighting`` ``S_`` Scene ``S_Example_01.unity`` ========== ========================== ================================ .. note:: These abbreviated prefixes are only used for raw resource assets. ``ScriptableObject`` data assets and gameplay prefabs are named differently — see below. Data asset naming ********************** Data assets (``ScriptableObject``-based — ``UnitData``, ``AbilityData``, ``FactionData``, and similar) aren't abbreviated. They're prefixed with their class name instead: there are usually far fewer of them than textures or models in a project, so a readable prefix matters more than a short one. For example: - ``UnitData_Tank.asset`` (``UnitData``) - ``Ability_SniperWeaponToPistol.asset`` (``AbilityData``) - ``Faction_Human.asset`` (``FactionData``) - ``ProdCat_Vehicles.asset`` (``ProductionCategoryData``) - ``AI_Hard.asset`` (``AIData``) If you add your own data asset type, follow the same idea: use its class name (or a short, clear abbreviation of it, like ``ProdCat_`` for ``ProductionCategoryData``) as the prefix. Prefab naming ***************** Gameplay prefabs (units, buildings, shells, UI) also use their category as a prefix, spelled out in full rather than abbreviated: - ``Unit_Scout.prefab``, ``Building_Barracks.prefab`` — the unit/building itself. - ``Ghost_Barracks.prefab`` — its building ghost drawer, see :doc:`../SettingsAndCustomization/how_to_setup_new_building`. - ``Shell_Tank.prefab`` — a projectile prefab, see :doc:`../../Shell/shell`. .. toctree::