beasty-save-system / getting-started / installation.md

Instalación

Qué necesitas antes de importar Beasty Save System, cómo importarlo, qué queda en tu proyecto, y en qué plataformas funciona.

Requisitos

Unity6000.2 o más reciente
Backend de scriptingMono e IL2CPP, ambos soportados
DependenciasNinguna
Render pipelineCualquiera

Sin dependencias significa exactamente eso. El paquete incluye su propio motor JSON, así que no hay ningún paquete Newtonsoft que instalar ni nada que reconciliar con los paquetes que tu proyecto ya use.

Cualquier render pipeline — Built-in, URP, HDRP — porque el paquete no contiene código de renderizado en absoluto. Él lee y escribe datos. Nunca dibuja nada.

Importar

  1. Abre el Package Manager (Window > Package Manager).
  2. Selecciona My Assets, busca Beasty Save System, y pulsa Import.
  3. Importa todo.

El paquete queda ubicado en Assets/BeastyComponents/BeastySaveSystem/. Puedes mover esa carpeta a cualquier lugar de Assets — nada dentro depende de su ubicación.

Si no quieres los tests en tu proyecto, puedes dejar la carpeta Tests sin marcar en el diálogo de importación. Todo lo demás es necesario.

Qué hay en la carpeta

CarpetaQué es
Scripts/BeastySave.csLa fachada estática pública. El único punto de entrada que llamas.
Scripts/Components/BeastySaveable y BeastySaveManager, los dos componentes de escena.
Scripts/BeastySaveSystemCore/El motor: pipeline de guardado, envelope, checksum, settings, migraciones, convertidores, el motor JSON, encriptación AES, escritura atómica de archivos.
ConverterModules/Siete módulos opcionales, un assembly cada uno. Ver más abajo.
Editor/El inspector de BeastySaveable y la ventana del Save Manager.
Tests/Tests de EditMode. Se pueden borrar sin problema.

El assembly de runtime es BeastySaveSystem.asmdef. No tiene referencias a otros assemblies ni restricciones de define, así que compila en cualquier proyecto.

Después de importar

Nada que configurar. No hay ningún settings asset que crear, ninguna escena que preparar, ninguna llamada de inicialización.

Ve directo a la ruta que más te convenga:

Los módulos convertidores

Un convertidor enseña al sistema de guardado cómo almacenar un tipo. Los siempre disponibles — la capa core — cubren los tipos matemáticos de Unity (Vector2, Vector3, Quaternion, Color, Rect, Bounds y afines), Transform, Camera, Light, SpriteRenderer, Texture2D, y cualquier MonoBehaviour que escribas tú mismo.

Cualquier cosa más allá de eso viene de un módulo:

MóduloTipos que puede guardarNecesita el paquete de Unity
AnimationAnimatorcom.unity.modules.animation
AudioAudioSourcecom.unity.modules.audio
ParticlesParticleSystemcom.unity.modules.particlesystem
Physics2DBoxCollider2D, CapsuleCollider2D, CircleCollider2Dcom.unity.modules.physics2d
Physics3DBoxCollider, CapsuleCollider, SphereCollider, MeshCollidercom.unity.modules.physics
TMProTMP_Text y sus subclasescom.unity.textmeshpro, o com.unity.ugui 2.0.0 o más reciente
UGUIRectTransform, CanvasGroup, Image, RawImage, Slider, Togglecom.unity.ugui

No instalas estos módulos. Ya están en la carpeta, y cada uno se registra a sí mismo automáticamente cuando el juego arranca.

Cada módulo es un assembly separado condicionado por una restricción de define sobre el módulo de Unity que necesita. Si tu proyecto ha eliminado ese módulo de Unity, el assembly del módulo no compila, sus convertidores simplemente no existen, y el resto del paquete sigue funcionando. Un proyecto sin física no falla al compilar por culpa de un convertidor de física que nunca iba a usar.

La consecuencia que debes saber: si marcas un componente en BeastySaveable cuyo módulo no está presente, el guardado falla con el error TypeUnavailable y un mensaje que te lo indica. Consulta converter-modules.md para saber exactamente qué campos almacena cada módulo, y custom-converters.md para enseñarle al sistema un tipo que no conoce.

Plataformas

Beasty Save System funciona en cualquier lugar donde Unity te dé un Application.persistentDataPath con permisos de escritura:

  • Windows, macOS, Linux
  • Android, iOS
  • Consolas

Advertencia WebGL no está soportado. La ruta de escritura atómica depende de File.Replace, y los métodos asíncronos están basados en Task. Un build de navegador no proporciona ninguno de los dos. Si publicas a WebGL, este paquete no es la herramienta adecuada.

Más detalles sobre soporte de versiones, IL2CPP y rendimiento en platforms-and-limits.md.

Ver también