← Home

2021 · work

MetaForest Client: from launch to 3.xUnity · 2021 – 2025

Four years building and shipping the metaverse counseling client: installer, screen sharing, video chat, whiteboard, transcripts, and the Vivox migration

Role
Unity client development · production releases
Period
2021.10 – 2025.12
Status
In production (2026 work is a separate card)
Stack
Unity, C#, Photon, Vivox, Addressables, Android, iOS
GPT AI NPC demo for CES 2024 (Dec 2023, 36 s)
Transcript AI summary solo test (Oct 2024, 35 s)
MWC 2025 prep, SKT multi-user demo (Nov 2024, 30 s)
Mobile virtual joystick movement (Jun 2022, 20 s)

Context

MetaForest is a metaverse counseling platform where counselor and client meet as anonymous avatars. I joined in July 2021, and the first work records start on 27 October with an analysis note I wrote on the program’s key problems. The first setup file shipped to Korea University on 29 October. Below is what the surviving work records show, year by year.

2021: first year

  • October: wrote the program-issues analysis (polygon count, frame-drop causes, voice issues) and optimization notes; shipped the first setup file to a university client on October 29 and the water-education build on November 13. Set up per-institution APPVERSION separation (four institution codes).
  • Six characters for expression tracking at a teachers’ college, the water-education program for a university event, and splitting Photon’s 100 CCU by GameVersion.
  • 0.1v optimization, exception handling, IK fixes, thirty warnings triaged, and experiments such as Adobe Character Animator.
  • Built the custom install and update modules (a WPF launcher). Worked around Google Drive’s 100 MB direct-download limit with OneDrive direct links, played the intro video inside the launcher, and verified install, shortcut and update flows against a QA checklist. For the next four years every PC release went out through this installer/updater.
  • Late December: started the screen-sharing module: WebRTC connection, a virtual-camera install script, screen ownership via Photon RPC, URP texture issues, and a three-PC multi-user test.

2022: sprints, first production, trials

  • January: sprint-1 integration and an emergency-release pipeline, per-room screen-share displays, per-school accounts. February: took on expression-to-animation, push-to-talk and per-user Photon Voice volume, and owned voice and expression from then on.
  • February–March: the screen-sharing module (resolution, owner-exit handling, details), installer improvements (virtual-camera install method), dozens of sprint-2 bugs. Installer 1.5.2 went to three universities on March 8, and the 0.1.0 update (better voice filter, default resolution, corridor and private-room interiors, per-institution customization) shipped on March 24.
  • April–May: Healing Forest map features, load balancing, new characters, an in-app bug report, movement feel. The two-week sprint process started with the sprint-1 kickoff on May 13 and ran through sprint 21 in April 2023. June 8: the 0.5.0 update: Forest map, new avatars, camera choice, expression preview, control schemes, map.
  • June–August: built an external trial build and shipped it per institution code to counseling centers and universities in Korea and to one in the US, with the first university client on the production build. Started the mobile version (first/third-person camera, joystick) and cut polygons for performance.
  • September: a sweep of voice and screen-share bugs, resource-download dialogs, mic settings, the mobile launch work. November–December: Addressables on PC and mobile, installer and screen-share process improvements, a Photon Voice upgrade, the first mobile production release, Android in-app updates, Mac compatibility, iOS setup and release. On November 30 I announced the replaced voice module myself.

2023: official launch and store release

  • January: official launch with a 24-center pilot in Seoul. An emergency downgrade to 1.0.3 for Android compatibility, a redeploy and a data-server switch. Phone Bluetooth support, a “show face” feature, the group-room remodel.
  • March–April: YouTube URL and PDF screen sharing (sprint 20, logged under my name), mobile video chat, Mac App Store submission. April: iPad resource optimization with a colleague: resource cleanup, UnloadUnused and scene removal to get the app running on iPad. The feature inventory at that point listed 18 items: NPC, four voice filters, 1:1 video chat, screen sharing, free camera, voice calls, chairs, chat, expression tracking, map travel, bug reports, kick/mute, psychological tests, institution logos, Addressables, web-linked login, character selection, room create/join.
  • July–August: the August release QA: 43 PC and 34 mobile items (localization, UI, YouTube sharing, map, test room): then Android review and launch on 8/17 and iOS on 8/19. From here it is a proper store app.
  • September–November: avatar customization (save/load, Photon sync, expression-tracking rework, mobile, localization). November–December: built video chat and QA’d it across Mac M2/Intel, iPhone and iPad.
  • December: the AI demo for CES 2024: a Python server and a GPT-based AI NPC.

2024: whiteboard, transcripts, global

  • February–March: Windows social login and an installer renewal, SNS sign-up/login (Google and Apple edge cases), deep links, a screen-share cloud license change, an emotion-recognition demo.
  • April–May: the whiteboard: real-time rendering on a shared screen with multi-user sync, permissions, macOS/iOS QA. Solved slow downloads in South Africa with a regional Photon server and S3-hosted Addressables and installers.
  • June–July: transcripts for a university: recording, STT, chat system, TXT export, multi-user tests: shipped in an emergency lunch-hour release. Avatar customization extended (hair, face, nose, eyes); Vietnam and Chinese support.
  • August–September: transcripts rebuilt on the Naver Clova API (JSON parsing, auto-segmentation by audio time), institutional transcripts, mobile note-taking, Android API 34 and Apple policy work.
  • October–December: Taiwan download issues, Addressables stalls, the release that cleared an App Store rejection, and MWC 2025 preparation with SKT (cross-platform, lab features, expression switching).

2025: Unity 6 and Vivox

  • April–May: AI summary and language selection for transcripts: ported a Python project into Unity and optimized it. English defaults for overseas access; the video-chat lab feature removed.
  • June–August: Unity 6 migration (Photon Fusion) with dead-feature removal and UI cleanup, expression-tracking upgrades on every device, a MetLife 360 deep-link integration, HTTPS Addressables.
  • September: Photon Voice → Vivox and an emergency Vivox upgrade release.
  • October–November: the 3.0 overhaul under a November 1 mandatory-update deadline, then screen-share module replacement, expression, Bluetooth and camera fixes down to 3.0.7. December 3.1.6 added YouTube video sharing. From there I wrote nearly every release note through 3.3.7 in July 2026.

Lessons

  • Own the delivery path. Because the installer/updater and Addressables were ours, regional problems in South Africa and Taiwan were solved by swapping servers and storage.
  • Foundations can be replaced in production. Photon Voice → Vivox and Unity 2021 → 6 went through without cutting users off, thanks to QA lists and an emergency-release routine.
  • A release note lists the known problems too. Notes like 3.1.6’s, with issues and workarounds, were what let institution staff respond.
  • Company outcomes in this period: official adoption by Seoul Wee centers (2023), the Metaverse Innovation Award (2024), the MWC25 GLOMO Award (2025).