강의

멘토링

커뮤니티

게임 개발

/

게임 프로그래밍

절대강좌! 유니티6 - ECS/DOTS 프로그래밍 마스터클래스

Unity의 차세대 아키텍처인 ECS/DOTS를 기초부터 실무 응용까지 완벽하게 마스터하는 강좌입니다. ECS는 기존 GameObject 방식과 완전히 다른 데이터 지향 프로그래밍으로, 높은 진입장벽 때문에 많은 개발자들이 어려움을 겪고 있습니다. 본 강좌는 이러한 어려움을 해소하기 위해 ECS의 핵심 개념(Entity, Component, System)부터 시작하여, Burst 컴파일러, Job 시스템, Unity Physics 통합까지 단계적으로 학습합니다.

(5.0) 수강평 7개

수강생 76명

난이도 중급이상

수강기한 무제한

  • 이재현

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • 최신 ECS 1.4 API를 활용한 프로그래밍

  • 순수 ECS 환경의 DOTS 프로그래밍 기법

  • Burst 컴파일과 JobSystem의 활용한 Unity Physics

  • UI, Scene, Sound 연동을 위한 Hybrid ECS 활용 기법

Unity ECS로 만드는 고성능 2D 서바이벌 게임 개발

"GameObject로는 1,000 마리가 한계였는데, ECS로는 100,000 마리도 부드럽게 돌아갑니다."


Unity ECS/DOTS는 멀티스레드와 메모리 최적화를 기반으로 하는 Unity의 차세대 개발 방식입니다. 하지만 기존 Unity와 완전히 다른 개념 때문에 독학으로는 배우기 어려운 것이 현실입니다.

이 강좌는 ECS가 처음인 분들을 위해 준비했습니다. Entity-Component-System의 기본 개념부터 시작해서, 실제 게임에서 바로 쓸 수 있는 패턴까지 마스터합니다.

왜 지금 ECS를 배워야 할까요?

  • Unity Technologies는 ECS를 차세대 표준 아키텍처로 밀고 있습니다. Unity 6부터 안정화되었으며, 앞으로 더 많은 프로젝트에서 요구될 기술입니다.


  • ECS는 모바일부터 콘솔까지, 플레이어들은 더 많은 오브젝트, 더 부드러운 프레임, 더 복잡한 시뮬레이션을 가능하게 하는 핵심 기술입니다.

  • 아직 ECS를 제대로 다룰 수 있는 개발자는 많지 않습니다. ECS 개발역량을 갖춘다면 취업 시장에서 큰 경쟁력이 됩니다.

  • ECS는 Unity만의 개념이 아닙니다. Unreal의 Mass Entity System, Bevy Engine 등 다른 엔진과 프레임워크에서도 유사한 패턴이 확산되고 있습니다.

핵심 학습 내용:

  • IComponentData, ISystem, Authoring 패턴


  • Burst 컴파일과 IJobEntity를 활용한 병렬 처리

  • SRP Batcher 설정 및 GPU Instance 활용

  • Unity Physics와 ITriggerEventsJob을 활용한 충돌 처리

  • MonoBehaviour와 ECS를 함께 쓰는 Hybrid 패턴

  • EntityCommandBuffer를 활용한 동적 엔티티 관리 기법

실습 프로젝트는 뱀파이어 서바이벌 스타일 게임으로, 수만 개의 적과 투사체를 동시에 처리하며 ECS의  성능을 체감하도록 구성했습니다. 완강 후에는 바로 여러분의 프로젝트에 ECS를 적용할 수 있습니다.

ECS 기본 개념

  • 방대한 이론 수업 보다는 짧지만 핵심적인 ECS 개념을 학습한 후 바로 실전 코드를 작성하면서 ECS 프로그래밍의 구조를 익힐 수 있도록 합니다.


ECS 기본 사용법

  • 처음에는 Component, System, Authoring을 통한 기본적인 로직 구현부터 시작합니다.

  • Unity Physics를 활용한 충돌 처리 및 최적화 과정이 진행됩니다.

2D 스프라이트 애니메이션 셰이더 제공

  • 순수 ECS에서는 아직 스프라이트 애니메이션을 지원하지 않습니다. 이에 가장 확실한 방법은 셰이더를 활용하는 기법이 최선의 솔루션입니다.

  • ECS에 최적화된 Sprite Offset를 활용하기 위한 완성된 셰이더그래프 제공하고, ECS 환경에서 2D 애니메이션을 구현하는 기법에 대해 학습합니다. (강의에서는 셰이더 그래프 제작 관련한 부분은 다루지 않습니다.)

ECS 전용 모니터링 뷰 활용법

  • ECS개발시 필수적인 모니터링 뷰를 적극 활용해서 정확한 데이터를 확인하면서 진행합니다.

  • Entity Hierarchy 뷰

  • Components 뷰

  • Systems 뷰

  • Archtypes 뷰


최적화를 위한 모니터링

  • 프로파일러에서 IJobEntity를 활용한 Job Worker Thread 활성화를 검증합니다.

Hybrid Batch Group 활성화 여부 검증

  • Frame Debugger에서 Batch가 깨지는 부분이 없는지를 모니터링 하면서 진행합니다.

  • ECS에서는 GPU Instancing은 자동으로 처리하는 반면 Hybrid Batch Group 활성화 여부를 확인하는 과정을 살펴봅니다.

씬 전환 및 시스템 초기화

ECS에서 씬 전환 역시 까다로운 절차를 거쳐야 합니다. Monobehaviour에서 씬 로딩 과정에서는 언로드한 씬 객체는 자동으로 정리되지만 ECS는 직접 수동 처리해야 합니다.


  • 메인 메뉴 씬으로 전환 로직 구현

  • 재 시작 로직을 구현

수강 후에는

  • 실무에 즉시 투입 가능한 ECS 역량

    • 완전히 동작하는 게임 프로젝트 포트폴리오

    • ECS 설계 패턴과 Best Practice 체득

    • 성능 문제 분석 및 해결 능력 (Frame Debugger, Profiler 분석)


  • 차별화된 기술 스택 습득

    • Unity ECS/DOTS 전문성 - 아직 희소한 개발자 풀

    • Burst와 Job System 최적화 경험

    • 데이터 지향 프로그래밍 사고방식


  • 확장 가능한 게임 아키텍처

    • 수천~수만 엔티티를 거뜬히 처리하는 구조

    • 멀티플레이어, 대규모 시뮬레이션 등 다양한 장르 적용 가능 (Netcode for Entities)

학습 난이도를 서서히 올릴 수 있는 최적의 커리큘럼을 개발하기 위해 약 30여 샘플 프로젝트를 거처 준비한 강좌입니다. 이에 여러분들이 ECS 개발 환경을 학습하시는데 어려움이 없으실 것으로 생각합니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 : Windows, macOS

  • Unity 6 (6000.2.10f1 이상)

  • IDE : Visual Studio 2022 또는 Rider 권장

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Unity 기본기는 있지만 성능 최적화가 필요한 개발자

  • 대규모 오브젝트를 다루는 게임을 만들고 싶은 분

  • Unity의 최신 기술 스택을 배우고 싶은 분

  • 취업/이직을 위해 경쟁력을 갖추고 싶은 분

선수 지식,
필요할까요?

  • C# 기초 문법 (클래스, 구조체, 인터페이스)

  • Unity 기본 사용법 (GameObject, Component, Scene)

안녕하세요
입니다.

566

수강생

47

수강평

49

답변

4.9

강의 평점

7

강의

안녕하세요, 이재현입니다.

1인 게임 개발자를 꿈꾸며 유니티를 독학으로 시작했고, 2009년부터 2012년 까지 1인 개발로 모바일 게임 10여종을 출시했습니다. 절대강좌! 유니티 출간 및 오프라인 강의를 진행했습니다. 강의를 진행하면서, 잘 아는 것과 잘 가르치는 것은 다르다는 사실을 매번 깨닫고 있습니다. 이러한 경험을 바탕으로, 제가 가진 지식을 여러분들께 더 효과적으로 전달하기 위해 늘 노력하고 있습니다.

이번 강의가 여러분께 좋은 출발점이 되어, 즐거운 게임 개발자의 세계로 나아가는 데 작은 보탬이 되기를 기원합니다. ~


주요 강의 이력

  • 패스트캠퍼스 - 유니티 캠프 1기 ~ 8기

  • 팀 스파르타 온라인 튜터

  • T아카데미

  • NHN 엔터테인먼트

  • 넷마블 게임아카데미

  • ETRI (한국전자통신연구원)

  • 한콘진, 경콘진, 성남산업진흥원

  • KAIST, 서강대, 중앙대, 한성대, 단국대 특강

주요 활동

  • 절대강좌! 유니티 집필 (일본, 중국 출판)

  • 유니티 UNITE 2014 세션 특강

  • 유니티 UNITE 2018 핸드온 세션 특강

  • 유니티 인더스트리 2022 핸드온 세션 특강

  • 유니티 코리아 공인 마스터스 2기부터 5기까지 활동

     

 

커리큘럼

전체

27개 ∙ (6시간 6분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

7개

5.0

7개의 수강평

  • 김성관님의 프로필 이미지
    김성관

    수강평 33

    평균 평점 3.6

    5

    100% 수강 후 작성

    기존의 어떤 강의보다도 어렵습니다. 새로운 개념이 엄청 많이 나옵니다. 반복을 해봐야할 것 같습니다. 새로운 개념을 알아서 좋았습니다.

    • 이재현
      지식공유자

      정말 빠르게 완강하셨습니다.~ 기존의 개발 방식과는 전혀 다른 방식이라서 많이 어려우셨을 것 같습니다. 조그만 로직부터 ECS로 전환해 보시는 실습을 해보시면 분명 도움이 되실것으로 생각합니다.

  • 김광일님의 프로필 이미지
    김광일

    수강평 1

    평균 평점 5.0

    5

    33% 수강 후 작성

    • 꿈꾸는 여우님의 프로필 이미지
      꿈꾸는 여우

      수강평 2

      평균 평점 5.0

      5

      33% 수강 후 작성

      • 류학림님의 프로필 이미지
        류학림

        수강평 4

        평균 평점 4.5

        5

        100% 수강 후 작성

        ECS/DOTS를 처음으로 실습해 보았습니다! 이론적으로 모든 것을 다루지 않지만 ECS가 어떤 것인지 확실 하게 알수 있는 시간 이였습니다. 다른 학습자 분들도 완강 이후 여러 기능들에 대해서는 Unity의 공식문서를 통하여 학습하면 큰 도움이 될 것 같습니다. 완강 후에 복습과 자습겸으로 스크립트를 수정해 보았는데 다른 학습자 분들도 도전해 보시면 좋겠다고 생각 합니다! 좋은 강의 감사합니다!!!! --- [복습 및 자습] 1. Movement System PlayerMovementSystem와 ProjectileMovementSystem에 IJobEntity기반으로 동작하게 리팩토링 하여 Burst컴파일 효율을 높이고 병렬 처리가 가능하게 수정 하였습니다. - PlayerMovementSystem은 단일 엔티티 이지만 다른 것들과 일관성을 유지 하는게 좋을 것 같아서 Job구조를 추가 하였고 로직 전체가 Burst컴파일 되도록 보장 하였습니다. - ProjectileMovementSystem의 foreach루프를 제거하고 ScheduleParallel를 사용해서 다수의 발사체가 동시에 이동시 워크쓰레드를 효율적으로 사용하게 수정 하였습니다. 2. HP Bar System PlayerHpBarSystem와 EnemyHpBarSystem에서 ComponentLookup.DidChange() 체크를 추가 하였고 PlayerComponent와 EnemyComponent의 데이터가 실제로 변경된 경우에만 FillAmount를 계산하게 수정 하였습니다. 3. Collision ProjectileCollisionSystem에서 수동으로 EntityCommandBuffer를 생성하고 Job완료 대기시 하였던 Complete, Playback를 EndFixedStepSimulationEntityCommandBufferSystem를 사용하는 방식으로 수정 하였습니다. 4. Audio 마지막 효과음 구현까지 완료 후 메인씬에서 게임씬으로 이동시 AudioManager에서 엔티티가 즉시 생성되지 않아서 에러가 발생하고 있는거 같습니다. 때문에 다른 System스크립트들에서 했던 것 처럼 (audioBufferEntity == Entity.Null || !entityManager.Exists(audioBufferEntity)) 를 체크 하여 Update에서 엔티티 존재 여부를 확인 후 재생 할 수 있게 수정 하였습니다.

        • 이재현
          지식공유자

          소중한 강의 후기 감사합니다. ~ 자세한 리팩토링 과정까지 소개해주셔서 다른 분들에게도 많은 도움이 될 것 같습니다.

      • loadran님의 프로필 이미지
        loadran

        수강평 1

        평균 평점 5.0

        5

        100% 수강 후 작성

        월 ₩19,800

        5개월 할부 시

        ₩99,000

        이재현님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!