Estructura - Nomenclatura de assets y GameObjects
Nomenclatura para GameObjects
Aunque no hay un estándar de nomenclatura para GameObjects en Unity, se considerarán los siguientes consejos:
-
Inglés: Todos los nombres deben estar en inglés.
-
Nombres descriptivos y no abreviaturas: Utiliza nombres que puedas recordar varios meses después. Elige nombres que puedas pronunciar y recordar. Por esta razón, generalmente no se recomienda utilizar abreviaturas.
-
Uso de Camel case: Evita espacios en los nombres, en su lugar usa Camel case para mejorar la lectura de los assets y/o GameObjects. Incluso si llegaras a usar guiones bajos moderadamente, siempre haz uso de Camel case.
-
Usa guiones bajos con moderación: Evita los guiones bajos y los guiones en general. Sin embargo, pueden ser útiles en determinadas circunstancias. También puedes utilizar guiones bajos para indicar variantes de un objeto específico.
-
Ejemplos:
- EnterButton_Active y EnterButton_Inactive
- Foliage_Diffuse y Foliage_NormalMap
- Building_LOD1 y Building_LOD0
-
-
Utiliza sufijos numéricos para indicar una secuencia: Sólo si el GameObject forma parte de una lista y empieza por 0.
-
Ejemplo:
- Node0, Node1, Node2, etc.
-
-
Prefijos: Usa siempre los prefijos definidos por el área.
-
Evita separadores visuales: Evita usar separadores estilo ====UI==== o ---UI--- debido a que no son semánticos, los GameObjects con nombres así no representan una responsabilidad y sólo son separadores visuales. Dentro de la escena todo GameObject debería existir por una razón funcional o conceptual, no decorativa.
Nomenclatura para Assets
-
Aplica todas las reglas mencionadas anteriormente para GameObjects.
-
Usa guiones bajos con moderación: En el caso de nombrar assets y/o carpetas, el uso de los guiones bajos será sólo para denotar múltiples assets pertenecientes a un módulo, sección o sistema. Ya sea un elemento específico del proyecto o no.
-
Ejemplo:
- Dashboard_Status
- Dashboard_Status_Approved
- Dashboard_Status_Fail
-
-
En el caso de assets pertenecientes al área de Arte 3D, como materiales, texturas, animaciones o controladores haz uso de los prefijos del área.
Para nombrar GameObjects con base en su función principal haz uso de las siguientes listas de prefijos:
UI
| Gameobject/prefab de UI | UI_ |
| Botón | Btn_ |
| Texto | Text_ |
| Imagen | Img_ |
| Panel | Panel_ |
| Anchor | Anchor_ |
| Rect Transform | RectT_ |
| Canvas | Canvas_ |
| Scroll rect | ScrollR_ |
| Vertical Layout Group | VLayoutG_ |
| Horizontal Layout Group | HLayoutG_ |
| Mask | Mask_ |
| Toggle | Tog_ |
Interactions
| Grab | Grab_ |
| Distance grab | DistGrab_ |
| Grab and twist | GrabTwist_ |
| Grab and rotate | GrabRot_ |
| Poke | Poke_ |
| Touch | Touch_ |
| Snap | Snap_ |
| Locomotion | LM_ |
| Teleport | TP_ |
General
| State Machine | SM_ |
| Background music | BGM_ |
| Sound effects | SFX_ |
| Visual effects | VFX_ |
| Collider | Col_ |
| Trigger | Trg_ |
| Rigidbody | RigBody_ |
| Line Renderer | LineR_ |
| Transform | Trans_ |
| Animator | Anim_ |
Estructura:
- Prefijo_DescripciónDelGameObject
Ejemplo:
- Btn_SkipOnboarding
Referencias:
https://unity.com/resources/best-practices-version-control-unity-6