Unity MVC 패턴 예제 – Player Health System학습 목적Unity에서도 Model / View / Controller 를 명확히 분리할 수 있음을 이해한다.유지보수성과 확장성이 높은 구조를 경험한다.순수 C# 로직(Model) 과 Unity 엔진 요소(View) 의 역할 차이를 체험한다.UI 변경이 로직에 영향을 주지 않는 구조를 설계한다. MVC 핵심 개념 설명MVC 패턴이란 무엇인가?MVC(Model–View–Controller) 패턴은 소프트웨어를 구성할 때, 데이터(Model), 화면(View), 흐름 제어(Controller) 를 명확하게 분리하여 유지보수성을 높이고 확장성을 확보하는 대표적인 아키텍처 패턴이다. Unity는 구조상 “MonoBehaviour 안에 모든 로직..
Unity 프로젝트에 Git Submodule 기반 UPM 패키지를 적용하는 방법Unity에서 공용 유틸 패키지나 엔진 확장 기능을 여러 프로젝트에서 공유하려면, 단순히 파일을 복사하는 방식으로는 버전 관리가 유지되지 않는다. 이 문제를 해결하기 위한 방법이 Git Submodule + Unity Local UPM 패키지 조합이다. 이번 글에서는 다음과 같은 사례를 기반으로 진행한다.상위 프로젝트 : TestProject하위 공용 레포 : HCUP-Unity레포에 포함된 3개의 UPM 패키지 : HGame, HUI, HUtilTestProject/└── Assets/└── HCUP-Unity/ └── HoHong123/ ├── HGame/ ├── HUI/ ..
토스앱 빌드 과정 정리 토스 미니앱(Toss MiniApp)에 Unity WebGL 게임을 올리기토스 미니앱(Toss MiniApp) 환경에 Unity WebGL 게임을 올리고, 모바일 환경에서 부드럽게 동작하도록 만드는 과정은 단순한 웹 배포보다 훨씬 까다롭다. 토스는 브라우저가 아닌 WebView + React Native 기반의 독립 실행 환경을 사용한다.Unity 게임을 바로 WebGL로 빌드하면 토스 앱에 그대로 넣을 수 없다. 필요한 작업은 다음과 같다. 프로젝트 빌드1. Unity 빌드 설정Unity → Project Settings → Player → WebGL프로젝트 세팅에 따라 WebGL 빌드 패키지를 다운받아야할 수도 있다. 2. WebGL 빌드에서 설정값을 변경해야한다.Edit >..
C# - Class vs Struct구조적 차이점“값 복사 비용이 크면 struct 대신 class로 바꾸면 되지 않나?”“in 키워드로 참조 전달이면 struct도 사실상 class 아닌가?” C#에서는 Class와 Struct가 겉보기엔 비슷하게 보이지만, 그 내부 동작과 철학은 완전히 다르다.일반적으로는 값 전달 방식의 차이와 복사값의 차이(class는 얕은 복사(주소), struct는 깊은 복사(값) 발생)가 있다. in struct는 단순한 최적화가 아니라, “값형의 의미를 보존하면서 복사를 회피” 하는 언어적 장치이다. 이 차이를 이해하면 성능과 설계 안정성 모두를 잡을 수 있다. 항목 Class Struct 저장 위치힙(Heap)스택(Stack) 또는 인라인전달 방식참조 전달값 전달(복사)G..