Repolode
hadashiA

hadashiA/VYaml

Uma biblioteca YAML 1.2 de alto desempenho e baixa alocação para C# com foco em .NET e Unity, com serialização gerada pelo source generator.

Alternativa open source a:YamlDotNet

Estrelas
482
Forks
41
Issues abertas
17
Último commit
há 4 dias

O que é?

VYaml é uma implementação de YAML 1.2 escrita em C# puro para .NET e Unity. Ela oferece um parser e um emitter de baixo nível que trabalham diretamente com bytes UTF-8, além de um serializer de alto nível que converte YAML em tipos C# definidos pelo usuário e vice-versa. O código de serialização é gerado em tempo de compilação por um source generator usando o atributo [YamlObject], evitando reflexão em runtime.

A biblioteca oferece suporte a polimorfismo por meio de unions identificadas por tags YAML, por uma chave discriminadora ou por uma chave de encapsulamento. Também oferece suporte a renomeação de chaves, convenções de nomenclatura, membros obrigatórios, omissão de valores padrão e enums [Flags]. O pacote separado VYaml.JsonSchema gera JSON Schema a partir de tipos C# para que editores ofereçam autocomplete e validação de YAML escrito manualmente. Builds Native AOT e com trimming também são compatíveis.

A biblioteca também processa o formato de YAML serializado não padrão do Unity, em que arquivos de cena podem conter o marcador "stripped" na linha de início do documento.

Recursos principais

  • 01Faz o parsing e a emissão de YAML 1.2 com um design baseado em UTF-8 e de baixa alocação.
  • 02Serializa e desserializa entre YAML e tipos C# por meio de geração de código.
  • 03Oferece suporte a unions de interfaces e classes abstratas identificadas por tags, chaves discriminadoras ou chaves de encapsulamento.
  • 04Gera JSON Schema a partir de tipos C# para autocomplete e validação em editores.
  • 05Oferece suporte a tipos específicos do Unity e compatibilidade com Native AOT e trimming.

Casos de uso

  • Carregar dados de jogo ou de configuração armazenados em YAML em projetos Unity.
  • Ler e gravar arquivos de configuração YAML em serviços ou ferramentas .NET.
  • Fazer o parsing de arquivos YAML grandes quando alocação e velocidade são importantes.
  • Oferecer validação em editores baseada em schema para arquivos de configuração YAML escritos manualmente.

Início rápido

  1. 1

    Instale o pacote VYaml pelo NuGet

    dotnet add package VYaml
  2. 2

    No Unity, instale o NuGetForUnity e, em seguida, instale o pacote VYaml pela janela do NuGet

Antes de usar

  • O foco principal é o Unity, e é necessário usar o Unity 2021.3 ou posterior.
  • O suporte a YAML 1.2 é quase completo, mas não total.
  • A representação em árvore de nós ainda não é compatível (está no roadmap).
  • Enums são serializados apenas como representações simples em string.

Em coleções

Tópicos

Perguntas frequentes

O que é VYaml?
Uma biblioteca YAML 1.2 de alto desempenho e baixa alocação para C# com foco em .NET e Unity, com serialização gerada pelo source generator. VYaml é uma implementação de YAML 1.2 escrita em C# puro para .NET e Unity. Ela oferece um parser e um emitter de baixo nível que trabalham diretamente com bytes UTF-8, além de um serializer de alto nível que converte YAML em tipos C# definidos pelo usuário e vice-versa. O código de serialização é gerado em tempo de compilação por um source generator usando o atributo [YamlObject], evitando reflexão em runtime.
VYaml é gratuito? Qual é a licença?
VYaml é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
VYaml ainda é mantido?
Manutenção ativa. O último commit de VYaml foi em 5 de nov. de 2026.
Para que posso usar VYaml?
Carregar dados de jogo ou de configuração armazenados em YAML em projetos Unity. Ler e gravar arquivos de configuração YAML em serviços ou ferramentas .NET. Fazer o parsing de arquivos YAML grandes quando alocação e velocidade são importantes. Oferecer validação em editores baseada em schema para arquivos de configuração YAML escritos manualmente.
Como instalar VYaml?
Instale o pacote VYaml pelo NuGet: dotnet add package VYaml No Unity, instale o NuGetForUnity e, em seguida, instale o pacote VYaml pela janela do NuGet
Onde consigo VYaml?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/hadashiA/VYaml

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados