Repolode
hadashiA

hadashiA/VYaml

소스 생성 직렬화를 제공하는, .NET과 Unity용 고성능·저할당 C# YAML 1.2 라이브러리입니다.

대체할 수 있는 제품:YamlDotNet

스타
481
포크
41
열린 이슈
17
마지막 커밋
어제

어떤 프로젝트인가요?

VYaml은 .NET과 Unity를 위한 순수 C# 기반 YAML 1.2 구현입니다. UTF-8 바이트를 직접 처리하는 저수준 파서와 emitter, 그리고 YAML과 사용자가 정의한 C# 타입 간 변환을 지원하는 고수준 직렬 변환기를 제공합니다. 직렬화 코드는 [YamlObject] 특성을 사용하는 소스 생성기로 컴파일 시점에 생성되므로 런타임 리플렉션을 사용하지 않습니다.

YAML 태그, 판별자 키 또는 래핑 키로 식별되는 유니온을 통해 다형성을 지원합니다. 키 이름 변경, 네이밍 규칙, 필수 멤버, 기본값 생략, [Flags] enum도 지원합니다. 별도의 VYaml.JsonSchema 패키지는 C# 타입으로부터 JSON Schema를 생성해 편집기에서 직접 작성한 YAML의 자동 완성과 유효성 검사를 제공할 수 있도록 합니다. Native AOT 및 트리밍 빌드도 지원합니다.

또한 Unity의 비표준 직렬화 YAML 형식도 처리합니다. 이 형식에서는 씬 파일의 문서 시작 줄에 "stripped" 마커가 들어갈 수 있습니다.

핵심 기능

  • 01저할당 UTF-8 기반 설계로 YAML 1.2를 파싱하고 출력합니다.
  • 02소스 생성을 통해 YAML과 C# 타입 간 직렬화 및 역직렬화를 지원합니다.
  • 03태그, 판별자 키 또는 래핑 키로 식별되는 인터페이스 및 추상 클래스 유니온을 지원합니다.
  • 04편집기의 자동 완성과 유효성 검사를 위해 C# 타입에서 JSON Schema를 생성합니다.
  • 05Unity 전용 타입을 지원하며 Native AOT 및 트리밍과 호환됩니다.

활용 사례

  • Unity 프로젝트에서 YAML로 저장된 게임 데이터나 설정 데이터를 불러옵니다.
  • .NET 서비스나 도구에서 YAML 설정 파일을 읽고 씁니다.
  • 할당량과 속도가 중요한 대용량 YAML 파일을 파싱합니다.
  • 직접 작성한 YAML 설정 파일에 스키마 기반 편집기 유효성 검사를 제공합니다.

빠른 시작

  1. 1

    NuGet에서 VYaml 패키지를 설치합니다

    dotnet add package VYaml
  2. 2

    Unity에 NuGetForUnity를 설치한 다음 NuGet 창에서 VYaml 패키지를 설치합니다

사용 전 알아둘 점

  • 주로 Unity에 초점을 맞추며 Unity 2021.3 이상이 필요합니다.
  • YAML 1.2는 대부분만 지원됩니다.
  • 노드 트리 표현은 아직 지원되지 않습니다(로드맵에 포함되어 있습니다).
  • enum은 단순한 문자열 표현으로만 직렬화됩니다.

포함된 컬렉션

토픽

자주 묻는 질문

VYaml은(는) 무엇인가요?
소스 생성 직렬화를 제공하는, .NET과 Unity용 고성능·저할당 C# YAML 1.2 라이브러리입니다. VYaml은 .NET과 Unity를 위한 순수 C# 기반 YAML 1.2 구현입니다. UTF-8 바이트를 직접 처리하는 저수준 파서와 emitter, 그리고 YAML과 사용자가 정의한 C# 타입 간 변환을 지원하는 고수준 직렬 변환기를 제공합니다. 직렬화 코드는 [YamlObject] 특성을 사용하는 소스 생성기로 컴파일 시점에 생성되므로 런타임 리플렉션을 사용하지 않습니다.
VYaml은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
VYaml은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
VYaml은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. VYaml의 마지막 커밋은 2026년 11월 5일입니다.
VYaml은(는) 어디에 사용할 수 있나요?
Unity 프로젝트에서 YAML로 저장된 게임 데이터나 설정 데이터를 불러옵니다. .NET 서비스나 도구에서 YAML 설정 파일을 읽고 씁니다. 할당량과 속도가 중요한 대용량 YAML 파일을 파싱합니다. 직접 작성한 YAML 설정 파일에 스키마 기반 편집기 유효성 검사를 제공합니다.
VYaml는 어떻게 설치하나요?
NuGet에서 VYaml 패키지를 설치합니다: dotnet add package VYaml Unity에 NuGetForUnity를 설치한 다음 NuGet 창에서 VYaml 패키지를 설치합니다
VYaml은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/hadashiA/VYaml

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트