1단계: Unity와 C# 기초
🎯 이 단계에서 배울 것
Unity 프로젝트 만들기 → 스크립트 작성 → 실행까지 (약 20~30분)
🔷 구분하기: 내가 만드는 것 vs 엔진(API)이 주는 것
매 단계마다 내가 확장하는 영역과 엔진에서 가져다 쓰는 것을 구분하면, 나중에 다른 게임을 만들 때도 헷갈리지 않습니다.
| 구분 | 이번 단계 예시 | 설명 |
|---|---|---|
| 내가 만드는 것 | HelloWorld 클래스, Start() 안에 넣는 코드 |
우리가 작성하는 클래스·함수. “게임이 켜질 때 뭘 할지”를 우리가 정함. |
| 엔진(API)이 주는 것 | MonoBehaviour, Start(), Debug.Log | Unity/C#이 미리 제공. 상속(: MonoBehaviour)하고 이름을 맞춰 쓰면 엔진이 알아서 호출해 줌. |
왜 엔진 것을 쓰나?
게임이 “한 번 시작할 때” 뭔가 하려면, 엔진이 정해 둔 Start() 자리에 우리 코드를 넣어야 합니다. Debug.Log는 엔진이 제공하는 “콘솔 출력” 기능을 가져다 쓰는 것입니다. 우리는 그 안에 넣을 내용만 만듭니다.
📝 실습
1. 프로젝트 생성 (약 5분)
- Unity Hub 실행 → New Project → 2D 템플릿 선택
- Project name:
Tetris입력 → Create project 클릭 - 에디터가 열리면 Scene(읽는 법: 씬), Hierarchy(읽는 법: 하이어러키), Inspector(읽는 법: 인스펙터), Project(읽는 법: 프로젝트), Console(읽는 법: 콘솔) 창이 보임. 안 보이면 Window > Layouts > Default(읽는 법: 윈도우 → 레이아웃스 → 디폴트).
→ 전체 단어 발음은 영어 용어 발음·표기 에 한글 발음(읽는 법)으로 정리되어 있습니다. 발음기호 없이 한글만 보셔도 됩니다.
📌 위치 표기 규칙 (트리)
2~8단계 설명에서 어디를 눌러야 하는지 헷갈리지 않도록, 위치를 아래처럼 트리로 적습니다. 괄호 안이 창 > 항목 > 하위 항목 순서입니다. (규칙 전체: 1단계 - 위치 표기 규칙)
| 표기 | 의미 |
|---|---|
| 상단 씬 탭 | 에디터 맨 위, 씬 이름이 보이는 탭 |
| [Hierarchy > 오브젝트명] | Hierarchy(읽는 법: 하이어러키) 창에서 해당 오브젝트 한 번 클릭 |
| [Hierarchy > 부모 > 자식] | Hierarchy에서 부모를 펼친 뒤 자식 오브젝트 |
| [Inspector > 컴포넌트명 > 필드명] | 오브젝트 선택 시 오른쪽 Inspector(읽는 법: 인스펙터)에서 해당 컴포넌트·필드 |
| [Project > Assets > 폴더 > 파일] | Project(읽는 법: 프로젝트) 창에서 폴더를 연 뒤 해당 파일 |
| [메뉴 > 하위메뉴] | 상단 메뉴바 (File, GameObject, Window 등) |
예: “[Hierarchy > GameBoard > BoardBackground] 선택” = Hierarchy 창에서 GameBoard를 펼치고 BoardBackground를 클릭.
2. 작업 씬 이름 확인 및 저장 (필수)
Unity가 처음 열리면 SimpleScene, SampleScene, Untitled 같은 기본 씬 이름이 붙어 있을 수 있습니다.
지금 작업하는 씬이 이 프로젝트(테트리스)에 맞는 씬인지 반드시 확인하고, 의미 있는 이름으로 저장해야 합니다.
- 상단 씬 탭을 확인하세요. (예:
SampleScene,SimpleScene,Untitled등이 보일 수 있음) - Scenes 폴더 준비: Project 창에서 Assets 안에 Scenes 폴더가 없으면 우클릭 → Create → Folder → 이름:
Scenes - File → Save As (또는 Ctrl + S 후 첫 저장 시 Save As)
- 저장 위치: Assets/Scenes
- 파일 이름:
Tetris(또는TetrisGame) — SimpleScene, SampleScene 같은 이름 그대로 두지 마세요. - Save 클릭
→ 이후 2~8단계를 진행할 때마다 “작업 씬 제차 확인”을 하세요. 매 단계 실습을 시작할 때마다 상단 씬 탭에서 지금 열린 씬이 Tetris인지 다시 한 번 확인하고, Tetris가 아니면 반드시 Tetris로 이름을 변경한 뒤 진행하세요.
📌 씬 이름 변경 방법 (Tetris가 아닐 때)
Tetris가 아닌 씬(SimpleScene, SampleScene, Untitled 등)으로 작업 중이면 반드시 Tetris로 바꾸세요. 아래 중 한 가지 방법으로 Tetris로 변경합니다.
방법 A: 이미 저장된 씬 파일 이름 바꾸기
- [Project > Assets > Scenes] 로 이동한다. (Project 창에서 Assets 클릭 → Scenes 폴더 클릭)
- 이름을 바꿀 씬 파일을 클릭해서 선택한다. (예:
SampleScene,SimpleScene) - F2 키를 누르거나, 우클릭 → Rename 을 선택한다.
- Tetris 라고 입력한 뒤 Enter 로 확정한다.
- 상단 씬 탭에서도 이름이 Tetris로 바뀌었는지 확인한다.
방법 B: 새 이름으로 다시 저장하기
- 메뉴 File → Save As 를 선택한다.
- 저장 위치: Assets/Scenes
- 파일 이름에 Tetris 를 입력한다.
- Save 를 클릭한다.
- (선택) 이전 이름의 씬 파일이 남아 있으면 Project에서 선택 후 Delete 로 삭제해도 된다.
→ 2~8단계 각 단계 문서에도 작업 씬 제차 확인이 있으니, 매 단계마다 씬 이름을 다시 한 번 확인하고 Tetris가 아니면 위 방법 A 또는 방법 B로 Tetris로 맞춰 주세요.
3. Scripts 폴더
- [Project > Assets] 에서 우클릭 → Create > Folder
- 폴더 이름을 Scripts로 변경 (F2 또는 더블클릭). 위치: [Project > Assets > Scripts]
4. 스크립트 만들기
- Scripts 폴더 선택 → 우클릭 → Create > C# Script → 이름 HelloWorld
- HelloWorld.cs 더블클릭해서 열기 → 아래 코드로 전체 교체
📌 Visual Studio에서 “파일만” 열릴 때 → Unity에서 [Assets] → [Open C# Project] 로 열면 됩니다. .sln이 아예 없을 때는 Unity에서 [Edit] → [Preferences] → [External Tools] 로 가서 Regenerate project files 를 누르면 .sln이 생성됩니다. 자세한 순서는 Unity 에디터 사용 가이드 - 스크립트 편집기(Visual Studio)로 열기 참고.
using UnityEngine;
public class HelloWorld : MonoBehaviour
{
void Start()
{
Debug.Log("안녕하세요, Unity!");
}
}
💡 Start() = 게임이 켜질 때 한 번만 실행되는 함수. 여기서 초기화할 때 씁니다.
5. 실행하기
- Hierarchy 빈 공간 우클릭 → Create Empty
- Project에서 HelloWorld.cs를 Hierarchy의 GameObject 위로 드래그 (스크립트 추가)
- 상단 ▶ Play 클릭 → Console 창에 “안녕하세요, Unity!” 나오면 성공
- 다시 ▶ 눌러 정지
✅ 확인
- Console에 “안녕하세요, Unity!” 출력됐나요?
💡 이번 단계 개념
변수 = 값을 넣어 두는 저장소. Start() = 게임 켜질 때 한 번만 실행.
📌 복기: 변수 = 값을 담는 저장소. 한 번에 이해 못했어도 괜찮아요. 변수 문서에서 다시 실습해 보세요.
📖 기초 개념 학습 (복기 → 점진적 실습)
📌 복기로 위 개념을 떠올린 뒤, 아래 기초 개념 문서에서 점진적으로 확장된 실습을 진행하세요. 단계가 올라갈수록 같은 개념이 조금씩 확장되므로, 차근차근 따라 하면 됩니다.
| 개념 문서 | 이번 단계와의 연결 |
|---|---|
| 변수 | 값을 저장하는 저장소. 문서 안 실습으로 변수에 값 넣고 출력해 보기 |
| 게임 루프 | 게임이 반복하는 흐름. Update()가 매 프레임 호출되는지 실습으로 확인 |
| MonoBehaviour | Start() / Update() 용도. Awake·Start·Update 실행 순서 실습 |
📐 이 단계 확장 실습 (전용 씬에서 점진적 연습): 1단계 확장 실습 01 - Start와 변수 출력
→ 단계별 확장 실습 전체 목차: 단계별 확장 실습 (목차)
(더 많은 기초 개념: 개념 설명 목차 — 표에서 항목을 클릭하면 해당 개념 문서로 이동)
📖 기초 개념 학습으로 이어가기
- 개념 실습을 전용 씬에서 단계적으로 하려면: 개념 실습 테스트 환경 가이드 — 프로젝트와 상관없이 씬에서 테스트할 수 있는 환경 구성
- 에디터 사용법이 궁금하면: Unity 에디터 사용 가이드
위 표의 기초 개념 학습을 우선 진행한 뒤, 필요할 때 활용하면 됩니다.