Repolode
hadashiA

hadashiA/VYaml

Una biblioteca YAML 1.2 de alto rendimiento y baja asignación para C#, centrada en .NET y Unity, con serialización generada desde el código fuente.

Alternativa open source a:YamlDotNet

Estrellas
481
Forks
41
Issues abiertos
17
Último commit
anteayer

¿Qué es?

VYaml es una implementación de YAML 1.2 escrita en C# puro para .NET y Unity. Ofrece un parser y un emisor de bajo nivel que trabajan directamente con bytes UTF-8, además de un serializador de alto nivel que convierte YAML a tipos C# definidos por el usuario y viceversa. El código de serialización se genera en tiempo de compilación mediante un generador de código fuente, a través del atributo [YamlObject], por lo que el serializador no necesita reflexión en tiempo de ejecución.

La biblioteca admite polimorfismo mediante uniones identificadas por etiquetas YAML, una clave discriminadora o una clave envolvente. También permite renombrar claves, definir convenciones de nomenclatura, especificar miembros obligatorios, omitir valores predeterminados y usar enums [Flags]. El paquete independiente VYaml.JsonSchema genera JSON Schema a partir de tipos C# para que los editores puedan ofrecer autocompletado y validación para YAML escrito manualmente. También admite Native AOT y compilaciones con trimming.

Además, puede procesar el formato YAML serializado no estándar de Unity, en el que los archivos de escena pueden incluir el marcador "stripped" en la línea de inicio del documento.

Funciones clave

  • 01Analiza y emite YAML 1.2 con un diseño basado en UTF-8 y de baja asignación.
  • 02Serializa y deserializa entre YAML y tipos C# mediante generación de código fuente.
  • 03Admite uniones de interfaces y clases abstractas identificadas por etiquetas, claves discriminadoras o claves envolventes.
  • 04Genera JSON Schema a partir de tipos C# para ofrecer autocompletado y validación en editores.
  • 05Ofrece compatibilidad con tipos específicos de Unity y con Native AOT y trimming.

Casos de uso

  • Cargar datos de juego o configuración almacenados en YAML en proyectos de Unity.
  • Leer y escribir archivos de configuración YAML en servicios o herramientas de .NET.
  • Analizar archivos YAML grandes cuando la velocidad y las asignaciones de memoria son importantes.
  • Ofrecer validación en editores basada en esquemas para archivos de configuración YAML escritos manualmente.

Inicio rápido

  1. 1

    Instala el paquete VYaml desde NuGet

    dotnet add package VYaml
  2. 2

    En Unity, instala NuGetForUnity y, después, instala el paquete VYaml desde la ventana de NuGet

Antes de usarlo

  • Está enfocado principalmente en Unity y requiere Unity 2021.3 o posterior.
  • La compatibilidad con YAML 1.2 es casi completa, pero no total.
  • La representación de árbol de nodos aún no es compatible (está en la hoja de ruta).
  • Los enums solo se serializan como cadenas simples.

En colecciones

Temas

Preguntas frecuentes

¿Qué es VYaml?
Una biblioteca YAML 1.2 de alto rendimiento y baja asignación para C#, centrada en .NET y Unity, con serialización generada desde el código fuente. VYaml es una implementación de YAML 1.2 escrita en C# puro para .NET y Unity. Ofrece un parser y un emisor de bajo nivel que trabajan directamente con bytes UTF-8, además de un serializador de alto nivel que convierte YAML a tipos C# definidos por el usuario y viceversa. El código de serialización se genera en tiempo de compilación mediante un generador de código fuente, a través del atributo [YamlObject], por lo que el serializador no necesita reflexión en tiempo de ejecución.
¿VYaml es gratuito? ¿Qué licencia tiene?
VYaml es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿VYaml sigue mantenido?
Mantenimiento activo. El último commit de VYaml fue el 5 nov 2026.
¿Para qué puedo usar VYaml?
Cargar datos de juego o configuración almacenados en YAML en proyectos de Unity. Leer y escribir archivos de configuración YAML en servicios o herramientas de .NET. Analizar archivos YAML grandes cuando la velocidad y las asignaciones de memoria son importantes. Ofrecer validación en editores basada en esquemas para archivos de configuración YAML escritos manualmente.
¿Cómo se instala VYaml?
Instala el paquete VYaml desde NuGet: dotnet add package VYaml En Unity, instala NuGetForUnity y, después, instala el paquete VYaml desde la ventana de NuGet
¿Dónde consigo VYaml?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/hadashiA/VYaml

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados