유니티(Unity)는 게임을 만들 때 쓰는 게임 엔진입니다. 게임 엔진이란 그래픽 출력, 물리 계산, 소리 재생, 입력 처리처럼 어느 게임에나 필요한 기능을 미리 만들어 둔 개발 도구를 말합니다. 이 글은 유니티를 처음 여는 사람이 무엇부터 보면 되는지, 첫 프로젝트를 어떻게 만들면 되는지 순서대로 설명합니다.
유니티는 어떤 엔진인가
유니티는 2D와 3D 게임을 모두 만들 수 있는 범용 엔진입니다. 모바일 게임에서 특히 많이 쓰이고, PC·콘솔 게임, VR·AR 콘텐츠, 건축 시각화 같은 분야에서도 활용됩니다. 프로그래밍 언어로는 C#(씨샵)을 씁니다.
한 번 만든 프로젝트를 안드로이드, iOS, 윈도우 등 여러 플랫폼용으로 빌드할 수 있다는 점이 큰 장점입니다. 빌드는 개발 중인 프로젝트를 실제로 실행 가능한 앱이나 프로그램 파일로 묶는 작업입니다.
개인이나 작은 팀은 무료 요금제로 시작할 수 있습니다. 다만 요금제 조건은 회사 정책에 따라 바뀔 수 있으니 상업 출시 전에는 공식 홈페이지 안내를 꼭 확인하는 것이 좋습니다.
설치와 첫 프로젝트 만들기
- 유니티 공식 홈페이지에서 유니티 허브(Unity Hub)를 내려받습니다. 허브는 엔진 버전과 프로젝트를 관리하는 프로그램입니다.
- 허브에서 에디터 버전을 설치합니다. 처음이라면 LTS 버전을 고르면 됩니다. LTS는 장기 지원 버전이라 오류 수정이 오래 이어집니다.
- 설치할 때 Visual Studio 같은 코드 편집기와 필요한 빌드 모듈(안드로이드 등)을 함께 선택합니다.
- 새 프로젝트를 만들 때 2D 또는 3D 템플릿을 고릅니다. 템플릿은 나중에 바꿀 수 있으니 크게 고민하지 않아도 됩니다.
- 프로젝트 이름과 저장 위치는 영어로 정하는 편이 안전합니다. 한글 경로에서 오류가 나는 경우가 있기 때문입니다.
유니티(Unity) 입문 가이드 혼자 배우다 막혔다면, 수업으로 체계적으로과정 상담 → 에디터 화면 다섯 가지 창
| 창 이름 | 하는 일 |
|---|
| Scene(씬) 뷰 | 게임 공간을 직접 보며 물체를 배치하고 편집하는 작업 화면 |
| Game(게임) 뷰 | 카메라에 비친 모습, 즉 플레이어가 실제로 보게 될 화면 |
| Hierarchy(하이어라키) | 현재 씬에 놓인 오브젝트 목록과 부모·자식 관계 |
| Inspector(인스펙터) | 선택한 오브젝트의 위치, 크기, 컴포넌트 설정값 |
| Project(프로젝트) | 이미지, 소리, 스크립트 등 프로젝트에 들어 있는 모든 파일 |
처음에는 창이 많아 복잡해 보이지만, 무엇을 고를지는 하이어라키에서, 어떻게 바꿀지는 인스펙터에서 한다고 기억하면 금방 익숙해집니다.
꼭 알아야 할 세 가지 개념
첫째는 게임 오브젝트(GameObject)입니다. 캐릭터, 바닥, 카메라, 조명처럼 씬에 놓이는 모든 것이 게임 오브젝트입니다. 둘째는 컴포넌트(Component)입니다. 게임 오브젝트에 붙이는 기능 부품으로, 물리 효과를 주는 Rigidbody, 충돌 범위를 정하는 Collider, 직접 짠 스크립트 등이 모두 컴포넌트입니다.
셋째는 프리팹(Prefab)입니다. 자주 쓰는 오브젝트를 틀로 저장해 둔 것으로, 총알이나 적처럼 여러 번 만들어야 하는 대상을 프리팹으로 두면 한 번에 수정하고 여러 번 꺼내 쓸 수 있습니다. 유니티 작업은 결국 오브젝트를 놓고, 컴포넌트를 붙이고, 반복되는 것은 프리팹으로 관리하는 흐름입니다.
첫 주에 해볼 연습
- 큐브와 바닥을 놓고 Rigidbody를 붙여 떨어뜨려 보기
- C# 스크립트로 방향키를 누르면 큐브가 움직이게 만들기
- 공식 학습 사이트 Unity Learn의 초급 튜토리얼 하나 끝까지 따라 하기
- 완성한 것을 PC용으로 빌드해 실행 파일로 열어 보기
입문 단계에서는 기능을 많이 아는 것보다 작게라도 끝까지 만들어 보는 경험이 중요합니다. 빌드까지 해 보면 개발의 전체 흐름이 한 번에 보입니다.
체계적으로 배우고 싶다면
SBS아카데미게임학원 유니티3D(Unity) 과정은 C언어와 C# 문법을 먼저 다진 뒤 유니티 초급, 2D, 3D 단계로 넘어가는 순서로 구성되어 있습니다. 혼자 시작했다가 문법에서 막혔다면 이런 단계형 수업을 참고해 볼 만합니다.
자주 묻는 질문
유니티는 코딩을 몰라도 시작할 수 있나요?
에디터 조작과 오브젝트 배치는 코딩 없이도 해 볼 수 있습니다. 다만 캐릭터를 움직이거나 규칙을 만들려면 C# 스크립트가 필요하므로, 입문과 함께 기초 문법을 조금씩 익히는 것이 좋습니다.
컴퓨터 사양이 낮아도 되나요?
간단한 2D 프로젝트는 보통 사양의 노트북에서도 연습할 수 있습니다. 3D 그래픽을 많이 쓰는 프로젝트라면 그래픽카드와 메모리 여유가 있는 편이 작업이 편합니다.
어떤 버전을 설치해야 하나요?
강의나 튜토리얼에서 쓰는 버전이 있다면 그 버전을, 없다면 유니티 허브에서 권장하는 LTS 버전을 고르는 것이 무난합니다.
이 글에서 소개한 오브젝트·컴포넌트·프리팹 개념을 C# 문법부터 단계적으로 실습하는 과정입니다.
게임프로그래밍학과전 세계적으로 가장 널리 사용되는 실시간 개발 플랫폼 Unity(유니티)를 활용해 2D·3D 게임부터 인터랙티브 콘텐츠, 메타버스, AR/VR까지 다양한 디지털 콘텐츠를 직접 기획하고 제작하는 실무 중심 프로그램입니다.
강의정원 10명 내외강의시간 2시간 내외교육난이도 Lv.1~5수업 요일·횟수 월수금, 화목금, 격일, 매일
수업 진행 순서C언어 기초 → C# 게임 로직 → Unity 기능 실습(UI·물리 효과·애니메이션·씬 관리) → 개인·팀 프로젝트 → 포트폴리오 / 단위 수업: 이론·개념 설명 및 강사 시연 → 단계별 개인·팀 실습 및 과제 제작 → 1:1 강사 피드백 및 수정 보완
실습 내용C언어로 코드를 직접 작성해 보고, Unity에서 C# 스크립트로 게임 규칙과 동작을 구현합니다. 물리 효과, UI 연결, 애니메이션 제어를 넣어 보고, 게임 오브젝트와 씬을 구성해 하나의 게임으로 엮어 봅니다.
강사 피드백 방식10명 내외 소수 정원 수업으로 진행하며, 실무 강사진이 수강생의 실습 과제·작품·기획서를 1:1로 확인하고 수정·보완 방향을 직접 피드백합니다.
- 프로그래밍 C언어OT, 언어를 통한 개발의 이해 · 자료형과 입출력(scanf, printf) · 연산자와 분기문 IF와 Switch의 용법 · 반복문 (While), 반복문 (For)의 사용 · 배열, 배열의 초기화 · 다차원 배열의 학습 · 이중 반복문 학습 · 보석 찾기 게임 · 함수 학습 · 제어문 (매크로, 열거형, 랜덤) · 파일 분할 · 키처리와 커서제어 · 스네이크 게임 · 포인터 학습 · 포인터와 배열 · 포인터 배열을 이용한 함수 · 구조체 학습 · 함수 포인터의 이해 · 동적 할당을 이용한 메모리 관리 · 파일 입출력
1주차 OT에서 프로그래밍으로 개발하는 원리를 이해하고, 자료형과 입출력(scanf/printf), 연산자와 분기문(if/switch), 반복문(while/for)을 배웁니다. - 유니티 C# 개발C#의 이해 · C와 C#의 문법의 차이 · 클래스 문법의 이해 · 클래스 생성과 구현 · 객체지향과 캡슐화의 이해 · 맴버 속성(property)와 매개변수의 전달 · 일반화(Generalization)의 사용 · 대리자(Delegate)의 사용 · 컬렉션(Collection)의 사용 · LINQ(Language Integrated Query) · 클래스 상속 · 클래스 상속 구현 및 예제 · 가상메소드(virtual)의 이해 · 추상메소드(abstract)의 이해 · 가상화와 추상화의 차이와 구현 · 인터페이스(Interface)와 컬렉션(Collection) · 파일 입출력 · Excel 데이터 파싱
- 유니티 초급유니티의 구조와 이해 · 유니티 인터페이스 · 객체 생성 및 컴포넌트 · Scene 구성과 카메라 · Asset의 활용과 객체 이동 · 키보드 입출력 제어 · 물리와 충돌의 이해 · Animation 컨트롤 · 프리팹(Prefab)의 이해와 사용 · Layer와 Tag의 활용 · NGUI와 터치 인터페이스 · 마우스 및 터치 컨트롤 · Scene 제어 및 Popup 제어 · Joint와 2D 물리 · Raycasting과 Picking · 가상 키패드의 제작 · Angry Bird 예제 따라하기 · PC와 모바일 빌드 해보기
- 유니티 2D 초급2D 슈팅 게임 프로그래밍 기획 설계 · Scene의 구성과 이동 · 2D Sprite의 출력 · 주인공 출력과 이동 · 배경의 출력과 스크롤 · 2D 물리의 이해와 구현 · 미사일 발사 구현 · 미사일 관리 · 오브젝트 풀(Pool)의 사용 · 적의 생성과 Animator의 활용 · 컨디션 설정으로 상태 변화 · 여러 종류의 적 생성 · 이펙트와 사운드 · 적의 죽음 처리 · 코루틴의 이해(Coroutine) · 매니저를 이용한 적의 관리 · 플레이어의 죽음 처리 · 타이틀, 로비 , 환경설정, 결과화면 처리
- 유니티 3D 초급Scene의 구성과 Light · 버텍스(Vertex), 폴리곤, Mesh의 이해 · 텍스쳐(Texture)와 쉐이더(Shader)의 이해 · 3D 공간에서 오브젝트의 이동 · 카메라의 회전과 이동 · Rigidbody를 이용한 물리와 충돌처리 · 본과 리깅의 이해 · Animation(Legacy)의 활용 · Animation(Mecanim)의 활용 · Animation의 제어 및 모션연결 · Animation Event기능과 공격판정 · 엑셀 데이터를 통한 Effect 제어 · 마우스를 이용한 캐릭터 제어 · NavMesh를 이용한 길찾기 · NavAgent 기능을 활용한 AI · Lighting Map · 3D 최적화 방법
수료 후 결과물 — 수료 결과물(Unity로 만든 개인·팀 프로젝트 포트폴리오), C언어 기초 문법 실습, C# 게임 로직 구현, UI·물리 효과·애니메이션 기능 실습
이어지는 진로 — Unity 게임 개발자, 인터랙티브 콘텐츠 개발, 메타버스·AR/VR 콘텐츠 개발
유니티3D(Unity) 과정 자세히 보기 →