PORTFOLIO

문동준 포트폴리오

Unity와 Unreal Engine으로 제작한 게임, AI를 활용해 개발한 도구와 웹 서비스를 소개합니다.

COMPANY PROJECT

회사 프로젝트

회사에서 개발에 참여한 게임과 담당 업무를 소개합니다.

3 POSTS
헌팅 액션

라스트 헌터 K : 서울

2023.12 ~ 2026.07

클라이언트 전체 흐름과 비동기 로딩·리소스 관리 구조를 설계한 헌팅 액션 프로젝트입니다.

Unity Unity 게시물 보기 →
PERSONAL PROJECT

개인 프로젝트

Unity와 Unreal Engine으로 직접 제작한 게임 프로젝트입니다.

3 POSTS
탑다운 핵앤슬래시

블레이드 슬래시

2026.08.25 ~ 2026.09.02

Unreal Engine 5 Blueprint로 콤보 전투, 스킬, 적 AI와 전투 UI를 구현한 탑다운 핵앤슬래시 프로젝트입니다.

Unreal Engine Unreal Engine 게시물 보기 →
AI-ASSISTED PROJECT

개인 AI 사이드 프로젝트

AI를 활용해서 만든 사이드 프로젝트입니다.

7 POSTS

EngineMigrator

2026.10.24 ~ 2026.10.24

Unity와 Unreal 프로젝트의 장면·리소스와 지원 스크립트를 양방향으로 변환하고 대응 관계를 기록하는 Windows 도구입니다.

게시물 보기 →
# Moon Dongjun — Professional Profile

Name: 문동준
Role: Unity Client Programmer
Experience: 8 years

## Professional Summary

Unity client programmer with 8 years of professional game development.

Participated in three game projects from initial development through global launch and live service:
- OVERDOX
- Demian Saga
- Last Hunter K

Responsibilities expanded from individual game content implementation to client architecture and systems covering login, lobby, UI, scene transitions, resource management, data loading, networking, combat systems, build automation, and release processes.

## Engineering Scope

Worked across the complete client lifecycle:

Application Start
-> Authentication
-> Client Data Loading
-> Resource Initialization
-> Lobby
-> Matchmaking
-> Gameplay
-> Result
-> Return to Lobby

Implemented and maintained systems including:
- Unity client architecture
- Login and authentication
- Lobby and outgame systems
- Combat systems
- Scene transition management
- UI frameworks
- TCP / HTTP networking
- Addressables resource management
- UniTask-based asynchronous processing
- Data table generation and loading
- Jenkins CI/CD
- Android AAB / Play Asset Delivery

## Architecture & System Development

Designed a queue-based scene transition system to serialize simultaneous scene requests.

Each scene owns its initialization process and reports completion to the transition manager.

This structure was introduced after simultaneous scene requests caused transition conflicts and black-screen states.

Developed common UI management structures for scene transitions, popups, and shared outgame UI.

Built internal tools for inspecting Addressables resource loading and release state, including reference counts and call stacks.

## Performance & Loading

Reworked the application's startup sequence.

Previous sequence:
Client Data
-> Server Login
-> Resource Loading
-> Lobby

Changed sequence:
Splash
├─ Server Login
├─ Client Data Loading
└─ Resource Preloading
        ↓
      Lobby

Independent operations were executed concurrently using asynchronous processing.

Measured splash-to-lobby loading time decreased from approximately 20 seconds to approximately 5 seconds on the same class of device.

The result was verified through before/after video comparison.

## Crash Investigation

Worked on post-launch crash investigation for approximately two months.

Crash rate decreased from approximately 10% to approximately 2% during this period.

Investigated issues involving:
- NullReferenceException
- Addressables and Play Asset Delivery
- Removed assets with remaining references
- Scene and shader problems
- Device and OS compatibility
- External APIs and SDKs

Used Logcat, Unity debugging tools, reproduction projects, and device testing to trace failures.

## Data Architecture

Worked with an Excel-to-C# data generation pipeline.

Changed ID-based table storage from List-based lookup to Dictionary-based lookup by modifying the code-generation template.

The public data access interface was kept consistent while the generated internal representation changed.

Also redesigned duplicated character-stat data.

As the project expanded, approximately 5 initial stats grew to roughly 30-40 fields distributed across multiple tables.

Created a shared Status representation and replaced duplicated stat columns with Status IDs referenced by other tables.

## Resource Management

Worked with both AssetBundle and Addressables-based resource systems.

Migrated project resource management toward Addressables and used it with Android App Bundle and Play Asset Delivery.

Handled resource dependencies, asynchronous loading, reference counting, release tracking, and build-time resource processing.

## Build & Release

Worked with Jenkins-based automated build and distribution pipelines.

Handled Android and iOS build processes across released projects.

Worked with:
- AAB
- Play Asset Delivery
- Addressables
- Automated client builds
- Resource packaging
- Release distribution

## Debugging Approach

Debugging work includes tracing data and execution paths.

Typical investigation path:

Observed Problem
-> Reproduction Conditions
-> Runtime State
-> Call Path
-> Data / Resource State
-> Root Cause
-> Fix
-> Reproduction Test

Resource-loading investigations include failed loads of required resources.