Programming

Module vs Plugin

Unreal Engine 5에서 모듈(Module)은 엔진의 기능을 제공하고 사용자 코드를 컴파일할 때 사용되는 코드의 단위입니다. 일반적으로 모듈은 클래스, 함수, 매크로 및 기타 코드 요소를 포함합니다. 모듈은 다른 모듈에 의존할 수 있으며, 모듈 간의 종속성 관리가 중요합니다.

반면에 플러그인(Plugin)은 엔진의 기능을 확장하거나 외부 라이브러리를 사용하기 위한 모듈의 집합입니다. 즉, 플러그인은 모듈의 집합입니다. 플러그인은 프로젝트에 추가되어 엔진 또는 게임에서 사용됩니다. 플러그인을 사용하면 특정 기능을 프로젝트에서 쉽게 추가하거나 제거할 수 있습니다. 플러그인은 모듈과 마찬가지로 종속성 관리가 중요합니다.

TSoftObjectPtr vs TWeakObjectPtr

Untitled

**TSoftObjectPtr**과 **TWeakObjectPtr**는 둘 다 UE5에서 객체의 참조를 나타내는 스마트 포인터 클래스입니다. 그러나 두 클래스는 참조 대상이 가비지 컬렉션에 의해 수집될 수 있는 방식에서 차이가 있습니다.

따라서, 객체가 로드된 상태에서 안전하게 참조하고자 하는 경우 **TSoftObjectPtr**을 사용하고, 객체를 로드하지 않고 안전하게 참조하고자 하는 경우 **TWeakObjectPtr**을 사용합니다.

Async Task Graph

UE5에서 Async Task Graph(비동기 작업 그래프)는 비동기 작업을 실행하고 스케줄링하는 데 사용되는 시스템입니다. 이 시스템은 여러 코어에서 작업을 병렬로 실행하며, 작업 그래프를 사용하여 작업 간 종속성을 처리합니다. 예를 들어, 작업 A가 작업 B에 종속되어 있으면, 작업 B가 작업 A가 완료될 때까지 대기합니다. 이를 통해 효율적인 멀티스레딩 작업을 가능하게 하며, 게임 엔진에서 중요한 성능 향상을 이루는 데 사용됩니다. Async Task Graph는 작업에 대한 스케줄링 및 실행을 캡슐화하고, 개발자는 작업의 종속성과 우선순위를 설정하여 실행할 작업의 흐름을 제어할 수 있습니다.

Cheat Manager

Unreal Engine 5에서 Cheat Manager는 게임 플레이 도중 개발자 도구와 같은 디버깅 목적으로 사용되는 기능입니다. Cheat Manager는 게임에서 특정한 단축키나 명령어를 입력하면 실행됩니다. 게임을 실행하는 도중, Cheat Manager를 사용하여 게임 플레이를 수정하거나, 테스트를 수행하거나, 게임 플레이 특정 부분에서 무한 생명력이나 무기, 아이템 등을 제공하는 등의 다양한 작업을 수행할 수 있습니다. Cheat Manager는 게임 플레이를 수정할 수 있는 강력한 기능이므로 게임 개발 중에는 유용하게 사용될 수 있습니다.

Gameplay Ability System

Unreal Engine 5에서 Gameplay Ability System(GAS)은 게임에서 캐릭터의 능력과 상호작용을 구현하기 위한 모듈 중 하나입니다. GAS는 캐릭터의 능력 구현을 위해 유저 인터페이스(UI), AI, 애니메이션 등 다른 시스템들과 쉽게 통합될 수 있도록 설계되어 있습니다.

GAS는 캐릭터의 능력을 블루프린트와 데이터 테이블로 쉽게 설정할 수 있으며, 이를 이용해 능력의 조건, 실행시간 등을 설정할 수 있습니다. 또한, GAS는 캐릭터 간의 상호작용도 쉽게 구현할 수 있으며, 게임 내에서 더욱 다양한 상호작용을 구현할 수 있게 도와줍니다.

Visual Logger

UE5의 Visual Logger는 게임 개발자들이 게임 플레이 중에 발생하는 이벤트나 정보를 기록하고 디버깅할 수 있도록 도와주는 도구입니다. 이를 통해 개발자들은 게임 실행 중에 발생하는 문제를 빠르게 파악하고 해결할 수 있습니다. Visual Logger는 시각적인 인터페이스를 제공하며, 게임 내에서 발생하는 다양한 이벤트를 녹화하고 추적할 수 있습니다. 또한 이러한 로그 데이터를 파일로 저장하거나 다른 도구와 연동하여 분석할 수도 있습니다.

CSV Profiler