dots 3

[Unity] DOTS 개념 정리: Struct 구조 변경, ECB 사용법 등

개발하다 보니 이런 에러가 떴습니다.InvalidOperationException: System.InvalidOperationException: Structural changes are not allowed while iterating over entities. Please use EntityCommandBuffer instead. 이런 에러는 왜 뜨는 것일까요..? 정답은 Struct 구조를 멀티스레드 환경에서 변경하려고 했기 때문입니다.Unity DOTS를 사용하다 보면 자주 마주치는 개념들 — Struct 구조 변경, EntityCommandBuffer(ECB), WithEntityAccess, 그리고 BurstCompile 관련 디버깅 팁까지 헷갈리는 포인트들을 정리해봤습니다.🔧 1. 구조 변경..

Unity 2025.04.23

[Unity] DOTS 실전 개념 정리 - Tag, EnableableComponent, CompanionLink 이해하기

Unity DOTS를 공부하다 보면 구조 자체는 단순하게 느껴지지만, 막상 직접 사용해 보면 쉽게 이해되지 않는 개념들이 자주 등장합니다.특히 Tag Component, EnableableComponent, CompanionLink의 동작 방식 등은 처음 접하는 입장에서 혼란을 주기 쉽습니다. 게다가 C#에서 갑자기 EntityQuery 쿼리문 같은 문법이 등장한다는 점도 당황스럽습니다.Enumerable.Where()처럼 LINQ를 통해 간접적으로 쿼리 비슷한 경험을 해본 적은 있어도, ECS 구조에서 직접 쿼리를 날리는 방식은 낯설게 느껴질 수밖에 없습니다.이번 글에서는 이러한 DOTS의 핵심 개념들을 실전 위주로 정리해 보겠습니다.1. 태그(Tag Component)는 GameObject의 Tag와..

Unity 2025.04.23

[Unity] DOTS 이해하기

Unity의 차세대 퍼포먼스 시스템인 DOTS(Data-Oriented Technology Stack)는 대규모 게임 개발에서 성능을 획기적으로 향상시켜주는 기술입니다.✅ DOTS란?DOTS는 Data-Oriented Technology Stack의 약자로, Unity에서 성능 중심으로 설계된 기술 스택입니다. 주요 구성 요소는 다음과 같습니다.ECS (Entity Component System)Burst CompilerUnity PhysicsNetCode (Network)이러한 기술들은 특히 RTS 게임, 대규모 멀티플레이어 게임처럼 많은 유닛을 빠르게 처리해야 하는 상황에서 매우 효과적입니다.🧱 ECS란?ECS는 다음과 같은 구조로 이루어져 있습니다:Entity: ID만 존재하는 빈 껍데기입니다. ..

Unity 2025.04.08