Saltar al contenido principal

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 UIUI_
BotónBtn_
TextoText_
ImagenImg_
PanelPanel_
AnchorAnchor_
Rect TransformRectT_
CanvasCanvas_
Scroll rectScrollR_
Vertical Layout GroupVLayoutG_
Horizontal Layout GroupHLayoutG_
MaskMask_
ToggleTog_

Interactions

GrabGrab_
Distance grabDistGrab_
Grab and twistGrabTwist_
Grab and rotateGrabRot_
PokePoke_
TouchTouch_
SnapSnap_
LocomotionLM_
TeleportTP_

General

State MachineSM_
Background musicBGM_
Sound effectsSFX_
Visual effectsVFX_
ColliderCol_
TriggerTrg_
RigidbodyRigBody_
Line RendererLineR_
TransformTrans_
AnimatorAnim_

Estructura:

  • Prefijo_DescripciónDelGameObject

Ejemplo:

  • Btn_SkipOnboarding

Referencias:

https://unity.com/resources/best-practices-version-control-unity-6