시작

Unity

작성일 2026.06.25 수정일 2026.06.25 조회 59

기본 정보


개요

Unity는 전 세계에서 가장 널리 사용되는 게임 엔진 중 하나로, 2D·3D 게임뿐만 아니라 VR, AR, 시뮬레이션, 디지털 트윈, 산업용 애플리케이션 개발에도 사용된다.

특히 인디 게임과 모바일 게임 시장에서 강력한 점유율을 가지고 있으며, C# 언어를 사용하여 개발한다.

대표 게임으로는 Pokémon GO, Hearthstone, Among Us 등이 있다.


Unity 구조

Scene

↓

GameObject

↓

Component

↓

Script(C#)

↓

Game Logic

핵심 개념

Scene

게임의 하나의 화면 또는 맵이다.

예시

MainMenu

GameScene

ShopScene

BattleScene

GameObject

Unity의 모든 객체는 GameObject로 구성된다.

Player

Enemy

Camera

UI

Item

Component

GameObject에 기능을 추가하는 요소이다.

Transform

RigidBody

Collider

AudioSource

Script

Unity 계층 구조

Scene

├─ Main Camera
├─ Directional Light
├─ Player
├─ Enemy
└─ UI

Transform

모든 GameObject가 기본적으로 가지는 컴포넌트

Position

Rotation

Scale

C# 스크립트

using UnityEngine;

public class Player : MonoBehaviour
{
    void Start()
    {
        Debug.Log("게임 시작");
    }

    void Update()
    {
        Debug.Log("매 프레임 실행");
    }
}

Start()

게임 시작 시 1회 실행

void Start()
{
}

Update()

매 프레임 실행

void Update()
{
}

60FPS라면 초당 60번 호출된다.


FixedUpdate()

물리 연산 전용

void FixedUpdate()
{
}

Rigidbody

물리 엔진 적용

중력

충돌

힘 적용

Collider

충돌 판정

대표 종류

  • Box Collider
  • Sphere Collider
  • Capsule Collider
  • Mesh Collider

입력 처리

if(Input.GetKeyDown(KeyCode.Space))
{
    Jump();
}

Prefab

재사용 가능한 객체

Enemy

↓

Prefab

↓

100개 생성 가능

UI 시스템

구성 요소

  • Canvas
  • Button
  • Text
  • Image
  • Slider
  • InputField

애니메이션

구성 요소

Animator

Animation Clip

State Machine

NavMesh

AI 이동 시스템

NPC

↓

NavMesh

↓

자동 경로 탐색

A* 알고리즘 개념이 내부적으로 활용된다.


ScriptableObject

데이터 관리용 객체

ItemData

MonsterData

SkillData

대규모 프로젝트에서 자주 사용된다.


씬 전환

using UnityEngine.SceneManagement;

SceneManager.LoadScene(
    "GameScene"
);

코루틴(Coroutine)

비동기 처리

IEnumerator Wait()
{
    yield return new WaitForSeconds(3);
}

모바일 게임 개발

Unity의 대표 활용 분야

Android

iOS

↓

Unity

↓

APK

IPA

플랫폼 지원

  • Windows
  • macOS
  • Linux
  • Android
  • iOS
  • WebGL
  • VR
  • AR
  • 콘솔

Unity와 Unreal 비교

UnityUnreal Engine
C#C++
진입장벽 낮음상대적으로 높음
모바일 강세AAA 게임 강세
인디 개발자 인기대형 게임사 선호
빠른 프로토타입고품질 그래픽

Unity와 Godot 비교

UnityGodot
상용 엔진오픈소스
에셋 스토어 강력생태계 성장 중
기업 사용 많음인디 중심
C# 지원GDScript 중심

대표 활용 분야

  • 모바일 게임
  • PC 게임
  • VR
  • AR
  • 시뮬레이션
  • 교육 콘텐츠
  • 디지털 트윈
  • 메타버스

구름님의 활용 사례

과거 대화 기준으로 구름님은 현재:

  • 머지 게임 개발 진행 중
  • C# 기반 Unity 사용
  • 수집형 + Merge 장르 기획
  • 동료 시스템 설계
  • ScriptableObject 활용 가능성 높음
  • 모바일(Android) 출시 방향 검토 중

따라서 우선순위는 다음과 같다.

Unity 기초

↓

Prefab

↓

UI

↓

ScriptableObject

↓

Addressables

↓

최적화

↓

출시

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • C# 이벤트 적극 활용
  • Update 남용 금지
  • Object Pooling 적용
  • ScriptableObject 사용
  • Addressables 적용
  • MVC 또는 MVVM 구조 고려
  • 모바일 최적화 우선
  • GC 발생 최소화
  • 싱글톤 남용 금지
  • Git으로 버전 관리

Unity와 함께 사용하는 기술


대표 개발 도구


관련 문서


출처

  • Unity 공식 문서
  • Unity Learn
  • Unity Manual