Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Primeros pasos en Unity. Añadiendo Scripts (parte 1) - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Veamos cómo se añaden los scripts a un proyecto de Unity para empezar a escribir nuestro código.
Vamos a introducirnos ya en el mundo de la programación dentro de Unity y para eso lo haremos viendo cómo se crean los scripts, la estructura básica de un script en Unity y veremos cómo lo que habíamos visto con respecto a otros lenguajes de programación se aplica también aquí con ciertas salvedades ya que estamos en programación orientada a objetos.
00:00:07
Pero vamos, los conceptos suelen ser los mismos.
00:00:28
Tengo aquí un proyecto de Unity totalmente vacío,
00:00:31
donde tenemos la cámara y la luz que él crea por defecto,
00:00:34
así como la escena que él también crea por defecto,
00:00:38
que por supuesto podemos cambiar el nombre en cualquier momento.
00:00:41
La distribución de la ventana es la que a mí me gusta.
00:00:44
¿Cómo se crea un script en Unity?
00:00:47
Lo primero que tenemos que saber es que los scripts tienen que estar asociados a un GameObject,
00:00:50
es decir, a algo que esté en la escena.
00:00:54
no en el proyecto
00:00:56
eso
00:00:57
recuerdo que lo que está en el proyecto
00:00:59
no significa que esté en nuestra escena
00:01:02
significa que está disponible para nosotros
00:01:04
pero no que esté en la escena
00:01:06
así que para que yo pueda
00:01:07
poner un script tiene que haber algo en la escena
00:01:09
veremos que luego
00:01:12
el script queda asociado a ese GameObject
00:01:14
y que cuando llamemos a sí mismo
00:01:15
lo que estamos llamando es al propio GameObject
00:01:18
que lo contiene
00:01:20
voy a poner un ejemplo
00:01:21
voy a añadir un cubo
00:01:22
Apunte. Si en un momento dado queremos crear scripts pero no queremos crear GameObjects en la escena,
00:01:26
pues para eso existe dentro de GameObjects la opción de crear un objeto vacío.
00:01:31
De hecho tiene su atajo porque es algo que usaremos bastante a menudo.
00:01:38
Cada vez que queremos crear algo en la escena pero que no tiene contenido,
00:01:41
pues creamos un objeto vacío, no solo para crear scripts sino también para ponerle elementos jerárquicamente.
00:01:44
Hay varias formas para añadir scripts.
00:01:52
Pues la primera, quizá la más rápida, si quiero asociar ese script a este GameObject es directamente aquí en el botón de Add Component, pues lo pinchamos.
00:01:53
Si es la primera vez que lo abrimos nos saldrá este desplegable y ahí es donde yo os diría a la opción de New Script y escribir aquí el nombre del complemento
00:02:03
o incluso si empezamos ya a escribir, pues C Sharp, pues ahí incluso reconoce que lo que queremos añadir es un nuevo script.
00:02:14
Lo añadimos y como podemos ver, muy importante, he añadido el archivo a mis assets, lo he
00:02:20
añadido también a mi disco duro y ya está disponible para nosotros y está, como podéis
00:02:27
ver, aquí vinculado en el inspector como un componente más de nuestro GameObject.
00:02:31
Voy a ir a mis assets y le voy a crear una carpeta, le voy a llamar scripts y este que
00:02:36
he creado lo rastro aquí.
00:02:43
Igual ocurrirá también en el disco duro.
00:02:47
¿Otra forma de crear scripts? Pues nos podemos ir directamente a la carpeta donde yo quiero crearlo y darle con el botón derecho crear y nos aparecerá, como podéis ver, una de las primeras opciones, un script en C Sharp.
00:02:49
La diferencia es que ahora mismo este script no está asociado con ningún GameObject. ¿Quiero asociarlo? Pues yo puedo, por ejemplo, para que veamos qué es la diferencia, yo puedo crear una esfera.
00:03:04
tengo la escena seleccionada, con lo cual la tengo en el inspector
00:03:16
e igual que algo con los demás componentes puedo arrastrar
00:03:20
cuidado, tenemos que pinchar y arrastrar, porque si pinchamos en el script
00:03:25
pues lógicamente dejamos de seleccionar la esfera, pero si pinchamos la esfera y cogemos
00:03:28
el script y lo arrastramos al inspector
00:03:32
pues de nuevo también queda vinculado
00:03:36
¿Cómo editarlos? De nuevo, podemos editarlo con cualquier programa
00:03:40
No dejan de ser archivos de texto plano disponibles en nuestro disco duro, pero lo normal es asociarlos con un programa que edite los scripts.
00:03:44
De hecho, en Unity, si nos vamos a las preferencias, en External Tools, veremos que podemos seleccionar qué editor externo queremos que utilice para nuestros scripts.
00:03:54
Por ejemplo, yo aquí tengo el Visual Studio, que es el que uso para editar mis scripts en Unity.
00:04:09
Yo, por ejemplo, si me dirijo a mi script que está aquí en el inspector, si me voy a este menú contextual que aparece aquí, le puedo dar y decirle que edite el script.
00:04:15
Y entonces se me abrirá el programa que tengo vinculado con los scripts.
00:04:28
Es lo mismo que si le doy un doble clic al propio script en la ventana de proyecto y se me abre en mi programa.
00:04:32
Analizo brevemente la estructura del script porque veremos que no se ha creado vacío, sino que ya directamente tiene algo.
00:04:39
Lo comento de pasada.
00:04:44
Como podemos ver, lo primero que nos llama la atención es que, como ya digo, no está vacío.
00:04:46
Él automáticamente ha cargado unas librerías, que lógicamente no debemos cambiar, salvo que sepamos lo que estamos haciendo.
00:04:51
Al contrario, llegará un momento en el que tendremos que añadir nuevas librerías para usar ciertas funcionalidades que no vienen por defecto.
00:04:57
Vemos que ha creado una clase, ya en otro momento veremos lo que es la programación orientada a objetos y el concepto de clase,
00:05:04
que tendrá el nombre del archivo que hemos creado.
00:05:10
Esto es una clase heredada, hablaremos de ello cuando también hablemos de programación orientada a objetos, de nuevo no tenemos que tocarlo porque eso es lo que nos permite usar todas las funcionalidades, los métodos y las clases incorporadas en Unity.
00:05:13
Y estos son dos métodos, acordémonos que en programación orientada a objetos a lo que normalmente se le llama funciones, pues aquí lo llaman métodos, son dos métodos que vienen ya por defectos.
00:05:25
¿Qué significa? Este, como bien indica aquí en los comentarios, se ejecutará cuando lance el juego
00:05:35
Es decir, una vez
00:05:44
Y sin embargo, este se ejecutará, es decir, lo que hay adentro se ejecutará una vez por fotograma
00:05:46
¿Qué significa? Que si estamos trabajando o el juego está a 48 fotogramas por segundo
00:05:53
Pues esto será como una especie de bucle que se ejecutará 48 veces por segundo
00:05:58
Así que bueno, lo encontraremos la utilidad, pero yo ahora para lo que me interesa lo voy a borrar
00:06:02
porque estos son métodos que no son necesarios si no los vamos a usar, es decir, que los podemos borrar y no pasa nada.
00:06:07
El de Start sí lo necesito porque quiero que se lance algo cuando ya lance el juego.
00:06:13
Para empezar, como buena programación orientada a objetos, en C Sharp lo primero que le tenemos que decir es las variables que voy a usar
00:06:18
y el ámbito de las variables
00:06:28
y qué tipo de variables van a ser
00:06:30
es decir, que si yo creo una variable
00:06:32
por ejemplo, que solo quiero
00:06:35
que esté disponible en mi
00:06:36
clase
00:06:38
lo llamo privado
00:06:40
ahí tengo que decir que si no le decimos nada
00:06:42
él entenderá que es privado
00:06:45
luego, le tengo que decir qué tipo de
00:06:46
variable es, si es una cadena
00:06:49
de texto, por ejemplo, pues le diré
00:06:51
que es
00:06:52
un string
00:06:53
y a continuación el nombre de la variable
00:06:56
por ejemplo le voy a llamar myString
00:06:59
y ya está, con esto he declarado la variable
00:07:01
quiero que ya asignarle un valor
00:07:04
pues como en cualquier otro lenguaje
00:07:08
también si yo ya sé el valor
00:07:09
se lo puedo asignar al mismo tiempo que lo creo
00:07:10
por ejemplo, hola mundo
00:07:12
bien, algo que tenemos que saber
00:07:16
es que aunque yo he creado ahora mismo
00:07:19
una variable que está disponible en mi clase
00:07:22
yo no puedo llamarla cuando quiera
00:07:24
De hecho, si yo intento aquí utilizar esta variable, veremos que me da error.
00:07:26
Directamente el propio programa me dice que esta variable no existe en el contexto actual.
00:07:37
Y la acabamos de declarar justo encima.
00:07:45
¿Qué nos está diciendo aquí?
00:07:47
Nos está diciendo realmente que tiene que estar dentro de un método, que no lo podemos usar en el RAID.
00:07:49
así que de hecho si nos vamos a cualquier método como este que ya está
00:07:54
creado y aquí si le digo que mi variable tiene otro valor como
00:07:58
podemos ver aquí no nos da error vamos a probar a mandarlo con sólo se manda
00:08:07
consola en unity de nuevo tenemos que estar dentro de un método no lo puedo
00:08:12
hablar no puedo llamar a la función de consola aquí tiene que ser por ejemplo
00:08:18
en la función Start, en el método Start.
00:08:24
Y aquí, por ejemplo, le voy a mandar a la consola.
00:08:28
¿Cómo se manda a la consola? Pues tenemos varias opciones.
00:08:30
Podemos mandarlo usando el sistema debug log y entre paréntesis lo que queremos mandar.
00:08:32
Me voy a mi Unity.
00:08:41
Tengo muy importante abierta la consola para poder verlo.
00:08:44
Hay varias funciones aquí. Una de ellas muy interesante es la de clear on play,
00:08:49
que significa que cada vez que lance el Play de Unity me limpia la consola
00:08:52
y así no tengo ahí líneas de código que molesten.
00:08:57
Pero si yo lanzo el Play, recuerdo, aquí lo doy y automáticamente en la consola
00:09:01
vemos que efectivamente me saluda.
00:09:06
Vale, paro.
00:09:10
Otra forma de comunicarme con la consola es utilizando la opción Print.
00:09:12
El efecto es el mismo.
00:09:20
vemos que aquí me ha saltado algún aviso pero es temporal
00:09:21
de hecho las alertas que tenga pueden ser o bien alertas tipo warning
00:09:25
es decir que no impiden que se ejecute el script pero que debemos prestarle atención
00:09:31
pero si aparece una alerta de tipo rojo significa que el script no se podrá ejecutar
00:09:37
ahora probaremos alguna
00:09:42
pero si le doy el play como he dicho se limpia la consola y efectivamente me lo lanza igualmente
00:09:43
Pues ya a estas alturas, por ejemplo, podemos, para ver cómo funciona, decirle, oye, pues cuando se lance el script, mándame a consola la variable myString y luego vuélvemelo a mandar, pero con el cambio de valor.
00:09:48
Algo que no he comentado, pero que veremos, que habremos notado, es que yo cada vez que le doy a guardar, por ejemplo, ahora le doy a guardar el script, automáticamente Unity se quedará pensando y actualiza el script.
00:10:02
Es más, ahora si le lanzo al Play, pues vemos que me saluda y luego ha cambiado de valor.
00:10:18
- Idioma/s:
- Materias:
- Informática, Imagen y Sonido
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Autor/es:
- Álvaro Holguera
- Subido por:
- Alvaro H.
- Licencia:
- Reconocimiento - No comercial - Sin obra derivada
- Visualizaciones:
- 28
- Fecha:
- 18 de abril de 2026 - 17:51
- Visibilidad:
- Público
- Centro:
- CFP JOSÉ LUIS GARCI
- Duración:
- 10′ 26″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 179.74 MBytes