[Unity] 버전이 바뀌어도 변하지 않을 개념들

유니티가 출시된 지 어느덧 20년이 넘었습니다. 버전이 올라갈수록 기능은 쌓이고, 인터페이스는 바뀌며, 새로운 렌더 파이프라인이 등장합니다. 그럼에도 불구하고 버전과 관계없이 항상 통용되는 핵심 개념들이 있습니다.

오랫동안 유니티 강의를 진행하면서 수강생들에게 가장 먼저 알려주는 8가지 개념을 정리해 봅니다.

유니티의 변하지 않는 8가지 개념

1. 프로젝트 (Project)

모든 게임의 시작점입니다. 에셋, 씬, 설정 파일이 모두 모여 있는 단위입니다.

2. 게임 오브젝트 (Game Object)

씬에 존재하는 모든 것의 기본 단위입니다. 카메라, 캐릭터, 배경, UI 등 눈에 보이거나 보이지 않는 모든 요소가 게임 오브젝트입니다.

3. 트랜스폼 (Transform)

게임 오브젝트의 위치, 회전, 크기(Scale)를 관리하는 컴포넌트입니다. 모든 게임 오브젝트는 트랜스폼을 반드시 가집니다.

4. 컴포넌트 (Component)

게임 오브젝트에 기능을 부여하는 빌딩 블록입니다. Rigidbody, Collider, AudioSource 등이 대표적입니다.

5. 스크립트 (Script)

C# 언어로 작성한 코드를 컴포넌트 형태로 게임 오브젝트에 붙여 동작을 구현합니다.

6. 씬 (Scene)

게임의 특정 레벨이나 메뉴 화면 등 하나의 공간 단위입니다. 씬 간 전환으로 게임 흐름을 제어합니다.

7. 프리팹 (Prefab)

재사용 가능한 게임 오브젝트 템플릿입니다. 동일한 오브젝트를 여러 번 인스턴스화해야 할 때 필수입니다.

8. 렌더러 / 매터리얼 / 쉐이더 (Renderer / Material / Shader)

가장 최근에 추가된 여덟 번째 개념입니다. 이 세 가지를 묶어서 이해해야 하는 이유는, 게임 오브젝트가 화면에 표시되는 전체 렌더링 파이프라인을 설명하기 위해서입니다.

  • 렌더러(Renderer): 게임 오브젝트를 화면에 그리는 컴포넌트입니다. 오브젝트의 종류에 따라 다른 렌더러가 사용됩니다.
  • 매터리얼(Material): 렌더러에 연결된 시각 설정 데이터입니다. 색상, 텍스처, 광원 반응 방식 등을 정의합니다.
  • 쉐이더(Shader): 그래픽 카드에서 실행되는 렌더링 로직입니다. 매터리얼이 어떤 방식으로 화면에 그려질지를 결정하며, 쉐이더 그래프를 통해 코드 없이도 커스텀 쉐이더 제작이 가능합니다.

왜 이 개념들이 중요한가

유니티 버전이 바뀌어도 이 개념들은 바뀌지 않습니다. 위 개념들을 탄탄히 이해한 사람은 새로운 버전이나 새로운 기능이 나왔을 때 훨씬 빠르게 적응할 수 있습니다. 어떤 버전의 유니티로 배워도, 어떤 프로젝트에 투입되어도 기본기가 흔들리지 않습니다.

초심자라면 이 8가지 개념을 확실히 익힌 후 본격적인 개발 학습을 시작하시길 권장합니다.