분류 전체보기 썸네일형 리스트형 언리얼: C++ 클래스 추가시 자동 컴파일 해제 언리얼 엔진 에디터에서 C++ 클래스를 추가하면 자동으로 컴파일을 시도합니다. 여러 클래스를 추가하려는 경우 빌드에서 소모되는 CPU 자원과 인터벌에 불만이 생길 때가 생깁니다. 상단 메뉴의 편집 - 에디터 개인설정 - 기타 메뉴에서 C++ 자동 컴파일 옵션을 끌 수 있습니다. 더보기 Unity: 플러그인에 사용하기엔 계륵같은 존재, UI Toolkit 작년 3,4분기에 열심히 개발하던 AssetLens라는 이름의 종속성 탐지 기능이 중점인 플러그인이 있습니다. 지금도 작게나마 관리중이지만, 플러그인의 특성상 다양한 버전의 유니티 에디터를 지원해야하는 어려움에 부딪혀 점차 개발속도가 느려지다 끝내 소소한 버그픽스만 진행하고 있습니다. 가장 큰 문제는 한 번만 작업하고도 여러 버전의 에디터를 동시에 지원하고 싶은 욕심이 불러온 복잡한 개발 파이프라인입니다. GitHub - seonghwan-dev/AssetLens: Asset Lens : Unity asset reference management utility working in background. 에디터 백그 Asset Lens : Unity asset reference management utili.. 더보기 문제해결: 5. 코딩 테스트 안내 메일 콘텐츠가 안 보일 때 저는 Protonmail을 사용하고 있는데요, 일부 수신확인 스크립트나 콘텐츠 로딩을 자동으로 블록합니다. 사생활 보호를 위한 기능이고 수동으로 콘텐츠 로딩 시도가 가능하지만, 이번 케이스에서는 제대로 보이지 않네요. 아래 로드되지 못한 부분에 무언가 내용이 있을 듯 해 보입니다. PC에서는 이런저런 시도를 해 보아도 확인할 수 없어 어떤 내용일까 고민하다가 휴대전화의 Proton Mail 앱으로 확인해보니 제대로 로드가 됩니다. 모바일 앱으로 확인하면 내용을 확인할 수 있습니다. 제때 확인하지 못하고 대수롭지 않게 넘겼더라면, 채용담당자분께 또 전화를 하도록 만들 뻔 했습니다. 이번 사건을 계기로 ProtonMail 사용하는 것을 다시 한 번 재고해보아야 겠다는 생각을 했습니다. 더보기 언리얼: Build.cs에서 디렉터리 존재유무 확인하기 언리얼 엔진 플러그인 개발시 다른 플러그인에 종속성을 갖는 것은 자주 생기는 일입니다. 모듈의 Build.cs에서 다른 모듈을 디펜던시에 추가함으로써 라이브러리를 가져다 사용할 수 있게 되는데요, 만약 종속성이 생겨야 하는 모듈이 존재하지 않을 수도 있다면 어떻게 처리해야할까요? 엔진 단에서 직접적인 기능을 제공하지는 않지만, 간접적으로나마 몇 가지 사항을 체크하여 동적으로 종속성의 판단을 수행할 수 있습니다. 다만 동적이라고 표현되었지만 빌드 스크립트에서 지정해 컴파일 타임에 진행된다는 점을 유의해야 합니다. 플러그인이 설치되었는지 몇 가지 단서가 존재할 수 있는데요. 1. 설치된 엔진에 플러그인이 존재하는지 or 프로젝트에 플러그인이 존재하는지 2. 현재 프로젝트에 플러그인이 활성화 되었는지 3. 적.. 더보기 언리얼: Module Chronicle 1 - 모듈의 이해 이 아티클은 언리얼 엔진을 파악해 가는 단계에 계신 독자를 위해 풀어 쓰여진 글입니다. 직관적이고 쉬운 전달을 위해 풀어 쓰는 과정을 거치다보니, 일부 전달이 매끄럽지 못한 부분이 있을 수 있습니다. 이해가 어렵거나 잘못된 내용을 발견하시면 다음 독자를 위해 한 말씀 부탁드립니다. 감사합니다. 서론 언리얼 엔진은 수 백개가 넘는 수의 모듈로 구성되어 있습니다. 언리얼 엔진은 왜 이렇게 많은 수의 모듈로 분리하여 엔진을 관리하고 있을까요? 모듈 형태로 코드를 관리하는 전략은 수 많은 장단점을 갖고 있겠지만, 언리얼 엔진이 주목했을 것으로 보이는 장점은 다음과 같습니다. 컴파일과 링킹에 소요되는 시간 절약 사용할 모듈만 배포하여 필요한 사이즈의 바이너리 생성 런타임에서 필요할 때 동적으로 적재 가능 간편한 .. 더보기 Unity: 어드레서블, 아마존 웹 서비스 AWS S3 403 Access Denied 문제 해결 퍼블릭 액세스도 허용하고 별 다른 이슈가 없는 것 같았는데, 버킷의 정책을 설정해주지 않아서 생긴 문제였다. { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::내버킷이름/*" } ] } 으로 정책을 지정해주니 publicly accessible 라벨이 붙으면서 어드레서블에서 접근할 수 있게 된다. 더보기 Unity: 플랫폼 별 미리 지정된 Path 유니티 에디터 Application.dataPath : 프로젝트경로/Assets Application.persistentDataPath : Appdata/LocalLow/${CompanyName}/${ProductName} Application.streamingAssetsPath : 프로젝트경로/StreamingAssets 윈도우 스탠드어론 Application.dataPath : .exe 경로/exe_Data Application.persistentDataPath : Appdata/LocalLow/${CompanyName}/${ProductName} Application.streamingAssetsPath : .exe 경로/exe_Data/StreamingAssets 더보기 Rider: 네임스페이스 이동 리팩토링하기 Rider는 강력한 리팩토링 기능을 제공합니다. 가장 흔히 사용되는 Rename부터, 리팩토링 과정에서 자주 사용되는 방식을 편하게 작업해줍니다. 네임스페이스를 변경하는 것이 아니라, 다른 네임스페이스로 옮겨야 하는 작업이 발생했고, Rider의 기능으로 손쉽게 해결하였습니다. Refactor this - Move type to another namespace - Specify new namespace 이 클래스를 사용하는 모든 곳에서 상단 네임스페이스가 자동으로 추가됩니다. 이 InputEvents 클래스는 총 31곳에서 사용되고 있는데, 모두 안정적으로 ACF.Client.Event 네임스페이스가 using으로 추가되었습니다. 더보기 이전 1 2 3 4 5 6 ··· 12 다음