menu
 

Naming Convention Best Practices

게임 오디오

This article was originally published by Can Uzer on his website.

What makes a good naming convention in game development, and why should you care? Simply put, a naming convention is a set of rules that define how specific types of assets—such as audio clips, animations, and sprites—are named. As a game sound designer managing large amounts of audio assets, I’ve learned that clear, consistent naming conventions are essential for maintaining order and efficiency. When taken seriously, they can dramatically improve workflow, reduce errors, and streamline communication across teams. In this article, I’ll share practical tips to help you name your assets more effectively.

Let’s start with the clear advantages that strong naming conventions bring to the table:

  • Efficient Navigation & Search: Quickly locate the files you need without frustration.
  • Logical Organization: Files are sorted in a practical, easy-to-understand order.
  • Simplified Batch Processing: Batch-renaming and other mass file operations become effortless.
  • Automation Potential: Enables powerful scripting and automation for tasks involving string processing.
  • Improved Code Readability: Cleaner, more intuitive code when asset names are referenced.
  • Cross-Asset Cohesion: Consistent naming across disciplines such as audio, art, and animation keeps teams aligned.
  • Readable Archives: File structures remain clear and organized over time.
  • Satisfies Perfectionism: A personal favorite—there’s something satisfying about everything being neat and orderly!

So, how do you define a strong, effective naming convention? Below are a few key principles and ideas you can incorporate into your file naming system, including some practical examples.

Essential Qualities of a Strong Naming Convention

  1. Informative but Concise: Include enough detail without being verbose (e.g., ui_button_select).
  2. Hierarchical Structure: Organize sections from general to specific (e.g., environment_forest_bird).
  3. Logical Sorting: Ensure names make sense when sorted alphabetically.
  4. Consistent Typing Case: Stick to a consistent case style, such as camelCase, PascalCase, or snake_case.
  5. Uniform Numbering: Use consistent digits based on expected file counts (e.g., 01, 02 or 001, 002). Avoid single-digit numbers to maintain proper sorting (e.g., avoid cases like pig_minion_1 followed by pig_minion_10).
  6. Grammatical Consistency: Stick with consistent verb forms, nouns, or suffixes (e.g., cha_sonic_spin vs. cha_sonic_spinning; bomb_activation vs. bomb_activate).
  7. Consistent Word Forms: Use one standard spelling for ambiguous terms (e.g., ambiance/ambience or flyer/flier).
  8. Consistent Tense and Number: Keep tense and plurality uniform (e.g., chest_destroyed vs. chest_destroy; coins_collect vs. coin_collect).

Naming Convention Examples

It can be helpful to document your naming format using a formula to ensure consistency across assets. Here’s an example of a logical and consistent format:

type_category_?subcategory_?action_?subcategory_?01
(Note: The “?” indicates optional categories.)

Some Examples using this format:

  • ui_button_select
  • ui_button_shop_purchase
  • gp_proj_fire_hit_small_01
  • gp_proj_fire_hit_small_02
  • gp_booster_bomb_activate
  • mus_core_jungle_01

These examples illustrate several best practices:

  • The categories flow from general to specific.
  • Abbreviations are used conservatively to maintain clarity.
  • The “action” category is always a verb, without unnecessary suffixes.
  • Numbering is consistent and helps with sorting.

I’ll provide two file naming examples from Unity’s project view. You can decide which one seems more logical or organized (or, should I say, sane?)

Unity-project-view-example-naming-1 Unity-project-view-example-naming-2

 Additional Tips to Consider

  1. Avoid Excessively Long Names: Overly long names can clutter tool UIs. Focus on essential details.
  2. Be Intentional with Descriptors: Decide whether to be explicit about certain qualities. For example, adding “loop” at the end of a music track name can clarify its looping nature (e.g., music_theme_loop), but omitting it keeps names shorter. Choose based on your production needs.
  3. Mechanics vs. Theme: Make a choice between using game mechanic or theme names (or a combination of both). For example, a script could be named “ExplodingProjectile” (mechanical), while the theme could simply be “Fireball” (thematical). Sound designers and artists often approach game mechanics from a thematic perspective, which comes naturally. However, it’s also important to consider the mechanical aspect when naming and categorizing entities, which can add clarity and context in some cases.
  4. Use Abbreviations Wisely: Abbreviations reduce length but should remain understandable. Stick to standard, consistent abbreviations. Some examples:
    • gp: gameplay
    • plr: player
    • cha/char: character
    • amb: ambience
    • mus: music

Details on Typing Cases

  1. Snake Case for Clarity: I find snake_case—lowercase words separated by underscores—especially helpful (e.g., cha_red_attack_vo). It simplifies searches since underscores isolate specific terms (e.g., cha_ filters cha_ but avoids characters).
  2. Mixed Typing Cases for Emphasis: Consider capitalizing key terms for clarity (e.g., amb_factory_main_STOP to highlight stop events). You can also use camelCase for multi-word categories (e.g., enemy_fireDemon_death, where “Fire Demon” is a single entity).
  3. Other Styles: PascalCase, camelCase and kebab-case (yes, kebab-case is a thing, though kebap would be more accurate—trust me, I’m Turkish) can also be useful depending on your team’s preferences.

What to Avoid

  • Non-Descriptive Names: clip_01 (no context, no clue).
  • Inconsistent Separators: awesome_sound1 (missing underscore before the number).
  • Natural Language Structures: PickupGreenEmerald—difficult to sort and scale. Instead, use ItemGemEmeraldGreen.
  • Inconsistent Hierarchy: boss_enemy_eggman should be enemy_boss_eggman for logical sorting (“enemy” is broader than “boss”).
  • Inconsistent Digits: GreatArt_1, GreatArt_2, GreatArt_10—should use GreatArt_01, GreatArt_02
  • Cryptic Abbreviations: mus_stng_lvl_comp (uh… what?).
  • Excessive Length: sfx_env_forest_daytime_birds_chirping_loop_ambient_lowIntensity_01.wav (ouch).
  • Version Indicators: Including version numbers or other indicators. music_battle_theme_epic_v3_finalMix_02 clutters things—are you sure it’s FINAL final (final)?
  • Inconsistent Terminology Across Teams: Audio files named mechanic_woodbox while artists call it mechanic_crate. Misalignment like this leads to confusion—ensure cross-department consistency.
  • Avoid White-Spaces: It’s usually a good idea to avoid using spaces between words. This can cause issues for certain tools or utilities, and it’s generally not advised.

Conclusion

There’s no universal rule for naming conventions—each project has unique needs. However, setting up a thoughtful system early on, with input from all departments, will streamline production. Better yet, document your naming convention so everyone is on the same page.

I hope these tips help you name your assets more effectively and optimize your workflow. Happy naming!

Can Uzer

Lead Sound Designer

Rovio

Can Uzer

Lead Sound Designer

Rovio

Can (pronounced “John”) is a game audio designer with experience across mobile, PC/console, VR, and linear media. A graduate of SAE and Aalto University (MA in Sound Design), he previously ran his own game audio studio, working with various game companies. Currently, he works as the Lead Sound Designer for Rovio/SEGA in Finland, focusing on the intersection of content creation, implementation, and management. When not crafting sounds for certain iconic red and blue characters (and breaking builds in the process) Can enjoys exercising, playing games (especially retro stuff), and indulging in other nerdy pursuits.

canuzer.com

 @audiocan

댓글

Aaron Brown

January 27, 2025 at 09:29 pm

Comment_Positive_ThisIsAGoodArticle_01 Nice and succinct article summarizing the importance of naming conventions :) A few extra points of discussion: For casing it's extra critical to choose one and stick with it because changing casing in source control and many tools is a pain. Most Perforce depots I've seen are case sensitive and changing the casing is a huge effort of deleting source and conflicts. Perforce can be made to be case insensitive, but that seems rare for teams. For loops I have seen most teams append _lp at the end prior to enumeration. Either on the looping assets, or the container/event itself that loops. Helps keep it consistently at the end of the file for clarity on settings with mass editing. Also, for anyone wanting an awesome free tool to define your projects naming structure I recommend trying out this tool by Aaron Cendan! It helps streamline the process for everyone involved. https://www.aaroncendan.me/side-projects/the-last-renamer

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

Wwise와 Unity로 12일만에 상호작용 폴리 디자인하기

버튼을 누를 때마다 캐릭터의 외모, 태도, 자세가 끊임없이 새로워지는 캐릭터가 걷는다는 것은 폴리 아티스트에게 정말 꿈만 같으면서도 동시에 악몽이기도 하죠. 꿈이든 악몽이든,...

24.9.2019 - 작성자: 피에르-마리 블랑 (Pierre-Marie Blind)

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...

9.9.2021 - 작성자: 파니 러비야르 (Fanny REBILLARD)

어쌔신 크리드 발할라(Assassin’s Creed Valhalla) | 샌드박스 음악 시스템

어쌔신 크리드 발할라(Assassin’s Creed Valhalla)는 규모가 거대한 프로젝트였습니다. 어쌔신 크리드 프랜차이즈 중 가장 큰 맵 중 하나였고, 오픈 월드 장르에서도...

27.11.2024 - 작성자: 알렉상드르 푸아리에(Alexandre Poirier)

BPM: 불렛 퍼 미닛(Bullets Per Minute)에서 음악과 게임플레이 동기화하기

어떤 리듬의 FPS를 만들지 결정하기 BPM: 불렛 퍼 미닛(Bullets Per Minute)은 박자에 맞춰 총을 쏘고, 재장전하고, 점프하고, 피하는 리듬 액션 FPS...

11.12.2024 - 작성자: Awe Interactive (어 인터랙티브)

우주의 침묵 속 사운드 | 하드스페이스: 쉽브레이커의 시스템

하드스페이스: 쉽브레이커(Hardspace: Shipbreaker)는 최근 Playstation 5, Xbox Series S/X 및 PC에서 출시된 1인칭 무중력 우주선 해체...

6.1.2025 - 작성자: 벤 맥컬러프 (Ben McCullough)

실용적인 구현: Wwise를 활용하여 세인트 로우(2022)에서 실제 라디오 재구현하기

세인츠 로우(Saints Row, 2022)의 사전 제작 단계에서 시스템을 처음 설계할 때 오디오 팀은 여러 시스템의 작동 방식을 실제 세계에 맞추기로 결정했습니다. 이는 주로 팀...

15.1.2025 - 작성자: 브렌든 엘리스 (Brendon Ellis)

다른 글

Wwise와 Unity로 12일만에 상호작용 폴리 디자인하기

버튼을 누를 때마다 캐릭터의 외모, 태도, 자세가 끊임없이 새로워지는 캐릭터가 걷는다는 것은 폴리 아티스트에게 정말 꿈만 같으면서도 동시에 악몽이기도 하죠. 꿈이든 악몽이든,...

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...

어쌔신 크리드 발할라(Assassin’s Creed Valhalla) | 샌드박스 음악 시스템

어쌔신 크리드 발할라(Assassin’s Creed Valhalla)는 규모가 거대한 프로젝트였습니다. 어쌔신 크리드 프랜차이즈 중 가장 큰 맵 중 하나였고, 오픈 월드 장르에서도...