Corrutinas en Unity: Cómo usarlas, y alternativas (para no usarlas)

  Рет қаралды 12,853

Damián González

Damián González

Күн бұрын

Пікірлер: 95
@Rhomita
@Rhomita 4 жыл бұрын
Muy bien explicado Dami! Conocer las Coroutines es un antes y un después! 😍
@oscarquintero8511
@oscarquintero8511 2 жыл бұрын
Muy bien explicado, todo muy claro, mostrar las diferentes maneras de hacer algo y llevarnos a la mejor opción o practica, gracias por compartir!!
@miguelvaras1029
@miguelvaras1029 4 жыл бұрын
Man sos todo un crack, la verdad se necesitan profesores como vos en las facultades! sos un genio total!
@syajuegos430
@syajuegos430 4 жыл бұрын
Aguante el instantiate() !! XD ... Hablando en serio, de lo mejor tus explicaciones..abris la mente y sin duda ayudas a administrar de manera mas eficiente nuestros codigos...sin duda uno de los mejores explicando (sino el mejor) de arg !...abrazooo y grax por estooo
@joseoleaga
@joseoleaga 4 жыл бұрын
Eres el mejor amigo, me encanta tu personalidad y enseñas increíble, es fácil aprender contigo gracias💁🏻‍♂️✌️✌️🙏🙏🙏
@hasaellopez4954
@hasaellopez4954 3 жыл бұрын
ERES UN MAESTRO! Muchas gracias por el conocimiento
@AlexGLMusic
@AlexGLMusic 4 жыл бұрын
Conocía las Corutinas pero siempre busqué una manera alternativa para no depender de ellas. Muchas gracias por la explicación en este y en tus otros vídeos!
@homestudio6084
@homestudio6084 4 жыл бұрын
Eres increible y único en tu forma de explicar. Gracias!
@pekediablo150
@pekediablo150 3 жыл бұрын
La última forma de programarlo me ha fascinado
@dr.freemanaperture1668
@dr.freemanaperture1668 Жыл бұрын
Muchas gracias. 👍👍👍
@HHungriaP
@HHungriaP 4 жыл бұрын
Realmente como maestro Eres un Crack, nadie explica mejor que tu. En cuanto a las 2 altenativas que nos enseñas, ya son muy buenas como opciones para probar pero no creo que tengan mejor performance que las tipicas courroutinas. Saludos desde Carolina del Sur, USA.
@lauramereles1021
@lauramereles1021 4 жыл бұрын
Impecable trabajo. Me encanta! Me estaba rompiendo la cabeza para hacer un pausa y detener y reanudar corroutinas pero ahora veo que son innecesarias
@bot-m9167
@bot-m9167 3 жыл бұрын
wowwww muchas gracias justo lo que necesitaba y bien explicado :)
@resenasrock4147
@resenasrock4147 3 жыл бұрын
Gracias, estoy haciendo un juego de peleas por turnos y esto me viene re bien
@eduardoblancarte7846
@eduardoblancarte7846 3 жыл бұрын
Muchísimas gracias, primer video tuyo que veo y me encanto, me ayudaste a resolver un problema que tenia con las curritinas en donde una vez que se ejecutaba la línea de WaitForSeconds ya no hacia nada. Me suscribo a tu canal para aprender más con tu contenido. Saludos
@davidecheverry0517
@davidecheverry0517 4 жыл бұрын
el video que no sabia que necesitaba
@sergiotalegon4514
@sergiotalegon4514 Жыл бұрын
Genial!!! Muchas gracias
@gameroche
@gameroche 3 жыл бұрын
Excelente video gracias
@demongbari45
@demongbari45 3 жыл бұрын
me encanto este tutorial!
@3dclass306
@3dclass306 2 жыл бұрын
Eres un máquina, muchas gracias por la ayuda!!!! nuevo sub!!!!!!!
@Brunales58
@Brunales58 2 жыл бұрын
Buenas, tengo una pregunta. Al recoger una moneda quiero que haga el sonido de recoger la moneda y luego que el objeto moneda de destruya, el problema es que tengo que esperar los milisegundos que dura el sonido para destruir el objeto moneda porque sino se escucha un chasquido nada más. A todo esto lo estoy haciendo con corrutinas, si me pueden ayudar se lo agradecería. Gracias
4 жыл бұрын
Tenía mis reservas con no utilizar corrutinas pero la verdad es que me ha gustado la idea de crear tu propio administrador de tareas.
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
a mí me encanta, a la hora de necesitarlo escribo una sola línea y listo :)
@MiguelAngelVsd
@MiguelAngelVsd 3 жыл бұрын
@@damiangonzalez_esp hola amigo y en js como seria, porque lo que yo quiero es hacer que la musica de fondo se baje de poco en poco cuando termine mi escena, y me dijero que se hacia con corrutinas pero en cs , yo quisiera saber como seria en js, porque la scrip la tengo asi, gracias
@gameroche
@gameroche 3 жыл бұрын
La inteligencia es hacer las cosas simples mucho mejor esta opciòn gracias
@axelderosa4455
@axelderosa4455 3 жыл бұрын
EXCELENTE VIDEO!
@shayrmitz9203
@shayrmitz9203 4 жыл бұрын
Muy bien explicado, gracias!!!
@nyuronjavigor
@nyuronjavigor 4 жыл бұрын
Muy buenas DGonzalez. Me preguntaba si tienes intención de publicar la parte 3 del tutorial de las cuerdas, para aprender a hacer que suba y baje por ella.
@FarwalDev
@FarwalDev 3 жыл бұрын
Que buena explicación, ahora veo las corrutinas de otra manera :3
@thewarriorgames6305
@thewarriorgames6305 4 жыл бұрын
Muy duro este tutorial y el es muy bueno haciendo esto de videosjuegos 100 por siento recomendado
@fernandocordoba7532
@fernandocordoba7532 4 жыл бұрын
Excelente tu manera de explicar! Te quisiera consultar qué ventajas y desventajas tiene usar Invoke de una función para hacer algo como esto?
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
Hola, Fernando. Sinceramente no sabía que Invoke permitía un delay, muchas gracias por el dato. Investigando un poco, veo que ambas se pueden cancelar, ambas se pueden almacenar en variables. Los Invoke con delay parece que son una versión simplificada de las corrutinas, y para esto podrías usar cualquiera de las dos, pero encontré estas diferencias en algunos foros: Pros de Invoke: - código más breve y claro Contras de Invoke: - no se le pueden pasar argumentos, a las corrutinas sí - Las corrutinas además se pueden usar para otras esperas asincrónicas, como esperar un dato de la web, o cualquier otra cosa. En ese "yield return" se le pueden poner condiciones propias, no solo que espere - Parece que son más "performantes", no sé. El propio manual de Unity sobre Invoke dice: "For better performance and maintability, use Coroutines instead."
@Jettelly
@Jettelly 4 жыл бұрын
Esta buenisimo Damian !! Un abrazo mate :D
@doombruh4775
@doombruh4775 3 жыл бұрын
Hola me gusto mucho la forma en la que explicas, no das clases particulares?
@alaslarios
@alaslarios 4 жыл бұрын
Excelente explicación, muchas gracias por tu ayuda.
@roswuelramirez3169
@roswuelramirez3169 3 жыл бұрын
esto podria meterlo solo para rellenar el tiempo necesario para el reset trigger de mi ataque cierto?
@cristiandomicevics8167
@cristiandomicevics8167 4 жыл бұрын
ya extrañaba estos videos! :)
@Milcross_set
@Milcross_set 4 жыл бұрын
Que bueno esta, podrias explicar de esa misma manera el uso de los IJobs
@soran2290
@soran2290 4 жыл бұрын
Creo que se podría usar programación reactiva en c# con la librería RX
@herunnaegamer
@herunnaegamer 4 жыл бұрын
Impresionante 👌🏻 Gracias!
@DiauloXD
@DiauloXD Жыл бұрын
Me gustó mucho tu implementación de un gestor de tareas, pero quede con una duda, desde mi ignorancia, no seria muy costoso tener un loop dentro del update?
@puerkismevanjohnson2529
@puerkismevanjohnson2529 3 жыл бұрын
Eres un ídolo!
@tremerin7323
@tremerin7323 2 жыл бұрын
Que buen video!
@El_Pupita
@El_Pupita 4 жыл бұрын
Cuando arrancan los tutos del FPS multiplayer geniooo
@esrivera2228
@esrivera2228 4 жыл бұрын
Excelente video y forma de explicar :D
@mejotor
@mejotor Жыл бұрын
hay algo como eso, pero que mientras hago la corrutina, el update se detenga mientras hago la corrutina?
@Leito4Gaming
@Leito4Gaming Жыл бұрын
Algo está fallando en mi programa y no se que. Hice una corutina re simple, para que cambie de color al ser golpeado en el OnCollisionEnter2D. Sin embargo al ejecutar el yield return New WaitForSeconds la ejecución termina y nunca se ejecuta el codigo de abajo. Por que puede ser? public IEnumerator HitEffect(SpriteRenderer _renderer) { if (_renderer != null) { _renderer.color = Color.red; yield return new WaitForSeconds(0.1f); _renderer.color = Color.white; } else Debug.LogError("Hay un null en el HitEffect"); } El enemigo me queda en color rojo y nunca vuelve al color normal. No entiendo por que :/
@damiangonzalez_esp
@damiangonzalez_esp Жыл бұрын
Hola! Las corrutinas no pueden tener parámetros. Intenta llamarla sin parámetros y ese renderer obtenerlo de otra manera. Por ejemplo, en una variable general, por fuera.
@Leito4Gaming
@Leito4Gaming Жыл бұрын
Bueno resolví el problema pero creando la corutina en otra clase. Es raro, yo lo había armado en la clase del Arma, traia el SpriteRenderer del objeto con el que se colisionaba y lo modificaba desde ahí. Pero eso detenía la corutina al momento de hacer el yield return y nunca seguia ejecutando. Para resolverlo, fui al script del HealthManager y armé la corutina ahí y parece funcionar correctamente.
@Leito4Gaming
@Leito4Gaming Жыл бұрын
@@damiangonzalez_esp ahh no sabia eso. Lo terminé solucionando cambiándola a otro script! Muchas gracias por responder! 😁
@TheErudito
@TheErudito Жыл бұрын
Una pregunta se puede usar Task.Deley(200) en vez de corrutina o no
@luisoctavio7367
@luisoctavio7367 4 жыл бұрын
Excelente !!!! Sigue esforzandote
@contrl_f5499
@contrl_f5499 2 жыл бұрын
¿se puede hacer una corrutina en el update?
@BrickTechnicCreations
@BrickTechnicCreations 4 жыл бұрын
Demian buenos días, un problema que no he podido resolver, como creo un efecto de lluvia que sea afectado por un "área efector 2Dd" para crear la sensación de viento en la lluvia?
@envoladedeporte
@envoladedeporte 3 жыл бұрын
buena bro, excelente tutorial!!! suscrito inmediatamente Una duda si: Intenté hacer la corrutina secuencial para que un personaje se mueva lento y luego de 3 segundos lo haga rápido MoveSlow(); yield return new WaitForSeconds(3); MoveFast(); esa corrutina la llamo en el FixedUpdate pero no me resulta, no hace lo que quiero. Qué podrá ser?
@turi7491
@turi7491 3 жыл бұрын
Sirve para hacer un sistema de Dialogo¿?
@aciem
@aciem 3 жыл бұрын
para acabar de redondear "gral" tendría que ser un singleton, no tiene mucho sentido que haya más de una instancia si solo hay una "static tareas" no?
@absolen2483
@absolen2483 4 жыл бұрын
me encantaria un video sobre sistema de dialogos, ya que he intentado hacerlo varias veces y no lo logro, aunque intentare tu metodo de corrutinas para ver si esta vez si funciona.
@damiangonzalez_esp
@damiangonzalez_esp 3 жыл бұрын
Hola! Sí, lo voy a hacer pronto. Pero te aconsejo que no uses corrutinas para eso. Las corrutinas están programadas para un momento específico. En cambio los diálogos deberían ser interactivos, es decir, que el jugador elija cuándo viene la siguiente línea.
@santiagomurillorendon5514
@santiagomurillorendon5514 3 жыл бұрын
Excelente
@JemyCS
@JemyCS 3 жыл бұрын
Como haría para que la acción de una corrutina se repitiera una y otra vez pero aún esperando los segundos?
@joseordonez2079
@joseordonez2079 4 жыл бұрын
¡Hola! eres el mejor hermano! se que es mucho pedir pero podrías hacer un vídeo tratando de recrear la física del videojuego tony hawk pro skater en Unity, solo el movimiento y los saltos que hace en los Quarter pipe. lo intenté durante mucho tiempo y no lo consigo. ¡Gracias!
@chuvaca629
@chuvaca629 4 жыл бұрын
Buen video Bro Te quería preguntar algo Estoy haciendo un TPS pero quiero agregar un personaje que se pueda mover, pensé en una figura de lego (ya que desde niño me han gustado) entonces fui a la página de Mecabricks para hacer la figura y luego exportarla y poner el modelo en Unity pero no tengo noción de cómo animar mi lego en Unity Podrías hacer un tutorial de eso?
@leatherandpoemscharmyman5774
@leatherandpoemscharmyman5774 4 жыл бұрын
tengo entendido que si no se las sabe usar muy bien o hay un uso despreocupado de usarlas , es conveniente no usarlas, si no se sabe optimizar bien un juego, aunque para prototipos rapidos de juegos simples sirve bastante. yo por ejemplo las uso con interfaces genericas para crear variaciones en algun comportamiento o algo. Tambien hay uqe saberlas frenar ,detener porque no hay o opr lo menos nose si se pueden controlar de forma tranquila, es como que te auto-presiona usarlas. pero son efectivas y eso de "yield return " podes poner muchos dentro de una misma corrutina aunqeue yo opto por usarlo 1 vez , pero es un etma que parece sencillo pero tiene un transfondo un poco delicado.
@renidea9523
@renidea9523 2 жыл бұрын
jajaja, me dio mucha gracia ver la cara de jolgorio al ver su código funcionar jajaja
@juanjoseardilagarzon2977
@juanjoseardilagarzon2977 Жыл бұрын
Hermoso
@lisandroaros9292
@lisandroaros9292 4 жыл бұрын
Esta buenísima la técnica, pero que pasa cuando queres hacer ejecuciones cíclicas? En la corroutina metias un while(true) y se ejecutaba todo el tiempo. Como se podria hacer con tu metodo?
@Nachoug
@Nachoug 3 жыл бұрын
gracias
@ranelr5549
@ranelr5549 2 жыл бұрын
Interesante es desde luego, pero no termino de verle la utilidad si quieres usarlo como verdadera sustitucion de las corrutinas. Para emular el yiel return por ejemplo, tendrias que tener un metodo para cada seccion de codigo, y unificarlo todo dentro de otro metodo. Si aceptas y abrazas el yiel return, lo tienes todo en el mismo sitio, sin codigo separado. Me parece mas limpio usar corrutinas. Y si encima no suponen mas carga computacional de forma notable, pues menos todavia. Desde esto obviamente se puede hacer un gestor de tareas mucho mas complejo, y entonces a lo mejor si que es mejor, pero no termino de verle la utilidad a escapar de las corrutinas.
@ivanmastrandrea5482
@ivanmastrandrea5482 4 жыл бұрын
Buenas soy de Mendoza y estoy desarrollando un videojuego, queria contactarte de forma directa como puedo hacer?
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
Hola! Acá tenés mis datos: www.pipasjourney.com/damianGonzalez/#contact
@SAandT
@SAandT 2 жыл бұрын
Excelente, muy bien explicado, rengo un problema, espero y me puedas poner en el camino correcto, tengo tres paneles PANEL A (PANEL LOADING) PANEL B, la idea es que quiero que del panel A al panel B, se muestre entre medio el panel loading, el panel b, muestra un listado de prefabs que se tarda un poco en renderizarlos porque hace varias operaciones, el chiste es que cuando, cambio del panel a al panel b, le hago un setactive al panel loadign, pero no se muestra hasta que se termina de cargar los prefabas del panel b, lo cual no es la idea, no se si me explique, para esto estoy usando una corrutina, pero no logor hacer que se muestre primero el panel loading antes de mostrar el panel b, espero y me pueadas ayudar.
@sebastianflores2230
@sebastianflores2230 4 жыл бұрын
Amigo no tienes un correo o Instagram para poder contactarte??, muy buen vidio crack
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
Hola! Sí, en mi canal, en la pestaña "acerca de" está mi mail.
@Lucilodc
@Lucilodc 3 жыл бұрын
maestro !
@MaximilianoDavidDucoli
@MaximilianoDavidDucoli 3 жыл бұрын
Hola!!!!! Grandes tutoriales explicados como nadie lo hace!!!!! Gracias!!!!! Che, necesito que me aclares una duda porque no supe como resolverla. Tengo un personaje (que sería un zombie) que camina hacia un WayPoint y al llegar a ese WayPoint, quiero que gire sobre su eje (calculé que era un rotation) y al girar 180º, vuelva caminando hacia otro WayPoint y que al llegar a este vuelva a girar y así entre WayPoint y WayPoint. No supe hacerlo. Voy hacia uno, giro y giro y giro etc etc. Me ayudás??? Le puse un transform de variable, que sería el WayPoint1 y al llegar a ese, se detenga, gire 180º Transform.Rotate(0,180 * speed * Time.DetaTime,0); Y que vaya al otro WayPoint y al llegar vuelva a girar, pero ahora para el otro lado. Cómo puede se la rutina? Me das una mano? Gracias!!!!!
@eithansamuelmorenomunoz8b636
@eithansamuelmorenomunoz8b636 3 жыл бұрын
yo hago una variable float x a 0 y cuando se inicia le pongo mas time.deltatime y si x > valor de segundos a esperar ejecutar algo public float tiempo; public float TiempoAEsperar = xf; void Update() { if(algo){ tiempoAEsperar += Time.deltatime; if(tiempo > TiempoAEsperar){ //hacer algo } } }
@KaedyStudio
@KaedyStudio 4 жыл бұрын
muy bueno genio !
@edwinmacias7038
@edwinmacias7038 4 жыл бұрын
Muchas gracias bro! solo tengo 2 preguntas, primera, como podria detener una corrutina que tiene parametros? intente con stopCoroutine, pero no se detuvo, lei que es porque ese tipo de corrutinas no se pueden detener (he ahi la razon por la que llegue aca), y segundo, tu metodo esta brutal, pero en cuestiones de rendimiento que tan optimo es comparado a la corrutina?
@alulim4968
@alulim4968 3 жыл бұрын
No sé si después de un año resolviste tu problema. Pero sí que se puede detener una corrutina específica SÓLO si esa corrutina es una variable: private Coroutine co; void LlamarCorrutina() { co = StartCoroutine(Corrutina()) } Así la corrutina no está "al aire" sino que la variable referencia la corrutina específica. De modo que la puedes detener: if (co != null) StopCoroutine(co);
@UniversoUltra
@UniversoUltra 4 жыл бұрын
¡GENIAL! ¿Pero y el del videojuego multijugador? :( LO ESPERO CON ANSIAAAAAS, y tengo una pregunta a ver si lo puedes tomar en cuenta, ¿El juego multijugador que creaste podría ser Cross Platform? Es decir, jugar en línea y que un jugador esté en PC y otro en android, por ejemplo
@UniversoUltra
@UniversoUltra 4 жыл бұрын
Por cierto, este tutorial me cae como anillo al dedo, GRANDEEEEE, gracias
@renatogonzalezparanormal9374
@renatogonzalezparanormal9374 4 жыл бұрын
Amigo cuando haras un tutorial donde un haz de luz parpadee
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
Podrías usar esto que enseño acá; podrías hacer una corutina que se llame Parpadeo, que haga 5 cosas: 1) apaga la luz ahora 2) espere un breve tiempo (.1f, por ejemplo) 3) prenda la luz 4) espere un tiempo más largo (podría ser al azar) 5) se llame a sí misma para que lo haga en loop
@appnexx1263
@appnexx1263 3 жыл бұрын
@cristiandavidalexanderarch1360
@cristiandavidalexanderarch1360 3 жыл бұрын
No entiendo nada :v pero me gusta como te expresas. Creo que mejor voy a usar Playmaker
@Tuligarnio
@Tuligarnio 2 жыл бұрын
Yo añadiría otro método extra de Nueva() (llamado por ejemplo NuevaRelativa()), que en lugar de indicarle un tiempo "absoluto" el tiempo añadido fuese respecto a la anterior tarea, así a la hora de añadir tareas como encender luces y explotar, mostradas en el vídeo, podrías simplemente indicar el tiempo que quieres que pase después de la última tarea para que esta se ejecute. NuevaRelativa(float tiempo, Action acción) { var ultimaTarea = listaTareas.Get(listaTareas.Count - 1); listaTareas.Add ( new tarea { momInicio = ultimaTarea.momInicio + tiempo, acción = acción } ); } Y quedaría así en el ejemplo del vídeo: tareas.NuevaRelativa(1f, FlashLuz); tareas.NuevaRelativa(1f, FlashLuz); tareas.NuevaRelativa(1f, FlashLuz); tareas.NuevaRelativa(1f, Explota); Lo comento por si alguien piensa que puede serle útil poder hacerlo así. Aunque claramente según el caso te interesará más usar tiempos absolutos o relativos.
@ilianostapovich4378
@ilianostapovich4378 Жыл бұрын
El único problema de esto, es que si por alguna razón tenes varios scripts que agregan tareas, pueden superponerse en medio, y crear una tarea relativa a otra q no tiene nada q ver, creo
@Tuligarnio
@Tuligarnio Жыл бұрын
@@ilianostapovich4378 Eso depende de cómo lo organices, yo en este caso hablo de que habría una única parte del código que sería la que genera un tipo de tareas (por ejemplo un cubo que va realizando acciones de moverse a un lado u otro, y rotar). Y me parece interesante poder decir cuanto tiempo tiene que tardar en ejecutarse una tarea después de otra, al menos a mí me parece más cómodo que trabajar siempre con tiempos absolutos. Y volviendo al ejemplo del cubo, en vez de uno podrías tener varios, que podría estar haciendo los mismos movimientos pero con un desfase, y programarlo con tiempos relativos se hace bastante cómodo
@ilianostapovich4378
@ilianostapovich4378 Жыл бұрын
@@Tuligarnio entiendo el sistema, obviamente me parece mas cómodo si, pero bueno se me ocurrió ese posible problema
@braveitor
@braveitor 4 жыл бұрын
Qué "cosilla" me da ver métodos y variables en castellano con acentos... De mi época de Flash que se corrompían los archivos cuando había tildes... ufff
@damiangonzalez_esp
@damiangonzalez_esp 4 жыл бұрын
jaja! Sí, yo también siento una mini oleada de adrenalina cada vez que escribo una variable con tilde (yo empecé con el lenguaje Basic, que no admitía variables con tildes ni muy largas) pero me tranquiliza saber que lo interpreta y compila él mismo, y funciona. Ya le perdí el miedo, y aún así da como un cosquilleo 😁
@dota2adsc653
@dota2adsc653 3 жыл бұрын
El problema es que si son un millon de tareas, algunas se te van a atrasar.
@quemadordecanciones.8586
@quemadordecanciones.8586 3 жыл бұрын
Men te complicas demasiado, yo hago lo mismo que vos y reconozco que es mejor usar corrutinas.
Singletons en Unity (o cómo conservar objetos entre escenas)
13:22
Damián González
Рет қаралды 15 М.
CORRUTINAS en Unity ⏳
19:33
Indierama
Рет қаралды 6 М.
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
➼ Unity Coroutines vs. Async | ¿Cuál es MEJOR?【 2021 】
16:55
The power ups - Learning
Рет қаралды 5 М.
Unity: Leer y escribir en la web con UnityWebRequest (con y sin JSON)
18:42
MELEE COMBAT in Unity
21:07
Brackeys
Рет қаралды 1,6 МЛН
Creando mazmorras aleatorias para videojuegos
10:27
Guinxu
Рет қаралды 103 М.
Mathematics doesn't actually make any sense
13:37
Sheafification of G
Рет қаралды 35 М.
Creating a STAMINA SYSTEM in Unity | Unity UI
20:32
SpeedTutor
Рет қаралды 31 М.
Controlador en primera persona en Unity desde cero! [Tutorial en español]
20:08
Stamina Bar in Unity Tutorial
7:08
Gatsby
Рет қаралды 12 М.
Как стать ДЕЙСТВИТЕЛЬНО хорошим программистом
7:35
Бинарный происк
Рет қаралды 155 М.
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН