본문 바로가기

언리얼엔진

언리얼: Build.cs에서 디렉터리 존재유무 확인하기 언리얼 엔진 플러그인 개발시 다른 플러그인에 종속성을 갖는 것은 자주 생기는 일입니다. 모듈의 Build.cs에서 다른 모듈을 디펜던시에 추가함으로써 라이브러리를 가져다 사용할 수 있게 되는데요, 만약 종속성이 생겨야 하는 모듈이 존재하지 않을 수도 있다면 어떻게 처리해야할까요? 엔진 단에서 직접적인 기능을 제공하지는 않지만, 간접적으로나마 몇 가지 사항을 체크하여 동적으로 종속성의 판단을 수행할 수 있습니다. 다만 동적이라고 표현되었지만 빌드 스크립트에서 지정해 컴파일 타임에 진행된다는 점을 유의해야 합니다. 플러그인이 설치되었는지 몇 가지 단서가 존재할 수 있는데요. 1. 설치된 엔진에 플러그인이 존재하는지 or 프로젝트에 플러그인이 존재하는지 2. 현재 프로젝트에 플러그인이 활성화 되었는지 3. 적.. 더보기
언리얼: Module Chronicle 1 - 모듈의 이해 이 아티클은 언리얼 엔진을 파악해 가는 단계에 계신 독자를 위해 풀어 쓰여진 글입니다. 직관적이고 쉬운 전달을 위해 풀어 쓰는 과정을 거치다보니, 일부 전달이 매끄럽지 못한 부분이 있을 수 있습니다. 이해가 어렵거나 잘못된 내용을 발견하시면 다음 독자를 위해 한 말씀 부탁드립니다. 감사합니다. 서론 언리얼 엔진은 수 백개가 넘는 수의 모듈로 구성되어 있습니다. 언리얼 엔진은 왜 이렇게 많은 수의 모듈로 분리하여 엔진을 관리하고 있을까요? 모듈 형태로 코드를 관리하는 전략은 수 많은 장단점을 갖고 있겠지만, 언리얼 엔진이 주목했을 것으로 보이는 장점은 다음과 같습니다. 컴파일과 링킹에 소요되는 시간 절약 사용할 모듈만 배포하여 필요한 사이즈의 바이너리 생성 런타임에서 필요할 때 동적으로 적재 가능 간편한 .. 더보기
EOS: 리더보드 예제 런타임 Assertion 에러 발생 ConvertUnixTimestampToUTCString 함수의 113라인 std::wstring DateTimeStrW() 에서 Assert를 통과하지 못하고 에러가 생기는 경우가 발생한다. 원인 탐색이 귀찮은 관계로 그냥 Leaderboard.cpp 호출부를 코멘트 아웃함. 로깅할 때만 쓰길래... 잘 받아온다. 더보기