본문 바로가기
공부

충격 실화 - 유니티 2022에서 VSF 뽑아 쓰기

by Myong_ 2025. 6. 17.

 

이왜진?

 

 

 

 

 

 

 

이왜진????? ??????

 

 

 

아래는 2019에서 뽑은 VSF / 2022에서 뽑은 VSF 강제로 뜯어봤을 때 차이나는 점을 기준으로 예측해본 글...

실제와는 다를 수 있으나 뭐 대충 비슷하지 않을까 싶음...

 

 

 

 

 

요약

  • Unity 에디터 버전(2019.x vs 2022.x)에 따라 AssetBundle 헤더 포맷만 달라질 뿐,
  • VSF SDK 자체에는 “UnityFS 075.x”나 “UnityFS 085.x” 전용 파서를 넘어서는 추출 기능이 내장돼 있어,
  • 유니티 버전에 구애받지 않고 VSF를 추출할 수 있음
  • 그럼 왜 2022에서 뽑으면 2019에 못쓰는가? → 받아주는 플랫폼이 2019라서.

 

 

 

Unity 2022.3.22f1 에서 추출한 VSF 파일을 Vseeface에 넣으면 나오는 오류

 

 

 

 

1. 배경: VSF는 AssetBundle 기반 바이너리

  • VSF (VSeeFace File)는 Unity AssetBundle과 동일한 내부 구조를 갖음.
  • AssetBundle 헤더에 “UnityFS” 매직 스트링과 버전 정보(075.x, 085.x 등)가 붙음.
  • 단순히 헤더 버전 차이만 있을 뿐, 페이로드(Transform·Mesh·Material·Animation 데이터)는 동일한 직렬화 로직으로 처리됨.

2. 상향 호환 vs. 하향 호환

  • Unity 정책:
    • 낮은 버전(075.x) → 높은 버전(085.x)로 생성된 번들 읽기 가능(상향 호환)
    • 높은 버전(085.x) → 낮은 버전(075.x)으로 생성된 번들 읽기 불가능(하향 호환 미지원)
  • 따라서 “2019 에디터로 생성된 VSF(075.x)”는 2022 에디터에서도 로드 가능하지만,
  • “2022 에디터로 생성된 VSF(085.x)”는 2019 에디터에서 로드되지 않음.

3. VSF SDK의 역할: Unity 버전 무관 추출

  • VSF SDK 내 VSFExporter 클래스는 헤더 버전 검사 없이 페이로드 데이터를 바이너리로 직렬화함.
  • 즉, 사용자가 2019 에디터에서든 2022 에디터에서든 동일한 로직으로 VSF 파일을 뽑아냄.
  • 이후 플랫폼(Importer)이 해당 파일의 헤더를 인식할 수 있으면 로드, 못 하면 에러.

4. 플랫폼별 Importer 차이

  • VSeeFace(2019)
    • VSFImporter에서 “075.x” 헤더만 처리하도록 구현
    • “085.x” 헤더 만나면 NotSupportedException 발생
  • Vnyan(2022)
    • AssetBundle API(AssetBundle.LoadFromFile) 사용하거나
    • “085.x” 분기 로직(ParseUnityFS_085) 추가
    • 두 헤더 모두 유연하게 처리


5. 작업 환경 일원화의 장점

  • 만약 Vnyan 사용한다는 가정 시, 더 이상 Unity 2019에 얽매일 필요 없음
  • Unity 2022 에디터 하나로
    • VSF 추출(075.x·085.x 모두)
    • VCC 사용 가능
      • 모듈러 아바타 사용 가능 - Bake 기능 사용 후 옮길 필요 없음
      • → VRChat(VRC)용 VSF와 VRM 변환 워크플로우 통합
    • Vnyan의 Blueprint 기반 커스텀 노드, 애니메이션, 월드 사용 가능
  • 과거처럼 “2019 에디터 + VSeeFace” 조합 대신,
    “2022 에디터 + Vnyan” 조합으로 모든 파이프라인 처리 가능

6. VRChat–VSF 간 호환성 유지

  • VSF SDK로 뽑은 VSF 파일은
    • VSeeFace(075.x 전용)
    • Vnyan(085.x 지원)
      모든 플랫폼에서 호환성 유지
  • 단, 대상 플랫폼의 Importer가 어떤 헤더를 지원하는지 확인 필요
  • 지원 범위에 맞춰 VSF 파일 뽑을 때
    • 2019 에디터로 뽑아야 할지
    • 2022 에디터로 뽑아야 할지 결정

 

 
 
 
 
 
 
 
대부분의 고객님들이 Vseeface를 쓰시니까 2019에서 작업을 계속 할 것 같긴 한데
Vnyan이 보편화되기 시작하면 2019에서 작업할 필요가 굳이? 없다고 생각함...
기본 작업을 2022에서 하고, Vseeface 쓰신다고 하면 아래로 내려가는 방법도 있을 듯...?
 
뭐 한동안은 없을 얘기긴 하지만 그래도 언젠가는 도움이 되지 않을까 싶어서 기록해 두기...🥹

 

 

 

 

 

 

댓글