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

댓글 달기

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


다른 글

동적 음악 설계에 관하여 - 제 1부: 설계 분류하기

설계 계기 저는 2015년에 오디오 게임 엔지니어로서 처음 일을 하게 되면서 그 당시 저의 아트 디렉터를 통해 Wwise를 접하게 되었습니다. 그전에 저는 게임 음악을 작곡하는...

7.10.2020 - 작성자: 천종 호우 (Chenzhong Hou)

Wwise 미디 기본 지식: 뉴 슈퍼 럭키스 테일(New Super Lucky Tale)의 폭스베리 타이머 음악적 미디 마법!

안녕하세요 멋진 Wwise 사용자분들 :) 게임 오디오 업계에서 살아남기 위한 필수적인 스킬은 바로 문제를 해결하는 능력입니다. 사용하는 도구의 크고 작은 모든 면을 아는 것은...

8.2.2021 - 작성자: 애론 브라운(AARON BROWN)

스타워즈 제다이: 서바이버(Star Wars Jedi: Survivor) | 오디오 팀과의 Q&A

'스타워즈 제다이: 서바이버(Star Wars Jedi: Survivor)'는 Respawn Entertainment가 Lucasfilm Games와 협력해 개발한 3인칭 액션...

2.7.2025 - 작성자: 리스폰 엔터테인먼트 (Respawn Entertainment)

콘도르 히어로즈 (射雕)의 상호작용 음악 시스템 설계 철학 및 구현

프롤로그소개음악 시스템 개요콘텐츠 NPC와 음악의 동기화 《일전매(一剪梅)》와 같은 사패 음악 랜덤 재생 《망해조(望海潮)》음악과 동기화되거나 일시...

1.10.2025 - 작성자: 치메이 시(Qimei Shi) & 유진 체르니(Eugene Cherny)

'궨트: 더 위쳐 카드게임'과 '궨트: 방랑 마법사' | 동시에 두 개의 게임을 작업하는 방법

소개 안녕하세요! 우선, 궨트(GWENT) 와 방랑 마법사(Rogue Mage)의 세계로 들어가기 전에 우리가 누구이며 CD PROJEKT RED에서 어떤 경험을 쌓아왔는지 간단히...

8.10.2025 - 작성자: 마테우시 쉬만스키(Mateusz Szymański)

네바(Neva)의 사운드

이 글은 원래 루벤(Rubén)이 Medium에 게시한 글이며, 그의 다른 글들은 여기에서 확인할 수 있습니다....

12.11.2025 - 작성자: 루벤 린콘(Rubén Rincón)

다른 글

동적 음악 설계에 관하여 - 제 1부: 설계 분류하기

설계 계기 저는 2015년에 오디오 게임 엔지니어로서 처음 일을 하게 되면서 그 당시 저의 아트 디렉터를 통해 Wwise를 접하게 되었습니다. 그전에 저는 게임 음악을 작곡하는...

Wwise 미디 기본 지식: 뉴 슈퍼 럭키스 테일(New Super Lucky Tale)의 폭스베리 타이머 음악적 미디 마법!

안녕하세요 멋진 Wwise 사용자분들 :) 게임 오디오 업계에서 살아남기 위한 필수적인 스킬은 바로 문제를 해결하는 능력입니다. 사용하는 도구의 크고 작은 모든 면을 아는 것은...

스타워즈 제다이: 서바이버(Star Wars Jedi: Survivor) | 오디오 팀과의 Q&A

'스타워즈 제다이: 서바이버(Star Wars Jedi: Survivor)'는 Respawn Entertainment가 Lucasfilm Games와 협력해 개발한 3인칭 액션...