• Juegos
  • Industria
  • Recursos
  • Comunidad
  • Aprendizaje
  • Asistencia
Desarrollo
Motor de Unity
Crea juegos 2D y 3D para cualquier plataforma
DescargarPlanes y precios
Monetización
Compra dentro de la aplicación (IAP)
Descubre y gestiona IAP en todas las tiendas
Mediación
Maximiza los ingresos y optimiza la monetización
Calidad de anuncios
Protege la experiencia del usuario de tu aplicación
Tapjoy
Construye lealtad de usuarios a largo plazo
Todos los productos de monetización
Adquisición de usuarios
Adquisición de usuarios
Hazte descubrir y adquiere usuarios móviles
Unity Vector AI
Conecta a los jugadores con los juegos adecuados
Publicidad en el dispositivo Aura
Alcanza a los usuarios en el dispositivo en el momento de mayor compromiso
Todos los productos de crecimiento
Casos de uso
Colaboración 3D
Construye y revisa proyectos 3D en tiempo real
Capacitación envolvente
Capacitación en entornos envolventes
Experiencias del cliente
Crea experiencias interactivas en 3D
Todas las soluciones de la industria
Industrias
Fabricación
Logra la excelencia operativa
Venta minorista
Transforma las experiencias en tienda en experiencias en línea
Industria automotriz
Eleva la innovación y las experiencias en el automóvil
Todas las industrias
Biblioteca técnica
Documentación
Manuales de usuario oficiales y referencias de API
Herramientas para desarrolladores
Versiones de lanzamiento y rastreador de problemas
Hoja de ruta
Revisar características próximas
Glosario
Biblioteca de términos técnicos
Información útil
Casos de estudio
Historias de éxito en el mundo real
Guías de mejores prácticas
Consejos y trucos de expertos
Todos los recursos
Novedades
Blog
Actualizaciones, información y consejos técnicos
Novedades
Noticias, historias y centro de prensa
Centro de la comunidad
Discusiones
Discute, resuelve problemas y conéctate
Eventos
Eventos globales y locales
Historias de la comunidad
Hecho con Unity
Presentando a los creadores de Unity
Transmisiones en vivo
Únete a desarrolladores, creadores e insiders
Premios Unity
Celebrando a los creadores de Unity en todo el mundo
Para todos los niveles
Unity Learn
Domina las habilidades de Unity de forma gratuita
Capacitación profesional
Mejora tu equipo con entrenadores de Unity
¿No tienes experiencia con Unity?
Primeros pasos
Pon en marcha tu aprendizaje
Rutas esenciales de Unity
¿No tienes experiencia con Unity? Comienza tu viaje
Guías prácticas
Consejos prácticos y mejores prácticas
Educación
Para estudiantes
Impulsa tu carrera
Para docentes
Potencia tu enseñanza
Licencia gratuita para fines educativos
Lleva el poder de Unity a tu institución
Certificaciones
Demuestra tu dominio de Unity
Opciones de soporte
Obtener ayuda
Ayudándote a tener éxito con Unity
Planes de éxito
Alcanza tus metas más rápido con soporte experto
PREGUNTAS FRECUENTES
Respuestas a preguntas comunes
Contáctanos
Conéctate con nuestro equipo
Planes y precios
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moneda
Comprar
  • Productos
  • Unity Ads
  • Suscripción
  • Tienda de recursos de Unity
  • Distribuidores
Educación
  • Estudiantes
  • Instructores
  • Instituciones
  • Certificación
  • Learn
  • Programa de desarrollo de habilidades
Descargar
  • Unity Hub
  • Descargar archivo
  • Programa beta
Unity Labs
  • Laboratorios
  • Publicaciones
Recursos
  • Plataforma Learn
  • Comunidad
  • Documentación
  • Preguntas y respuestas Unity
  • PREGUNTAS FRECUENTES
  • Estado de servicios
  • Casos de estudio
  • Made with Unity
Unity
  • Nuestra empresa
  • Boletín
  • Blog
  • Eventos
  • Empleos
  • Ayuda
  • Prensa
  • Socios
  • Inversionistas
  • Afiliados
  • Seguridad
  • Impacto social
  • Inclusión y diversidad
  • Contacto
Copyright © 2025 Unity Technologies
  • Legal
  • Política de privacidad
  • Cookies
  • No quiero que se venda ni se comparta mi información personal

"Unity", los logotipos de Unity y otras marcas comerciales de Unity son marcas comerciales o marcas comerciales registradas de Unity Technologies o de sus empresas afiliadas en los Estados Unidos y el resto del mundo (más información aquí). Los demás nombres o marcas son marcas comerciales de sus respectivos propietarios.

Hero background image

Creación de scripts en Unity para programadores expertos

Para los programadores que utilizan Unity por primera vez

En Unity, puedes utilizar scripts para desarrollar prácticamente cualquier parte de un juego u otro contenido interactivo en tiempo real. Unity es compatible con la creación de scripts en C#y existen dos opciones principales para estructurar tus scripts de C# en Unity: el diseño orientado a los objetos, que es el enfoque tradicional y más comúnmente utilizado, y el diseño orientado a los datos, que ahora es posible en Unity, para los casos de uso específicos, por medio de nuestra nueva pila de tecnología basada en datos (DOTS) multiproceso de alto rendimiento.

  • ¿Tienes experiencia en C++ y estás empezando a utilizar Unity?
  • GameObjects y componentes en Unity
  • Componentes de creación de scripts en Unity
  • Beneficios del diseño orientado a los datos con DOTS
  • Aprovecha al máximo el hardware moderno
  • Depuración en Unity
  • Backends de creación de scripts en Unity
  • Personaliza Unity al extender el Editor

¿Tienes experiencia en C++ y estás empezando a utilizar Unity?

Unity es compatible con C#, un lenguaje estándar del sector que tiene algunas similitudes con Java o C++

C# es más fácil de aprender que C++. Además, es un "lenguaje administrado", lo que significa que administra la memoria automáticamente por ti: asigna y cancela la asignación de memoria, cubre las fugas de memoria, etc.

En general, es preferible utilizar C# en lugar de C++ si quieres crear un juego primero y lidiar con los aspectos más avanzados de la programación después.

Más información
Ver la documentación de la API de Unity
GameObjects y componentes en Unity

GameObjects y componentes en Unity

Toda la jugabilidad y la interactividad desarrolladas en Unity se construyen sobre tres bloques de construcción fundamentales: GameObjects, componentes y variables.

Cualquier objeto que forma parte de un juego es un GameObject. Esto incluye a los personajes, luces, efectos especiales, accesorios y todo lo demás.

Componentes
Los GameObjects no pueden hacer nada por sí mismos. Para que se conviertan en algo real, debes asignar propiedades a un GameObject, y esto se hace al agregar componentes.

Los componentes definen y controlan el comportamiento de los GameObjects a los que están asociados. Un ejemplo sencillo puede ser la creación de una luz, para lo que es necesario asociar un componente de luz a un GameObject (ver abajo). O puedes agregar un componente Rigidbody a un objeto para hacer que caiga.

Los componentes tienen cualquier cantidad de propiedades editables, o variables, que se pueden modificar en la ventana del Inspector del Unity Editoro por medio de un script. En el ejemplo anterior, algunas propiedades de la luz son el rango, el color y la intensidad.

Componentes de creación de scripts en Unity

Los componentes integrados de Unity son muy versátiles, pero pronto te darás cuenta de que debes ir más allá de lo que pueden ofrecerte para implementar tu propia lógica. Para hacer esto, deberás utilizar scripts para implementar tu propia lógica y tu propio comportamiento en el juego, y después agregar esos scripts como componentes a los GameObjects. Cada script crea su conexión con los procesos internos de Unity al implementar una clase que se deriva de la clase integrada, llamada MonoBehaviour.

Tus componentes de scripts te permitirán hacer muchas cosas: activar eventos del juego, buscar colisiones, aplicar física, responder a las entradas de los usuarios y mucho más. Para obtener más información, consulta la API de creación de scripts de Unity.

Demostración de Unity Megacity creada en DOTS

Beneficios del diseño orientado a los datos con DOTS

El concepto tradicional de GameObject-componente aún funciona bien porque es fácil de entender para los programadores y para quienes no tienen experiencia de programación, además de que es fácil crear interfaces de usuario intuitivas para este concepto. Si agregas un componente Rigidbody a un GameObject, este comenzará a caer; o, si agregas un componente de luz a un GameObject, este comenzará a emitir luz. Y así sucesivamente.

Sin embargo, el sistema de componentes se escribió en un marco de trabajo orientado a los objetos y genera ciertos desafíos para los desarrolladores en cuanto a la administración de la memoria y la caché en el hardware que evoluciona constantemente.

Los componentes y los GameObjects son objetos "con una gran cantidad de C++". Todos los GameObjects tienen un nombre. Sus componentes son envoltorios de C# colocados sobre componentes de C++. Esto hace que sean fáciles de utilizar, pero puede afectar al rendimiento, pues pueden terminar almacenados de una manera no estructurada. Ese objeto de C# puede estar en cualquier parte de la memoria. El objeto de C++ también puede estar en cualquier parte de la memoria. Los elementos no se agrupan en bloques contiguos de la memoria. Cada vez que se carga un elemento en el CPU para su procesamiento, todos los elementos que lo componen se deben obtener desde ubicaciones diferentes. Esto se puede convertir en un proceso lento e ineficaz y, por lo tanto, puede requerir muchas soluciones alternativas de optimización.

Para enfrentar estos problemas de rendimiento, estamos rediseñando la base de Unity con la pila de tecnología basada en datos (o DOTS) multiproceso (actualmente en la versión de vista previa).

DOTS hace posible que tu juego utilice plenamente los procesadores multinúcleo más nuevos de forma eficiente. Esta solución está compuesta por:

  • C# Job System para ejecutar código multiproceso de forma eficiente.
  • El sistema de componentes de entidad (ECS) para escribir código de alto rendimiento de forma predeterminada.
  • El compilador Burst para producir código nativo altamente optimizado.

En DOTS, el ECS es el nuevo sistema de componentes. En este nuevo sistema, podrás utilizar una entidad para hacer cualquier cosa que se hace normalmente con un GameObject en el método tradicional orientado a los objetos. Los componentes se siguen llamando de la misma manera. La diferencia más importante es el formato de los datos. Puedes leer más sobre esto en la publicación del blog “En PUNTOS: Sistema de componentes de entidad”.

Demostración de Unity Megacity creada en DOTS

Aprovecha al máximo el hardware moderno

Además de que es un mejor enfoque para la programación de juegos por razones relacionadas con el diseño, el uso de ECS te pone en una posición ideal para aprovechar C# Job System y el compilador Burst de Unity, lo que te permite aprovechar al máximo las capacidades del hardware moderno.

Los sistemas multiproceso de DOTS te permiten crear juegos que se pueden ejecutar en una gran variedad de hardware y desarrollar mundos de juego más completos, con más elementos y simulaciones más complejas. Por su parte, el código de alto rendimiento contribuye para obtener el mejor control de temperatura y aumentar la vida útil de la batería en los dispositivos móviles de los jugadores. Al hacer la transición del diseño orientado a los objetos al diseño orientado a los datos, puedes reutilizar tu código, y otras personas pueden entenderlo y trabajar en él, con mayor facilidad.

Debido a que algunas partes de la tecnología de DOTS están en la versión de vista previa, se recomienda que los desarrolladores la utilicen para resolver un desafío de rendimiento específico en sus proyectos, en lugar de utilizarla para crear proyectos completos. Consulte la sección "Más recursos" en la parte inferior de esta página, donde encontrarás los enlaces para los recursos clave sobre DOTS.

Unity Profiler: una herramienta para la optimización del rendimiento

Depuración en Unity

Las modificaciones y la depuración son eficientes en Unity porque los desarrolladores pueden ver todas las variables mientras juegan, lo que les permite cambiar cualquier cosa sobre la marcha y sin escribir ni una sola línea de código. Puedes pausar el juego en cualquier momento o revisar el código un enunciado a la vez.

Estos son algunos recursos fabulosos para obtener más información sobre la optimización en Unity:

El Profiler

El Profile Analyzer

El Memory Profiler

Comprender la optimización en Unity

Optimización del rendimiento gráfico

Prácticas recomendadas generales (incluye una gran variedad de consejos para optimizar el sistema de la interfaz de usuario (UI) de Unity)

Backends de creación de scripts en Unity

.NETO: .NET: Unity utilizó una implementación del tiempo de ejecución estándar Mono para la creación de scripts que es compatible con C# de forma nativa. Unity actualmente incluye Visual Studio para Mac en lugar de MonoDevelop-Unity en macOS. En Windows, Unity incluye Visual Studio.

El tiempo de ejecución para la creación de scripts .NET 4.6 de Unity es compatible con muchas de las nuevas características emocionantes de C# y con las funciones de depuración disponibles en C# 6.0 y versiones posteriores. Esto también ofrece una excelente experiencia de IDE en C# para acompañar a las nuevas características de C#.

IL2CPP: IL2CPP: este es un backend de creación de scripts desarrollado por Unity, y lo puedes utilizar como alternativa de Mono al crear proyectos para algunas plataformas. Si eliges crear un proyecto con IL2CPP, Unity convierte el código IL de los scripts y los ensamblados en código de C++, y después crea un archivo binario nativo (por ejemplo, .exe, .apk o .xap) para la plataforma que elijas.

Ten en cuenta que IL2CPP es el único backend de creación de scripts disponible al crear proyectos para iOS y WebGL.

Personaliza Unity al extender el Editor

Si eres un programador, Unity te ofrece una gran flexibilidad porque puedes extender el editor con tus propias ventanas personalizadas que tienen el mismo comportamiento que las ventanas de Inspector, Scene o cualquier otra ventana integrada en el editor estándar. Al agregar tus propias herramientas a Unity, puedes aumentar la eficiencia de tus proyectos al utilizar tus propios flujos de trabajo y atender las necesidades exclusivas de tu equipo.

Más recursos

Convierte tu juego a DOTS

Convierte tu juego a DOTS

Ver el video
Demostración de Megacity creada en DOTS

Documentación de DOTS

Más información
Herramientas y servicios incluidos en la plataforma de desarrollo de Unity

Descripción general de la plataforma 3D en tiempo real de Unity

Más información