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

댓글 달기

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

다른 글

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

20.5.2020 - 작성자: 제이미 크로스(JAIME CROSS)

Mastering Suite(마스터링 스위트)의 비하인드 스토리: 게임 내 오디오 마스터링

Mastering Suite 는 게임 산업의 크리에이티브와 엔지니어들이 일련의 협력을 통해 얻은 결과입니다. 수년간 PlayStation은 게임 오디오 개발자 커뮤니티와 협력하여...

23.7.2020 - 작성자: 단젤리 솀브리 (DANJELI SCHEMBRI )

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 2부

제 1부에서는 Patch 파일을 사용하여 '블루프린트'를 제작하는 법을 설명해 드렸습니다. 이제 Heavy 컴파일러를 사용하여 '자동 워크숍'을 제작한 후, 이 자동 워크숍을...

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

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 2부: 음악

Tell Me Why의 음악은 본질적으로 캐릭터의 서사와 감정을 뒷받침하도록 설계되었습니다. 게임의 이야기는 두 주인공에게 아주 자세하게 집중되어 있으며 생각에 잠기기 쉬운 느린...

22.6.2022 - 작성자: 루이 마르탱 (Louis Martin)

인디 개발자를 위한 무료 Wwise - 사운드 제한이 없는 전체 플랫폼 사용 권한. 이 라이선스를 내놓은 이유와 사용 방법.

안녕하세요!지난 4월 공유된 영상에 대해 더 자세한 정보를 전해드리기 위해 온 라이선스 담당자입니다. 예상치 못했던 깜짝 소식이었지만, 2022년 4월 1일에 저희는 에셋 제한이...

12.12.2022 - 작성자: 마이크 드러멜스미스 (Mike Drummelsmith)

Wwise로 게임 마스터링하기 | 제 2부: Mastering Suite 프리셋 및 사용 방법

2부로 구성된 블로그 시리즈의 제 1부에서는 게임 마스터링에 접근하는 방식을 다루었습니다. 여기에서는 Mastering Suite에 담긴 여러 가지 프리셋을 언제 어떻게...

26.3.2025 - 작성자: 로익 쿠티에(Loïc Couthier) & 단제리 스켐브리(Danjeli Schembri)

다른 글

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

Mastering Suite(마스터링 스위트)의 비하인드 스토리: 게임 내 오디오 마스터링

Mastering Suite 는 게임 산업의 크리에이티브와 엔지니어들이 일련의 협력을 통해 얻은 결과입니다. 수년간 PlayStation은 게임 오디오 개발자 커뮤니티와 협력하여...

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 2부

제 1부에서는 Patch 파일을 사용하여 '블루프린트'를 제작하는 법을 설명해 드렸습니다. 이제 Heavy 컴파일러를 사용하여 '자동 워크숍'을 제작한 후, 이 자동 워크숍을...