Sistema de GUARDADO SIMPLE en Unity!

  Рет қаралды 21,711

Indierama

Indierama

Күн бұрын

Пікірлер: 98
@Indierama
@Indierama 8 ай бұрын
Curso de Unity y C# para PRINCIPIANTES (Octubre 2024): www.udemy.com/course/unity-y-c-fundamental-desarrollo-de-videojuegos-2d/?couponCode=INDIERAMA2024P Si REALMENTE querés apoyar al canal, asegurate de comprar con el link, sino Udemy se queda con la mayor parte de la venta.
@RodrigoFabianM97
@RodrigoFabianM97 2 жыл бұрын
Gracias por crear este canal y tomarte el trabajo de subir contenido de calidad, contenido que aporta muchísimo a la comunidad de desarrolladores hispana. Tu forma de explicar hace que se entienda muy fácilmente el tema de cada video, además subes el proyecto inicial para que podamos aplicar lo aprendido de forma práctica, que eso nos ahorra tiempo y nos permite centrarnos en lo realmente importante. Te mando un abrazo desde Uruguay y sigue así, que este canal en poco tiempo será uno de los canales más grandes que enseñe Unity y C# en español, solo es cuestión de tiempo para que la gente lo descubra.
@Indierama
@Indierama 2 жыл бұрын
Gracias Rodrigo! Me alegra mucho que te este gustando el contenido y tu comentario me llena de orgullo!. Espero seguir manteniendo la calidad para que esto siga creciendo! Un abrazo grande!
@SoyKappy
@SoyKappy 2 жыл бұрын
Increíble la calidad de la explicación del vídeo. Simplemente perfecto.
@Indierama
@Indierama 2 жыл бұрын
Muchísimas gracias Kappy! Me alegro que te haya gustado! 💪💪
@Vihspac
@Vihspac 2 жыл бұрын
Esto es maravilloso!, tremenda calidad de enseñanza, gracias!
@Indierama
@Indierama 2 жыл бұрын
Muchísimas gracias Victor! 🙌🙌🙌🙌
@irvinvicuna4084
@irvinvicuna4084 2 жыл бұрын
Muchas gracias por tu video!! La explicación fue perfecta y fácil de entender!!
@Indierama
@Indierama 2 жыл бұрын
Me alegro que te haya gustado Irvin! 🙌🙌
@kznakai5089
@kznakai5089 2 жыл бұрын
Muchas gracias!!! Ojalá pudieras tener más seguidores para hacer más de estos vídeos. Tus explicaciones son las mejores ♥️
@Indierama
@Indierama 2 жыл бұрын
Ojalá tuviera más tiempo para poder subir más seguido 😢. Muchas gracias por el apoyo! 💖
@sceptiletops3760
@sceptiletops3760 Жыл бұрын
Este video me es muuuuuuuy util hermano, te juro que si trabajase como desarrollador unity yo te daba dinero por compartir esta informacion tan versatil y poderosa!
@Indierama
@Indierama Жыл бұрын
Gracias!!! ✨✨✨
@flatlandvideogames3240
@flatlandvideogames3240 2 жыл бұрын
Gran utilidad y como siempre explicado de forma clara, mil gracias.
@flatlandvideogames3240
@flatlandvideogames3240 2 жыл бұрын
Ya lo estoy implementado y me sirvió de maravilla, mil gracias.
@flatlandvideogames3240
@flatlandvideogames3240 2 жыл бұрын
En la computadora me estaba funcionando de maravilla, pero al crear la APK no funcionó, incluso se quedó colgado el juego ☹
@gameroche
@gameroche Жыл бұрын
Muy util este sistema de guardado gracias por tus videos
@Indierama
@Indierama Жыл бұрын
Muchas gracias! ✨✨
@Cr3ator2012
@Cr3ator2012 Жыл бұрын
Excelente video gracias me sirvió mucho; explicado perfectamente. Si pudieras hacer mas ejemplos como si se utilizara un checkpoint o si se quisiera guardar otras variables además de las del jugador con una sola llamada a guardar y una sola a cargar
@alejandroolmedo3210
@alejandroolmedo3210 Жыл бұрын
Tus videos son oro puro!!!!
@Indierama
@Indierama Жыл бұрын
Muchas gracias Alejandro! 🙌🙌
@fosforitoreviu732
@fosforitoreviu732 2 жыл бұрын
Me re salvaste!!! Justo queria saber como podia hacer esto!!! Genio!
@Indierama
@Indierama 2 жыл бұрын
Muchas gracias! Espero que te ayude! Saludos!
@Carlos-ll1ky
@Carlos-ll1ky 2 жыл бұрын
Este canal es oro puro, gracias me sirvió muchísimo :))
@Indierama
@Indierama 2 жыл бұрын
Muchísimas gracias Carlos! 💪💪
@Carlos-ll1ky
@Carlos-ll1ky 2 жыл бұрын
​@@Indierama Muchas gracias por el video :) el canal es grandioso, hoy estuve intentando guardar elementos (una especie de inventario) en un array según el usuario los consiga, cuando consigue un elemento lo guardo, luego si consigue otro elemento lo guardo pero al guardar este nuevo elemento el anterior se borra, intente con array y también en una lista pero el array y la lista nunca guardan mas de dos elementos, estaré haciéndolo mal o en este caso no aplica ? El parámetro que estoy pidiendo como el del ejemplo del video 'Player player' es un 'int', lo que quiero es que el usuario tenga un inventario de objetos coleccionables según los consiga, ósea uno por uno. Pensaba guardar uno por uno en archivos separados ya que no son muchos 'objetos coleccionables' pero no se si hay una mejor manera.
@gaultierhardrick9455
@gaultierhardrick9455 2 жыл бұрын
Excelente explicación. También se puede guardar datos boleanos? O debo traducirlo a 1 y 0?.
@Indierama
@Indierama 2 жыл бұрын
No habría problema con booleanos!
@joseantoniojimenezugalde4936
@joseantoniojimenezugalde4936 Жыл бұрын
Fascinante!!
@diaryofarobot
@diaryofarobot Жыл бұрын
Muchas gracias , una consulta y si tienes los datos serializados y ahora quieres tomar solo algunos de esos datos desde un servidor mysql? si pudieses hacer un video. Y otro video si puedes enseñar a convertir la misma base serializada que hiciste a mysql en server online gracias. Enseñas muy bien.👍 Ya me suscribi a tu canal💪
@nahuelgarcia1668
@nahuelgarcia1668 2 жыл бұрын
Muy bueno el video. Felicitaciones.
@Indierama
@Indierama 2 жыл бұрын
Muchísimas gracias Nahuel!
@herunnaegamer
@herunnaegamer 2 жыл бұрын
Esto es Oro, mil gracias!
@alxdrksoul
@alxdrksoul 2 жыл бұрын
Eres un genio maestro, muchas gracias :D woow además tienes otros tutoriales, ojalá crezcas mucho con tu canal, me suscribo :)
@araysar
@araysar 2 жыл бұрын
Excelente video. Gracias
@taigorocortez7035
@taigorocortez7035 2 жыл бұрын
muchas gracias
@tatian6986
@tatian6986 2 жыл бұрын
Que buen canal. Una duda con el tema de la posición. Si tengo varios niveles en diferentes escenas, se guardaría la posición en dicha escena? Muchas gracias!
@Indierama
@Indierama 2 жыл бұрын
Muchas gracias! Se guardaría siempre la posición en la escena activa. Por ejemplo, digamos que estás jugando una escena que sería el nivel 3 de tu juego. Entonces, como está implementado en el video, se guardaría la posición de del jugador en dicho nivel. En realidad, no tiene que ver con la escena, sino únicamente con la posición actual de tu jugador.
@jr.studios7148
@jr.studios7148 2 жыл бұрын
@@Indierama no guarda, es mas no marca en aqua el Player, paso al nivel 2 y cuando dejo de ejecutar y ejecuto otra vez cargo los datos y me sale la misma posicion
@EzaguiDark
@EzaguiDark 2 жыл бұрын
Gracias buen video, me sirvio para lo que estaba haciendo. pero me pregunto si se puede usar par acrear varias partidas de guardado, o guardar datos de varios jugadores, por ejemplo crear una lista de high scores de varios jugadores XD
@leosalazar9213
@leosalazar9213 2 жыл бұрын
Tiene juegos publicados maestro ???
@teratocarcinoma3142
@teratocarcinoma3142 Жыл бұрын
muy interesante, podrías reseñar esos assets, si hacen la vida mas facil no me molestaria pagar alguno.
@cristiandiazcalderin2805
@cristiandiazcalderin2805 2 жыл бұрын
Buenas amigo, gran video. Una pregunta: como puedo eliminar los datos guardados?
@Indierama
@Indierama 2 жыл бұрын
Hola, si lo que querés es borrar todos los datos, la forma más fácil es implementar un método en el Manager que haga uso de File.Delete(dataPath)
@cristiandiazcalderin2805
@cristiandiazcalderin2805 2 жыл бұрын
@@Indierama Perfecto, gracias.
@danielcartesdc
@danielcartesdc 2 жыл бұрын
¡Muy buen video! Tengo una consulta, si voy a estar cargando y guardando datos de manera constante mientras se está jugando (guardado automático de puntos al atrapar una moneda) cual sería la forma más optima para tratar esos datos? player prefs? ¡Saludos!
@warcreatures
@warcreatures 9 ай бұрын
Si no te importa que el jugador pueda modificar fácilmente la cantidad de puntos creo que si.
@vistitol
@vistitol 2 жыл бұрын
Hola. Una pregunta relacionada con la parte de "deserialización". Tengo entendido que debido a la forma en la que está implementada la "deserialización", ésta tiene problemas muy graves de seguridad. Sé que hay otras formas de hacerlo más seguras pero no tengo claro cómo, una de ellas sería encriptando la información pero no sé muy bien si se encripta antes o después de hacer el binario. Otra forma sería usando "XMLSerializer", creo (hay más pero mi conocimiento de C# es un poco limitado en éste sentido), pero no tengo claro cómo usarlo. Si sabes de lo que hablo (ahora viene la petición), ¿puedes hacer un vídeo, plis!!!??? Muchas gracias.
@luckzze
@luckzze 2 жыл бұрын
maquinaaa
@Indierama
@Indierama 2 жыл бұрын
🧉😎
@joshdfk2102
@joshdfk2102 Жыл бұрын
Muchas gracias por todo una duda si quisiera guardar automáticamente si apretar la tecla que debería hacer... Muchísimas gracias
@Indierama
@Indierama Жыл бұрын
Hola, simplemente deberías detectar una tecla y llamar al método de guardado cuando esto pase. Si no sabes como hacer detección de una tecla te recomiendo que pases por mi guia de principiantes.
@Marshall_TheFireDog
@Marshall_TheFireDog 11 ай бұрын
Excelente, Entendi todo excepto lo del 'casteo' del min 13:00. a que se refiere exactamente? es alguna forma de cambiar el tipo de dato?
@Indierama
@Indierama 11 ай бұрын
Gracias! Exactamente eso. Estamos indicando explícitamente que el tipo de dato que queremos para nuestros datos es PlayerData, por lo que se convierten a ese tipo. Te recomiendo que intentes buscar ejemplos de casteos mas simples (por ejemplo de entero a float, o de Vector3 a Vector2), creo que te va a quedar mas claro.
@Marshall_TheFireDog
@Marshall_TheFireDog 11 ай бұрын
@@Indierama Sip, ya lo he revisado y es tal y como dices.🤑 Gracias por todos estos tutoriales
@pitorianetwork120
@pitorianetwork120 2 жыл бұрын
Hola amigo, yo lo queria hacer poniendo unos botones en la pantalla, pero los scrips de vida, y el jugador (la posición) los tengo por separados, entonces los tengo ambos scrips dentro del player, donde tu pones this, yo que debería poner? por que me tira este error: " Argument 1: cannot convert from 'Guardar_Cargar' to 'Vida_Daño' " SaveManager.SavePlayerData(this); Debug.Log("Datos guardados"); En el PlayerData lo hice asi, creo que esta bien [System.Serializable] public class PlayerData { public int vida; public float[] position = new float[3]; public float[] rotation = new float[3]; public PlayerData(CharacterControllerFPS player) { position[0] = player.transform.position.x; position[0] = player.transform.position.y; position[0] = player.transform.position.z; } public PlayerData(Vida_Daño player) { vida = player.vida; } }
@jr.studios7148
@jr.studios7148 2 жыл бұрын
tengo el mismo problema
@bigoteagresivo
@bigoteagresivo 2 жыл бұрын
Una duda, PlayerPrefs puede ser modificado aunque el juego sea de Android? Buen video bro
@Indierama
@Indierama 2 жыл бұрын
Hola!, no está tan accesible, pero se puede. Para un juego pequeño en Android no estarían mal los PlayerPrefs, pero no te daría mucha facilidad para guardar datos más complejos.
@bigoteagresivo
@bigoteagresivo 2 жыл бұрын
@@Indierama muchas gracias por la respuesta, ahora toca cambiar algunos sistemas de guardado de mi juego para que sean más seguros, eres un grande bro
@tortuaproduction962
@tortuaproduction962 2 жыл бұрын
Muy bueno el video!!!
@Indierama
@Indierama 2 жыл бұрын
Gracias Tortu!
@nychu4
@nychu4 Жыл бұрын
Como debo hacerlo para guardar y cargar desde un boton del textMesh pro , porque al arrastrarle el script SaveManager al onClick del boton en el inspector , no me lee los metodos de esa clase statica , por lo tanto no me deja asignarle los metodos al pulsar dicho boton .
@NickDoodlez
@NickDoodlez Жыл бұрын
Y como se haría para que también se guarden los gameobjects que se hallan activado una vez y que luego se desactive y que durante el juego se mantenga desactivado
@warzmik
@warzmik 2 жыл бұрын
Hola gran video, con este método podría guardar una list de enums?
@danielmaldonado678
@danielmaldonado678 2 жыл бұрын
Muchas gracias por el video, tengo una duda, como podría traer todos los elementos guardados? para mostrar el listado de puntuaciones.
@elhackproteimineitor
@elhackproteimineitor Жыл бұрын
ojala me reponda brou. como yo haria con wampserver guardar el proceso de mi app o apk
@cfrijol
@cfrijol Жыл бұрын
Muchas gracias por el video! Me has ayudado un monton! Aunque tengo un pequeño problema, y es que cuando trato de cargar la posicion de mi jugador despues de cambiar la escena, me lo posiciona en el lugar donde estaba el jugador al momento de crear la escena y no con la posición guardada, si alguien pudiera ayudarme plis, ya busque en todos los foros y no encuentro respuesta jaja
@whitshh149
@whitshh149 Жыл бұрын
Como estas idolo? A mi no me funciono. Mas que nada la parte de que persista entre sesiones que es lo mas importante. Cuando salgo de play y le doy otra vez, no se guardo, o me guardo solo el ultimo score pero no me lo suma al anterior. Tal vez el problema esta en algun = que va +=... Pero ya intente bastante por hoy. Si me contestas ma;ana intento nuevamente... Gracias desde ya, sos el 1!
@blacksonic583
@blacksonic583 2 жыл бұрын
Buenas, no se si puedas contestarme esta duda, pero esto se puede aplicar ante archivos ".BYTES"? Es que he estado tratando de abrir ese tipo de archivos y esto de datos binarios es lo mas cercano que he visto relacionado a los archivos tipo BYTES asi que queria estar seguro, pero entonces si es asi para poder abrir esta informacion necesito tres componentes entonces? Un objeto, el metodo que guarda la informacion en el objeto y aque que saca la informacion del objeto y la carga, no?
@eliorubenmc
@eliorubenmc Жыл бұрын
la extension .Bytes o la extension que sea . save .info .etc, solo tiene un significado en el contexto del programador que lo haya generado, por lo tanto vas a poder abrir el archivo si conoces la estructura y el tipo de datos que contiene (y también la forma en que el mismo ha sido generado). Podrías tratar descifrar su contenido leyendo y deserializando el archivo, pero no hay garantía de que el archivo se haya generado de la misma forma y de que los datos sean legibles. La solución seria descompilar el programa o juego que genero el archivo y buscar leer el procedimiento usado, entiendo que existen programas para descompilar juegos de Unity con C# y ver su código fuente.
@pablotusmedias1936
@pablotusmedias1936 2 жыл бұрын
te amo
@davidortegasequeira7551
@davidortegasequeira7551 2 жыл бұрын
Como se haría para guardar los itens de la ecena para que los que ya recogi no aparezcan otra vez
@rextrobadojuega9694
@rextrobadojuega9694 7 ай бұрын
hola, use este tutorial para guardar un array de todas las maximas puntuaciones en el juego(que estan en distintas escenas) y funciona bien ya que cada valor del array corresponde a un nivel. pero cuando guardo en una escena, me voy a otra y guardo ahi, se pierde lo de la primera y cuando lo quiero cargar me da este error: IOException: Sharing violation on path C:\Users\Usuario\AppData\LocalLow\DefaultCompany\Angry Birds Rebirth\puntosMaximos.save System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at :0) System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode) (at :0) (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode) saveController.Load () (at Assets/saveController.cs:25) PuntosMaximos.Update () (at Assets/PuntosMaximos.cs:39) solo me deja guardar en una escena a la vez
@andresmendizabal620
@andresmendizabal620 Жыл бұрын
crack
@Indierama
@Indierama Жыл бұрын
Gracias Andres! ✨
@raxwel5212
@raxwel5212 2 жыл бұрын
Para editar los datos guardados, como seria?
@leosalazar9213
@leosalazar9213 2 жыл бұрын
Bellisimo
@barriosquimbayocarlosmario6713
@barriosquimbayocarlosmario6713 Жыл бұрын
bro como se emplea en un menú de guardado
@ReisyWah
@ReisyWah Жыл бұрын
me marca un error cuando ago el constructor player data
@Zeofh
@Zeofh 2 жыл бұрын
Hola! disculpa, hice el código, pero no me funcionará hasta que resuelva esto --> Assets\Script\UI\SaveManager.cs(9,39): error CS0246: The type or namespace name 'Player' could not be found (are you missing a using directive or an assembly reference?) ¿A qué se refiere exactamente? :( ayuda pls xD
@RaybGames
@RaybGames 2 жыл бұрын
Me pasa igual :(
@NekoSensei93
@NekoSensei93 2 жыл бұрын
Buenas! El script PlayerData me da el siguiente error: NullReferenceException: Object reference not set to an instance of an object PlayerData..ctor (Player player) (at Assets/Scripts/PlayerData.cs:12) No se porque será... El GameObjetc del player se llama Player y el script que maneja la info del personaje tambien se llama Player. Incluso tiene el tag Player y está en la capa Player. Alguien sabe porque es? El error solo ocurre al intentar guardar.
@NekoSensei93
@NekoSensei93 2 жыл бұрын
Lo solucioné creando un intermediario entre Dataplayer y Player no se que era... pero por si a alguien también le pasó, creé un DatosGuardables.cs y en DataPlayer en vez de levantar los datos de Player player, lo hago desde DatosGuardables datosGuardables.. lo mismo para cargar... Suerte!
@danielgrana8993
@danielgrana8993 2 жыл бұрын
Hola, como puedo actualizar los datos salvados sin tener que usar filemode.create? porque eso crea un archivo nuevo y reemplaza al anterior.
@raxwel5212
@raxwel5212 2 жыл бұрын
Pudo resolverlo?
@nachi1553
@nachi1553 Жыл бұрын
Como hago bonotes de guardado
@gabitzzo
@gabitzzo 2 жыл бұрын
cómo puedo eliminar los datos ¿?
@Indierama
@Indierama 2 жыл бұрын
Hola Gabriel! La forma más rápida, si lo que querés es borrar todos los datos, deberías implementar un método en el SaveManager, donde haciendo uso de File.Delete(dataPath); estarías borrando el archivo y obviamente eliminando los datos. Luego, en el próximo guardado, se estaría creando uno nuevo.
@gabitzzo
@gabitzzo 2 жыл бұрын
@@Indierama gracias! me sirvió muchísimo. Ahora tengo otra duda y me preguntaba cómo puedo hacer un if que se pregunte si hay datos guardados
@tipicoisaacplayer
@tipicoisaacplayer 2 жыл бұрын
@@gabitzzo 12:09
@franquinator6471
@franquinator6471 Жыл бұрын
no me funciona en mi juego para Android
@decandentz2251
@decandentz2251 6 ай бұрын
Y para borrar?
@javier0047
@javier0047 3 ай бұрын
Lo has logrado hacer? Si es así como lo hiciste?
@decandentz2251
@decandentz2251 3 ай бұрын
@@javier0047 Uso otra manera mas sencilla de guardar datos por json. No me acuerdo porque puse el comentario hace 3 meses. Sorry.
@josearlolo
@josearlolo 2 жыл бұрын
Explicacion mas facil no puede haber
@manudeveloper17
@manudeveloper17 2 жыл бұрын
Me sirvió, muchas gracias!
Sistema de DIÁLOGO BÁSICO en Unity
18:25
Indierama
Рет қаралды 38 М.
PlayerPrefs Unity - Save and load
7:54
Paco Barba
Рет қаралды 2,6 М.
didn't manage to catch the ball #tiktok
00:19
Анастасия Тарасова
Рет қаралды 31 МЛН
Inside Out 2: ENVY & DISGUST STOLE JOY's DRINKS!!
00:32
AnythingAlexia
Рет қаралды 18 МЛН
Миллионер | 2 - серия
16:04
Million Show
Рет қаралды 1,2 МЛН
VECTORES en el DESARROLLO de VIDEOJUEGOS
16:12
Indierama
Рет қаралды 22 М.
Godot Ocean Waves
6:40
AntzGames
Рет қаралды 8 М.
How To PLAN your Game as a Solo Developer
16:26
Heartbeast
Рет қаралды 506 М.
20 Advanced Coding Tips For Big Unity Projects
22:23
Tesseract
Рет қаралды 189 М.
SINGLETONS en Unity | Español
18:43
Indierama
Рет қаралды 12 М.
How to save game in Unity? Scriptable Object + AES Encryption
19:07
Redis за 20 минут
23:22
suchkov tech
Рет қаралды 146 М.
didn't manage to catch the ball #tiktok
00:19
Анастасия Тарасова
Рет қаралды 31 МЛН