Importar y exportar
Importar y exportar
Mueve proyectos narrativos entre Yarn Spinner, Storyarn y los principales motores de juego.
Storyarn puede importar un proyecto de Yarn Spinner existente y exportar contenido narrativo a 6 formatos para los principales motores y sistemas de diálogo.
Importar desde Yarn Spinner
Abre Ajustes del proyecto > Importar y exportar y sube un archivo fuente .yarn o un .zip con los fuentes .yarn del proyecto. Storyarn valida y previsualiza el paquete antes de modificar el contenido. La política de conflictos predeterminada conserva ambas versiones renombrando lo importado; también puedes conservar la versión existente y omitir la importada en conflicto. La opción de reemplazar contenido en una importación aditiva no está disponible cuando hay atajos en conflicto porque Storyarn no puede volver a enlazar de forma segura las referencias del contenido existente.
El importador convierte:
- Los nodos de Yarn en Flujos de Storyarn.
- Los diálogos y las opciones anidadas en nodos de diálogo con respuestas integradas.
- Las ramas
if,elseifyelseen condiciones de Storyarn cuando cada expresión tiene un equivalente seguro. - Las declaraciones literales, asignaciones compatibles e interpolaciones de variables en una ficha Yarn Variables y expresiones de Storyarn.
- Los comandos
jump,detour,returnystopen los nodos de control de flujo correspondientes. - Los prefijos de hablante como
Guía: Bienvenidoen fichas de personaje cuando se pueden inferir de forma segura. - Los identificadores de línea de Yarn en identificadores de localización de Storyarn.
El título exacto y sensible a mayúsculas Start es el único nodo de Yarn candidato a flujo principal. Una importación aditiva conserva el flujo principal actual; si el proyecto no tiene ninguno, Start pasa a serlo cuando ese nodo se importa realmente (la estrategia de omisión puede descartar un Start en conflicto). Cualquier conflicto aditivo enviado con la estrategia de sobrescritura se rechaza antes de modificar el contenido del proyecto. El reemplazo completo aplica la regla del flujo principal después de retirar el grafo narrativo anterior: Start será principal si existe y, si no existe, Storyarn no elegirá otro flujo por su orden en el archivo. La previsualización muestra el resultado esperado según el estado actual del proyecto; Storyarn vuelve a comprobar la regla bajo el bloqueo del proyecto cuando se ejecuta la importación en segundo plano.
Los comandos personalizados con efectos externos y sin equivalente en Storyarn se conservan como nodos de anotación visibles y aparecen como advertencias en la previsualización. La lógica que controla ramas o estado se trata de forma más estricta: si una condición, Smart Variable, asignación o destino de control de flujo no puede reproducirse de forma segura, la validación rechaza la importación antes de almacenar un plan o modificar el proyecto.
Flujo de importación seguro
- Selecciona un archivo
.yarno.zip. El tamaño máximo es de 50 MB. - Pulsa Validar y previsualizar. Antes de extraer un ZIP se comprueban sus rutas, número de entradas, tamaño expandido, ratio de compresión, codificación de texto y tamaño de cada archivo.
- Revisa el número de entidades, los conflictos de atajos y las advertencias de compatibilidad.
- Mantén el modo predeterminado Añadir a este proyecto o elige Reemplazar contenido narrativo cuando el ZIP contenga exactamente un archivo
.yarnprojectválido. - En una importación aditiva con conflictos, elige Conservar el contenido existente; omitir lo importado en conflicto o Conservar ambos renombrando lo importado e inicia la importación. Reemplazar el contenido existente por lo importado en conflicto permanece deshabilitado porque no puede conservar las referencias existentes de forma segura.
- El plan de importación cifrado se procesa en segundo plano. Puedes salir de la página y volver cuando termine.
Solo los propietarios del proyecto pueden preparar o ejecutar una importación. Storyarn vuelve a comprobar el permiso dentro del trabajo en segundo plano. Las importaciones fallidas usan una transacción de base de datos, por lo que no conservan contenido parcial.
Reemplazar un proyecto existente
El reemplazo completo solo se ofrece para un ZIP de proyecto Yarn explícito que contenga un único .yarnproject válido. Un archivo .yarn suelto o un ZIP de proyecto implícito se puede añadir, pero no puede reemplazar el proyecto actual.
Antes del reemplazo, Storyarn crea un snapshot completo normal y visible, y espera hasta que esté verificado y se pueda recuperar. Mientras se construye, no modifica nada. Después comprueba que el proyecto siga coincidiendo exactamente con el snapshot y, en una única transacción de base de datos, mueve las Fichas, Flujos, Escenas, idiomas y textos de localización activos a la papelera o archivo recuperable antes de importar el proyecto Yarn. Se conservan los assets, ajustes del proyecto, miembros, snapshots, entradas del glosario, contenido que ya estaba en la papelera y el historial de versiones de entidades. Si falla el snapshot, la recuperación no está disponible, el proyecto cambia tras la captura o falla la materialización, el reemplazo se detiene sin conservar cambios parciales. El snapshot de recuperación se conserva después de un reemplazo correcto; los reemplazos fallidos, cancelados o caducados eliminan su snapshot sin usar mediante una limpieza durable en segundo plano.
Límites actuales del importador de Yarn
- Los CSV de tablas de localización de Yarn todavía no se importan. Se conservan los identificadores de línea para poder conectar las traducciones en un flujo posterior.
- Los comandos personalizados con efectos externos se importan como anotaciones para revisión manual. Las interpolaciones dinámicas, las marcas de Yarn y las etiquetas distintas de los identificadores de línea que no sean compatibles permanecen visibles en el texto importado y se marcan para revisión. Las funciones personalizadas usadas en condiciones, las Smart Variables de Yarn 3, las asignaciones a variables no declaradas y otras expresiones de estado o control de flujo no compatibles bloquean la importación en vez de debilitarse o descartarse.
- Todas las variables usadas en una condición o asignación deben declararse explícitamente con
<<declare ...>>. Las asignaciones compuestas heredadas como<<set $score += 1>>se rechazan; usa en su lugar la forma equivalente<<set $score to $score + 1>>. - Los grupos de líneas, los grupos de nodos y las cláusulas
whende los storylets de Yarn 3 todavía no se convierten. Los archivos que los usan se rechazan porque aplanar sus reglas de selección cambiaría qué diálogo aparece. Los bloquesoncecon estado se rechazan por el mismo motivo. - Las fichas de hablante importadas solo contienen el nombre inferido; complétalas después con el esquema propio de tu proyecto. Las expresiones de hablante dinámicas permanecen en el texto del diálogo y se marcan para revisión en vez de enlazarse a una ficha de personaje.
- No se importan imágenes, audio, assets de Unity, recursos de Godot ni bytecode compilado de Yarn.
- El modo de reemplazo requiere espacio suficiente en el workspace para que Storyarn cree y verifique el snapshot completo de recuperación. Si no puede completar ese punto de recuperación, el proyecto existente permanece intacto.
Formatos de exportacion
| Formato | Extensión | Motor / Herramienta | Contenido compatible |
|---|---|---|---|
| Ink | .ink | Runtime Ink de Inkle | Flujos, Fichas, Localización |
| Yarn Spinner | .yarn | Yarn Spinner (Unity, Godot) | Flujos, Fichas, Localización |
| Unity Dialogue System (beta) | .json | Unity (Pixel Crushers) | Flujos, Fichas, Localización |
| Godot Dialogic | .dtl | Plugin Dialogic para Godot 4 | Flujos, Fichas, Localización |
| Unreal Engine (beta) | .csv | Unreal Engine (Data Tables) | Flujos, Fichas, Localización |
| articy:draft (beta) | .xml | XML con estructura de articy:draft | Flujos, Fichas, Localización |
Las exportaciones para Unity Dialogue System, Unreal Engine y articy:draft están en beta, y la página de exportación las marca con una etiqueta Beta.
La exportación de articy:draft sigue su estructura de exportación XML. No es un proyecto nativo de articy:draft y no puede abrirse como tal.
Estos formatos exportan diálogos, ramas, estado de variables y textos localizados. Al seleccionar Localización, Unity la incluye en la base de datos de diálogos; los demás formatos generan catálogos de localización separados junto a los archivos narrativos.
Ninguno de estos formatos exporta las Escenas ni la composición visual y de audio configurada en Sequence. Esas partes necesitan su propia implementación en el motor del juego. La validación previa avisa cuando se va a omitir la composición de Sequence; un snapshot completo del proyecto conserva ese contenido dentro de Storyarn.

Como exportar
- Navega a Importar y exportar desde la barra lateral de tu proyecto.
- Elige un formato – Selecciona entre los formatos disponibles. Las casillas de contenido se actualizan para mostrar que secciones soporta ese formato.
- Selecciona secciones de contenido – Marca o desmarca Fichas, Flujos, Escenas y Localizacion. Las secciones no soportadas por el formato seleccionado se deshabilitan.
- Elige el modo de recursos – Controla como se gestionan los archivos de recursos (imagenes, audio):
| Modo de recursos | Comportamiento |
|---|---|
| Solo referencias | Las URLs de recursos se incluyen en la salida (predeterminado, archivo mas pequeno) |
| Incrustados | Los recursos se codifican en Base64 en linea (archivo mas grande, completamente autocontenido) |
| Empaquetados | La salida es un archivo ZIP con una carpeta de recursos junto al archivo de datos |
- Configura opciones – Activa “Validar antes de exportar” y “Formato legible de salida” segun necesites.
- Descargar – Haz clic en el boton de descarga para obtener tu archivo.
Validacion pre-exportacion
Antes de descargar, puedes ejecutar la validacion para detectar problemas que causarian errores en tu juego. Haz clic en Validar para comprobar tu proyecto. El validador ejecuta 9 comprobaciones y reporta hallazgos en tres niveles de severidad:
Errores (probablemente rompan tu juego):
- Flujos sin nodo de Entrada
- Referencias rotas: nodos de salto apuntando a hubs inexistentes y nodos de subflujo referenciando flujos eliminados
Advertencias (problemas potenciales):
- Nodos huerfanos sin conexiones
- Nodos inalcanzables (no alcanzables desde la Entrada via recorrido BFS)
- Nodos de dialogo vacios (sin contenido de texto)
- Nodos de dialogo sin hablante asignado
- Cadenas de referencia circular de subflujos (A referencia B referencia A)
- Traducciones faltantes para idiomas configurados
Informacion (vale la pena saber):
- Fichas huerfanas sin referencias desde ningun flujo o escena

Otras vias de exportacion
Mas alla de la pagina principal de Importar y exportar, Storyarn ofrece funciones de intercambio especializadas en otras areas:
Intercambio de localización – Desde la página de Localización puedes exportar traducciones como Excel (.xlsx) o CSV filtrado por idioma. Conserva las columnas ID y Source Hash sin cambios y utiliza Importar CSV para aplicar los valores devueltos de Translation y Status. El hash evita que un archivo obsoleto sobrescriba traducciones después de cambiar el contenido fuente. Consulta la Vista general de Localización para obtener más detalles.