Unity

Unity(유니티)는 Unity Technologies가 개발하는 게임 엔진이자 2차원 및 3차원 대화형 콘텐츠를 제작하는 통합 개발 플랫폼이다. 장면 편집기와 실행 런타임, 렌더링, 물리, 애니메이션, 오디오, 사용자 인터페이스 및 플랫폼별 빌드 기능을 제공하며 다양한 장치와 운영 환...

분류게임 엔진, 실시간 콘텐츠 개발 플랫폼
개발사Unity Technologies
주요 도구Unity Editor, Package Manager
주요 대상2D·3D 게임, 실시간 대화형 애플리케이션
관련 분야게임 개발, 컴퓨터 그래픽스, 가상 현실
작성 언어C++, C#
스크립팅 언어C#

Unity(유니티)는 Unity Technologies가 개발하는 게임 엔진이자 2차원 및 3차원 대화형 콘텐츠를 제작하는 통합 개발 플랫폼이다. 장면 편집기와 실행 런타임, 렌더링, 물리, 애니메이션, 오디오, 사용자 인터페이스 및 플랫폼별 빌드 기능을 제공하며 다양한 장치와 운영 환경을 대상으로 한 프로젝트 제작에 활용된다.[1]

Unity 프로젝트에서는 장면(Scene)에 게임 오브젝트(GameObject)를 배치하고 컴포넌트를 결합하여 기능을 구성한다. C# 스크립트로 게임 동작과 애플리케이션 로직을 작성할 수 있으며, 에디터 확장과 패키지 구조를 통해 기능 및 제작 도구를 추가할 수 있다. 2D와 3D 제작을 함께 지원하므로 게임 이외의 실시간 시각화와 시뮬레이션에도 이용된다.

Unity의 런타임은 장면의 게임 오브젝트 및 컴포넌트 상태를 갱신하고 렌더링과 물리 시뮬레이션을 수행한다. Unity Editor는 패키지와 에셋을 관리하고, 플랫폼별 플레이어를 빌드하는 기능을 제공한다.

Unity 엔진의 네이티브 부분은 C++로 구현되어 있고, 에디터와 엔진의 관리 코드에는 C#이 사용된다. Unity Technologies는 엔진과 에디터에 포함된 C# 소스 코드를 UnityCsReference로 공개하고 있다.[2]

역사

초기 Unity

Unity의 플랫폼 확장

렌더링 파이프라인의 발전

현대 Unity

프로젝트 구조

장면

게임 오브젝트

컴포넌트

에셋과 프리팹

프로그래밍

C#

MonoBehaviour

스크립트 실행 순서

에디터 스크립팅

렌더링

Built-in Render Pipeline

Universal Render Pipeline

High Definition Render Pipeline

셰이더와 머티리얼

물리와 애니메이션

2D 물리

3D 물리

애니메이션 시스템

오디오와 사용자 인터페이스

네트워크와 서비스

Unity Editor와 개발 도구

씬 뷰와 게임 뷰

패키지 관리자

프로파일러

빌드 시스템

지원 플랫폼

라이선스와 배포

Unity를 사용하는 게임

Unity를 사용하는 소프트웨어

  1. Unity: Unity Engine ↩
  2. Unity Technologies: UnityCsReference ↩