[S-Production-001] General Naming Convention
In this article:
Overview
In the intricate world of game development, where diverse talents collaborate to craft interactive experiences, the enforcement of a general naming standard proves indispensable. These standards establish a shared language that bridges the creative realms of artists, the logic of programmers, the visions of game designers, and the coordination of producers. They not only enhance communication but also streamline the integration of assets, scripts, and design elements, fostering a coherent and efficient development process. Consistent naming conventions empower teams to navigate the complexities of game projects, facilitating creativity and innovation while minimizing confusion and errors. In the dynamic world of game development, a unified naming standard serves as the cornerstone for harmonious collaboration and the successful realization of gaming visions.
Scope
This standardization cover the Unreal Style Guideline about how to work in Unreal. This standard applies to all person in in team that work using Unreal Engine.
Technical Director and Art Director was the parties whose in charge in these guidelines. While all of the team member should follow these guidelines, they can ask about the guidelines to the directors or can propose some new guidelines here and there.
General Naming Convention
[S-Production-001.1] Use English
Using English words for assets in a game project is a common practice for several reasons.
- Global Accessibility: English is one of the most widely spoken and understood languages worldwide. By using English for asset names, you make your game more accessible to a global audience. Client from different countries and language backgrounds can better understand and this solve the problem when we need to hand over the project later.
- Consistency: English provides a consistent naming convention for assets. It's easier for development teams to communicate and collaborate when everyone uses a common language for asset names. This consistency helps streamline the development process and reduces the chances of misunderstandings.
- Cross-Platform Compatibility: Many game development tools and platforms are primarily designed to work with English. Using non-English characters or words in asset names can sometimes lead to compatibility issues, especially when working with third-party tools and engines.
- Localization: If you plan to localize your game into multiple languages, starting with English asset names makes the localization process smoother. Translators can easily understand the context and purpose of each asset, which helps maintain the integrity of the game's design and user experience across different languages.
- Documentation and Support: When you encounter issues or need to seek help in forums, documentation, or from the gaming community, using English asset names ensures that others can understand your questions and provide assistance effectively.
- Asset Management: English asset names are generally easier to manage within asset databases and version control systems. They are less likely to cause encoding or formatting issues that can arise with non-English characters.
- Searchability: When working on a large project with many assets, using English names makes it easier to search for specific assets within your project files or directories. It can save time and reduce potential confusion.
- Marketplace Compatibility: If you plan to sell your game or assets on online marketplaces or app stores, many of these platforms require English descriptions and asset names as part of their submission guidelines.
[S-Production-001.2] Forbidden Character
In any identifier name of any kind, never use the following unless absolutely forced to:
- White space of any kind
- Backward slashes
\
- Symbols i.e.
#!@$%
- Any Unicode character
Any identifier name should strive to only have the following characters when possible (the RegEx [A-Za-z0-9_]+
)
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- abcdefghijklmnopqrstuvwxyz
- 1234567890
- _ (sparingly)
Localization is outside this rule because localization scope was for displayed contents, not in development assets.
The reasoning for this are:
- This will ensure the greatest compatibility of all data across all platforms across all tools.
- Prevent downtime due to potentially bad character handling for identifiers in code you don't control.
- Prevent unexpected issues in another engineering tools such as automation like CICD.
If one of your game characters is named 'Zoë', its folder name should be Zoe
. Unicode characters can be worse than Spaces for engineering tool and some parts of UE4 don't support Unicode characters in paths either.
Using other characters outside a-z
, A-Z
, and 0-9
such as @
, -
, _
, ,
, *
, and #
can also lead to unexpected and hard to track issues on other platforms, source control, and weaker engineering tools.
Related Pages
[S-Unreal] Unreal Style Guidelines
[G-Production-001] Development Principles
[S-Unreal-001] Unreal Standardization Terminology
[S-Production-001] General Naming Convention
[S-Unreal-002] Unreal Asset Naming Convention
[S-Unreal-003] Unreal Folder Structure & Naming Convention
[S-Unreal-004] Textures Standardization
[S-Unreal-005] Static Meshes Standardization
[S-Unreal-006] Skeletal Meshes Standardization
[S-Unreal-007] Media Standardization
[S-Unreal-008] Niagara Particle System Standardization
[S-Unreal-009] Maps Standardization