Unity 외부 개발자가 만든 유료 에셋입니다. 좌표계가 직관적이지 않고 복잡한 설정 필요하고, 유료 에셋스토어에서 판매, 현재는 사용 빈도가 많이 줄었음.
Unity 공식 내장 UI 시스템에다가 무료이고 Unity와 완벽하게 통합되었기에 UGUI를 권장함.
UI 요소가 부모(RectTransform)를 기준으로 어디에 고정되는지를 정하는 기준점입니다.
부모의 크기가 바뀌어도, 자식 UI의 위치나 크기를 어떻게 반응시킬지 결정합니다.
UI 오브젝트 자체의 기준점(회전, 크기, 위치 계산 기준)입니다.
회전, 스케일, 위치가 적용될 때 어떤 점을 기준으로 할지를 정하고, UI 요소가 Anchor 위치에 붙고 난 뒤, 그 안에서 어느 지점을 기준으로 위치할지를 결정한다.
텍스트를 더 선명하고 유연하게 표현할 수 있도록 해주는 고급 텍스트 렌더링 시스템이다.
벡터 기반 텍스트 렌더링, 스타일 지정, 서식 지원, 성능 최적화까지 지원하는 텍스트 솔루션이다.
UI와 로직을 분리해서 코드를 더 깔끔하고 테스트하기 쉽게 만드는 디자인 패턴이다.
Model : 애플리케이션의 비즈니스 로직과 데이터 처리 담당
View : UI 요소 (Button, Text 등)를 표시하고 사용자 입력을 Presenter에 전달
Presenter : Model과 View를 연결. View로부터 사용자 이벤트를 받아 Model을 변경하고, 다시 View를 갱신함
Model : 데이터와 비즈니스 로직을 담당합니다. View나 Controller와는 직접적인 연결 없이 순수한 데이터를 처리합니다
View : UI 표시와 업데이트만 담당합니다. 사용자의 입력은 받지 않고, 단순히 Model의 상태를 UI에 반영합니다
Controller : 입력 처리와 로직 제어를 담당합니다. 사용자 입력을 받아 Model을 변경하고 View를 갱신합니다. MVC에서 가장 많은 역할을 맡습니다.
장점
역할 분리 : UI, 로직, 데이터 각각 관리 → 유지보수 용이
재사용성 : Model이나 View만 교체 가능
테스트 용이 : Model은 UI 없이 테스트 가능
Model : 게임 데이터 및 비즈니스 로직 담당. View나 ViewModel을 모르고, 독립적임
ViewModel : View와 Model의 중간 다리. View와 연결되는 속성을 바인딩 형태로 노출.
View : UI를 그리는 역할. ViewModel의 속성을 구독해서 자동으로 UI를 업데이트
장점
바인딩 기반 : UI 자동 업데이트 → 코드 단순화
높은 테스트성 : ViewModel만 테스트 가능 (View 없이도 테스트 O)
역할 명확 : View는 UI만, 로직은 ViewModel이 전담