brand

QUICK
MENU

홈 › 정보 › 게임 › 툴·엔진

유니티(Unity) 최적화 기본

게임을 만들다 보면 처음에는 잘 돌아가던 프로젝트가 오브젝트가 늘어날수록 끊기기 시작합니다. 특히 모바일 기기에서는 같은 게임도 훨씬 무겁게 느껴집니다. 최적화는 감으로 하는 일이 아니라 원인을 측정하고 하나씩 줄이는 일입니다. 이 글은 유니티에서 최적화를 시작할 때 알아야 할 기본기를 다룹니다.

먼저 측정하기: 프로파일러

최적화의 첫 원칙은 추측하지 말고 측정하라는 것입니다. 유니티에는 프로파일러(Profiler)라는 도구가 있어 한 프레임 안에서 CPU, GPU, 메모리가 각각 얼마나 쓰이는지 그래프로 보여 줍니다. 렌더링이 문제인지, 스크립트가 문제인지, 물리 계산이 문제인지를 여기서 먼저 구분합니다.

에디터에서 측정한 결과는 실제 기기와 다를 수 있습니다. 모바일 게임이라면 개발용 빌드를 기기에 설치하고 프로파일러를 연결해 실제 환경에서 확인하는 것이 정확합니다.

렌더링 최적화: 드로우콜 줄이기

드로우콜(Draw Call)은 CPU가 GPU에게 무언가를 그리라고 보내는 명령입니다. 명령 수가 많을수록 CPU 부담이 커집니다. 화면에 보이는 오브젝트와 재질 종류가 많을 때 드로우콜이 늘어납니다.

  • 움직이지 않는 배경 오브젝트는 Static으로 설정해 묶어 그리기(배칭) 대상이 되게 합니다.
  • 같은 재질을 여러 오브젝트가 함께 쓰도록 텍스처를 한 장에 모읍니다. 이를 텍스처 아틀라스라고 합니다.
  • 같은 모델이 많이 반복되면 GPU 인스턴싱을 켭니다.
  • 멀리 있는 물체는 LOD(Level of Detail) 그룹으로 단순한 모델로 바꿔 그립니다.
  • 벽 뒤에 가려져 안 보이는 물체는 오클루전 컬링으로 그리지 않게 합니다.

Frame Debugger를 열면 한 프레임이 어떤 순서로 그려지는지 단계별로 볼 수 있어 불필요한 그리기 작업을 찾기 쉽습니다.

유니티(Unity) 최적화 기본 혼자 배우다 막혔다면, 수업으로 체계적으로과정 상담 →

스크립트 최적화: 매 프레임 하는 일 줄이기

Update 함수 안의 코드는 1초에도 수십 번 실행됩니다. 여기서 GetComponent나 오브젝트 검색(Find)을 반복하면 작은 비용이 쌓여 큰 부담이 됩니다. 필요한 참조는 시작할 때 한 번 가져와 저장해 둡니다.

가비지 컬렉션(GC)도 주의해야 합니다. 가비지 컬렉션은 쓰지 않는 메모리를 자동으로 정리하는 기능인데, 정리하는 순간 게임이 잠깐 멈칫할 수 있습니다. 매 프레임 문자열을 합치거나 새 리스트를 만드는 코드를 줄이고, 자주 생겼다 사라지는 오브젝트는 오브젝트 풀로 재사용하면 이런 멈춤을 줄일 수 있습니다.

메모리와 리소스 관리

대상확인할 점
텍스처실제 화면 크기에 비해 해상도가 너무 크지 않은지, 플랫폼에 맞는 압축 형식을 썼는지
오디오긴 배경음은 스트리밍, 짧은 효과음은 메모리에 올리는 식으로 설정을 나눴는지
모델보이지 않는 면이나 지나치게 촘촘한 폴리곤이 없는지
씬쓰지 않는 리소스가 계속 메모리에 남아 있지 않은지

텍스처는 메모리를 가장 많이 차지하는 경우가 많습니다. 모바일에서 작게 보이는 아이콘에 큰 이미지를 그대로 쓰는 일이 흔하니 임포트 설정의 최대 크기부터 점검해 보세요.

최적화는 언제 하나

개발 초반부터 모든 코드를 최적화하려고 하면 진도가 나가지 않습니다. 기능을 먼저 완성하고, 목표 기기에서 정기적으로 측정하다가 기준보다 느려지는 지점에서 원인을 찾아 고치는 방식이 현실적입니다. 다만 오브젝트 풀이나 참조 저장처럼 처음부터 지켜도 부담이 없는 습관은 미리 들여 두는 것이 좋습니다.

목표를 정해 두면 판단이 쉬워집니다. 예를 들어 우리 게임은 어떤 기기에서 어느 정도 프레임을 유지한다는 기준을 팀이 함께 정하고, 그 기준 아래로 떨어지는 장면만 집중해서 고치는 식입니다. 기준이 없으면 끝없이 최적화만 하다가 일정이 밀리기 쉽습니다.

관련 수업 안내

SBS아카데미게임학원 유니티3D(Unity) 과정은 오브젝트 풀, 렌더링, 셰이더 등 엔진 고급 내용을 다루고 포트폴리오 제작 단계에서 실제 프로젝트에 적용해 볼 수 있도록 구성되어 있습니다.

자주 묻는 질문

프레임이 떨어지면 가장 먼저 무엇을 보나요?

프로파일러에서 CPU와 GPU 중 어느 쪽이 오래 걸리는지 먼저 확인합니다. 원인 쪽이 정해져야 드로우콜을 줄일지, 스크립트를 고칠지 결정할 수 있습니다.

최적화 경험도 포트폴리오에 넣을 수 있나요?

넣을 수 있습니다. 최적화 전후 프로파일러 화면과 무엇을 바꿨는지 정리하면 문제 해결 능력을 구체적으로 보여 줄 수 있습니다.

이 글과 이어지는 과정

오브젝트 풀과 렌더링 등 이 글의 최적화 기초를 실제 게임 제작 단계에서 적용해 보는 과정입니다.

게임프로그래밍학과

유니티3D(Unity) 과정

전 세계적으로 가장 널리 사용되는 실시간 개발 플랫폼 Unity(유니티)를 활용해 2D·3D 게임부터 인터랙티브 콘텐츠, 메타버스, AR/VR까지 다양한 디지털 콘텐츠를 직접 기획하고 제작하는 실무 중심 프로그램입니다.

강의정원 10명 내외강의시간 2시간 내외교육난이도 Lv.1~5수업 요일·횟수 월수금, 화목금, 격일, 매일
수업 진행 순서

C언어 기초 → C# 게임 로직 → Unity 기능 실습(UI·물리 효과·애니메이션·씬 관리) → 개인·팀 프로젝트 → 포트폴리오 / 단위 수업: 이론·개념 설명 및 강사 시연 → 단계별 개인·팀 실습 및 과제 제작 → 1:1 강사 피드백 및 수정 보완

실습 내용

C언어로 코드를 직접 작성해 보고, Unity에서 C# 스크립트로 게임 규칙과 동작을 구현합니다. 물리 효과, UI 연결, 애니메이션 제어를 넣어 보고, 게임 오브젝트와 씬을 구성해 하나의 게임으로 엮어 봅니다.

강사 피드백 방식

10명 내외 소수 정원 수업으로 진행하며, 실무 강사진이 수강생의 실습 과제·작품·기획서를 1:1로 확인하고 수정·보완 방향을 직접 피드백합니다.

  1. 유니티 초급유니티의 구조와 이해 · 유니티 인터페이스 · 객체 생성 및 컴포넌트 · Scene 구성과 카메라 · Asset의 활용과 객체 이동 · 키보드 입출력 제어 · 물리와 충돌의 이해 · Animation 컨트롤 · 프리팹(Prefab)의 이해와 사용 · Layer와 Tag의 활용 · NGUI와 터치 인터페이스 · 마우스 및 터치 컨트롤 · Scene 제어 및 Popup 제어 · Joint와 2D 물리 · Raycasting과 Picking · 가상 키패드의 제작 · Angry Bird 예제 따라하기 · PC와 모바일 빌드 해보기
  2. 유니티 2D 초급2D 슈팅 게임 프로그래밍 기획 설계 · Scene의 구성과 이동 · 2D Sprite의 출력 · 주인공 출력과 이동 · 배경의 출력과 스크롤 · 2D 물리의 이해와 구현 · 미사일 발사 구현 · 미사일 관리 · 오브젝트 풀(Pool)의 사용 · 적의 생성과 Animator의 활용 · 컨디션 설정으로 상태 변화 · 여러 종류의 적 생성 · 이펙트와 사운드 · 적의 죽음 처리 · 코루틴의 이해(Coroutine) · 매니저를 이용한 적의 관리 · 플레이어의 죽음 처리 · 타이틀, 로비 , 환경설정, 결과화면 처리
  3. 유니티 3D 초급Scene의 구성과 Light · 버텍스(Vertex), 폴리곤, Mesh의 이해 · 텍스쳐(Texture)와 쉐이더(Shader)의 이해 · 3D 공간에서 오브젝트의 이동 · 카메라의 회전과 이동 · Rigidbody를 이용한 물리와 충돌처리 · 본과 리깅의 이해 · Animation(Legacy)의 활용 · Animation(Mecanim)의 활용 · Animation의 제어 및 모션연결 · Animation Event기능과 공격판정 · 엑셀 데이터를 통한 Effect 제어 · 마우스를 이용한 캐릭터 제어 · NavMesh를 이용한 길찾기 · NavAgent 기능을 활용한 AI · Lighting Map · 3D 최적화 방법
  4. 유니티 3D 중급3D 액션 RPG · Scene의 구성과 이동 · 3D 카메라 컨트롤 · 키보드와 가상 키패드로 캐릭터 이동 · Character Controller의 사용 · 적 리소스 추가 및 Spawn 기능 구현 · 무기의 교체 및 애니메이션 · 충돌 처리 및 파티클 생성 · 주인공 점프, 회피, 스킬 등 기능 구현 · 적의 AI 설계 및 FSM의 이해 · 적의 유한상태기계(FSM)의 구현 · 적을 관리하는 매니저 구현 · 적과 주인공의 피격처리 · 점수처리와 PlayerPerfs에 저장 · 보스 몬스터의 구현 · HUD를 통한 UI 구성 · Item과 버프 기능 구현
  5. 유니티 3D 고급 과정 포트폴리오제작 or 1인게임개발제작게임 구상 및 컨셉 기획 · 리소스 수집 · 기본 기능 테스트 및 R&D · 목표 설정 및 일정 관리 · 플레이어 컨트롤 · 레벨 디자인 및 테이블 작업 · 각종 이펙트 및 사운드 적용 · 플레이 데이터 저장 · 타이틀, 로비, 결과화면 등 UI 작업 · 랭킹 , 도전과제 등 구글 API 적용 · PC 및 모바일 빌드 & QA · 백엔드 서버(Parse) DB연동 작업 · 소셜 네트워크 연동 작업

수료 후 결과물 — 수료 결과물(Unity로 만든 개인·팀 프로젝트 포트폴리오), C언어 기초 문법 실습, C# 게임 로직 구현, UI·물리 효과·애니메이션 기능 실습

이어지는 진로 — Unity 게임 개발자, 인터랙티브 콘텐츠 개발, 메타버스·AR/VR 콘텐츠 개발

유니티3D(Unity) 과정 자세히 보기 →

함께 보면 좋은 글

유니티(Unity) 최적화 기본 배우기 무료 상담

유니티3D(Unity) 과정에서 유니티(Unity) 최적화 기본을(를) 어떤 순서로 배우는지 안내해 드립니다.

  • 현재 실력과 목표에 맞는 시작 단계 진단
  • 목표(입시·취업·취미)에 맞춘 학습 로드맵
  • 선배 수강생 포트폴리오 상담 시 열람

전화 상담 010-2135-9730 · 카카오톡 상담 바로가기

빠른 수강료 조회

관심있는 교육과정을 선택해 주세요.(중복 선택 가능)

게임디자인학과

세부 교육과정 (선택)

세부 교육과정 (선택)

세부 교육과정 (선택)

게임개발학과

세부 교육과정 (선택)

세부 교육과정 (선택)

세부 교육과정 (선택)

세부 교육과정 (선택)

웹툰·웹소설학과

세부 교육과정 (선택)

세부 교육과정 (선택)

AI X 크리에이터

세부 교육과정 (선택)

가까운 지점을 선택해주세요.

    신청하시는 분의 이름과 연락처를 입력해 주세요.

    - -
    자세히 보기
    수집 항목: 이름, 연락처, 수강안내 관련 이력
    이용 목적: 수강안내 제공, 관련 이력 관리 및 맞춤형 재안내를 통한 서비스 품질 개선
    보유 기간: 수집일로부터 최대 3년간 보관 후 파기
    닫기

    개인정보처리 방침

    SBS아카데미게임학원은 이용자의 자유와 권리보호를 위해 『개인정보 보호법』 및 관계법령이 정한 바를 준수하여, 적법하게 개인 정보를 처리하고 안전하게 관리하고 있습니다.
    이에 『개인정보 보호법』 제 30조에 따라 이용자에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립∙공개 합니다.


    제1조(개인정보의 처리 목적, 항목 및 보유기간)

    SBS아카데미게임학원은 다음 목적을 위하여 필요한 최소한의 개인정보를 수집·이용하며, 목적 달성 시 또는 보유기간 경과 시 지체 없이 파기합니다. 이용 목적 변경 시에는 법령에 따라 별도의 동의를 받습니다.


    구분 처리 목적 법적 근거 수집 항목 보유·이용 기간
    상담 신청 수강 상담, 문의 응대, 상담이력 관리 개인정보 보호법 제15조 제1항 제1호(동의) 이름, 연락처(휴대전화), 이메일, 상담내용, 상담일시 수집일로부터 3년
    수강생 관리 학사관리, 수강 이력 관리, 계약 이행 개인정보 보호법 제15조 제1항 제4호, 학원법 이름, 연락처, 생년월일, 성별, 주소, 이메일, 수강과정 등 수강 종료 후 5년
    회원 가입 회원관리, 로그인 인증, 서비스 제공 개인정보 보호법 제15조 제1항 제1호(동의) ID, 비밀번호, 이름, 생년월일, 성별, 연락처, 이메일 회원 탈퇴 시까지 (단, 법령에 따름)
    마케팅(선택) 이벤트, 광고성 정보 안내, 만족도 조사 개인정보 보호법 제15조 제1항 제1호(별도 동의) 이름, 연락처, 이메일 동의 철회 또는 1년 후 즉시 파기

    제2조(만 14세 미만 아동의 개인정보 처리)

    SBS아카데미게임학원은 만 14세 미만 아동의 개인정보 수집 시 반드시 법정대리인의 동의를 받습니다. 동의 여부 확인 절차를 별도로 마련하며, 법정대리인의 동의 없이는 수집하지 않습니다.


    제3조(개인정보의 제3자 제공)

    SBS아카데미게임학원은 원칙적으로 정보주체의 동의 없이 개인정보를 외부에 제공하지 않으며, 다음 경우에 한하여 예외적으로 제공합니다.

    • 1. 법령에 따른 제공
    • 2. 정보주체로부터 별도 동의를 받은 경우
    • 3. 급박한 생명·신체·재산상 이익 필요 시

    ※ 현재 SBS아카데미게임학원은 개인정보를 제3자에게 제공하지 않습니다.


    제4조(개인정보 처리 위탁)

    SBS아카데미게임학원은 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.


    수탁자 위탁업무 내용
    (주)코리아교육그룹 고객상담 시스템관리
    재수탁자 위탁업무 내용
    (주)인케이지 서버 및 DB 운영, 보안 관리
    (주)엠노베이션 광고대행, 광고관리, 광고성과 분석

    제5조(개인정보의 파기 절차 및 방법)

    SBS아카데미게임학원은 개인정보 보유기간 경과, 목적 달성 시 지체 없이 파기합니다.

    - 전자적 파일: 복구 불가능한 방식으로 삭제

    - 종이문서: 분쇄 또는 소각

    파기 기록은 내부 규정에 따라 관리하며, 최소 3년 보관 가능합니다.


    제6조(정보주체 권리)

    정보주체는 회사에 대해 다음 권리를 행사할 수 있습니다.

    1. 개인정보 열람 요구

    2. 오류 시 정정 요구

    3. 삭제 요구

    4. 처리정지 요구

    권리 행사는 서면, 이메일, FAX, 홈페이지, 고객센터 등을 통해 요청 가능하며, 코리아교육그룹은 10일 이내에 회신합니다.


    제7조(안전성 확보조치)

    SBS아카데미게임학원은 개인정보 보호를 위해 다음 조치를 시행합니다.

    - 관리적 조치: 내부관리계획 수립, 교육, 정기 감사

    - 기술적 조치: 접근권한 제한, 암호화, 로그기록 보관

    - 물리적 조치: 전산실, 자료보관실 접근 통제


    제8조(녹취 및 CCTV 관리)

    SBS아카데미게임학원은 상담 품질 개선을 위해 유선 상담 시 녹취를 실시할 수 있으며, 상담직원이 고객과의 통화를 직접 녹음하는 경우, 사전 고지 없이 녹음할 수 있습니다. 녹취파일은 1년간 보관 후 파기합니다. 외부 제공은 원칙적으로 금지합니다.


    제9조(개인정보 보호책임자)

    SBS아카데미게임학원은 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보보호책임자를 지정하고 있습니다.

    - 개인정보보호 책임자: 강경훈 원장

    - 연락처: 1588-0376

    - 이메일: [email protected]


    제10조(권익침해 구제방법)

    정보주체는 개인정보 침해 시 아래 기관에 신고·상담할 수 있습니다.

    - 개인정보침해신고센터: 118

    - 개인정보분쟁조정위원회: 1833-6972

    - 대검찰청: 1301

    - 경찰청: 182


    제11조(처리방침 변경)

    - SBS아카데미게임학원은 개인정보처리방침을 개정하는 경우 최소 7일 전에 홈페이지의 공지사항을 통하여 고지할 것 입니다.

    - 본 방침은 2025년 5월 1일 시행되며, 변경 시 홈페이지에 공지합니다.


    Customer Center

    010-2135-9730

    010-2135-9730

    주말·공휴일 상담 및 접수가 가능합니다.

    Top