Mods: instalación, estructura y creación Guide
Los mods son paquetes creados por usuarios que modifican o amplían shapez 2 — desde utilidades simples de calidad de vida hasta nuevas máquinas, características de juego, traducciones o escenarios personalizados. El juego tiene soporte nativo para mods y una estructura de carpetas definida para que los mods se puedan instalar, desarrollar y compartir fácilmente.
Dónde colocar los mods y los datos persistentes
- El juego almacena datos persistentes (incluyendo mods, escenarios personalizados, presets y datos exportados de la base) dentro de la carpeta Game Data Folder (también conocida como Game Data o carpeta de guardado).
- Rutas:
- Windows: %USERPROFILE%\AppData\LocalLow\tobspr Games\shapez 2\
- MacOS: ~/Library/Application Support/tobspr Games/shapez 2/
- Linux: ~/.config/unity3d/tobspr Games\shapez 2/
- Abrir la carpeta desde el juego:
- Menú principal → Play → Show Folder, luego ve a la carpeta superior.
- En el juego → Blueprint Library → Open Folder, luego ve a la carpeta superior.
- Comandos del Debug Console: logs.open-folder o savegames.open-folder (nota: MacOS usa Player.log para algunos registros).
Estructura de la carpeta mods e instalación
- La carpeta mods dentro de la Game Data Folder es donde colocas los mods para que el juego los cargue localmente.
- Cada mod es una subcarpeta dentro de la carpeta mods. El juego cargará cada subcarpeta como un mod separado.
- Los mods de Steam Workshop son compatibles y se descargarán automáticamente cuando te suscribas vía el Workshop.
Recursos y herramientas para modding
- Recursos oficiales y comunitarios:
- Documentación oficial de modding y directrices de arte/activos proporcionadas por el desarrollador.
- Repositorios de mods de ejemplo y Shapez Shifter (API de modding) disponibles en GitHub.
- Documentación comunitaria no oficial existe para complementar los documentos oficiales.
- Documentación de herramientas de terceros útiles: MonoMod RuntimeDetour y HarmonyX para detouring y parcheo en tiempo de ejecución.
- El juego usa Unity (la versión específica de Unity se indica en la documentación) y una API de modding (ShapezShifter) para simplificar la integración; no se requiere un cargador de mods externo.
- Referencias de ensamblados y clases están disponibles para desarrollo y depuración más avanzados.
Crear y exportar datos del juego para usar en un mod
- El juego puede exportar sus datos internos (contenido base como entidades, escenarios, presets) para reutilización o referencia:
- En el juego, abre la consola de depuración (F1) y ejecuta debug.export-game-data.
- Esto crea una carpeta llamada basedata-
dentro de la Game Data Folder. Usa los archivos allí como plantillas para contenido JSON personalizado.
Escenarios personalizados, presets y dificultades
- Escenarios personalizados:
- Coloca archivos JSON de escenarios dentro de la carpeta custom-scenarios en la Game Data Folder para que el juego los cargue.
- Los archivos de escenario exportados desde el juego aparecen en la carpeta scenarios de una carpeta basedata exportada.
- Presets de escenarios personalizados:
- Pon archivos JSON de presets de escenario personalizados en custom-scenario-parameter-presets dentro de la Game Data Folder.
- Los presets de escenario dentro del juego se encuentran en scenario-parameter-presets dentro de las carpetas basedata exportadas.
- Al seleccionar un Scenario, el primer Scenario Preset en la lista interna que apunte a ese Scenario se selecciona como predeterminado.
- Presets de dificultad personalizados:
- Actualmente el juego no soporta cargar presets de dificultad personalizados directamente como archivos JSON. Aun así puedes inspeccionar los presets de dificultad dentro del juego en la carpeta difficulty-presets de una carpeta basedata exportada.
Traducciones personalizadas
- Para cargar traducciones personalizadas, crea un archivo translations-override.json con el mismo formato que translations-en-US.json y colócalo donde el juego lo espera.
- Inicia el juego con el argumento de línea de comandos --custom-translations para que cargue el archivo de override.
- El LanguageTitle dentro del archivo se ignora; el idioma aparecerá como "Custom" en la configuración de idioma. Las claves faltantes revertirán al inglés.
Flujo de trabajo de desarrollo y depuración
- Flujo típico:
- Exporta los datos base del juego para usar los JSON existentes como plantillas.
- Crea una subcarpeta de mod con tus assets, código y definiciones JSON siguiendo la documentación y las directrices de arte.
- Usa la API de modding (ShapezShifter) o bibliotecas de parcheo en tiempo de ejecución si necesitas cambiar el comportamiento del código.
- Prueba localmente colocando la carpeta del mod en el directorio mods y lanzando el juego.
- El Debug Console está disponible en el juego para comandos y resolución de problemas.
- Se recomiendan la documentación de depuración y parcheo en tiempo de ejecución y ejemplos comunitarios (mods de ejemplo) como referencias.
Publicación y compartición de mods
- Steam Workshop:
- Los mods pueden publicarse en el Steam Workshop para distribución automática.
- Compartición comunitaria:
- El intercambio de blueprints y contenido también ocurre vía el sitio Community Vortex y el Discord oficial (#🛠blueprints).
- Sigue las directrices de publicación y de activos del juego al publicar para evitar conflictos o activos rotos.
Temas y consideraciones avanzadas
- Temas de modding relevantes cubiertos en la documentación:
- Modding Overview, Development Environment, Mod Loading, Debugging, Mod Publishing, Command Line Arguments, Game Files, Custom Game Modes, Debug Console.
- Usa los mods de ejemplo y las referencias de API provistas para aprender patrones y buenas prácticas.
- Al modificar o añadir contenido en JSON (escenarios, presets, traducciones), asegúrate de que los nombres de archivo y la colocación coincidan con las carpetas esperadas descritas arriba para que el juego los reconozca.
Lista rápida para empezar
- Exporta datos base: abre el debug console → debug.export-game-data.
- Crea la carpeta del mod dentro de Game Data Folder/mods/ y añade tu contenido.
- Para escenarios o presets personalizados, coloca los JSON en custom-scenarios o custom-scenario-parameter-presets respectivamente.
- Para traducciones, crea translations-override.json e inicia el juego con --custom-translations.
- Suscríbete/publica en Steam Workshop para compartir o recibir mods.
- Consulta la documentación oficial de modding, los mods de ejemplo y ShapezShifter para ejemplos de código y uso de la API.