유니티(4)
-
유니티 에셋 번들 빌드 시간 단축 사례
조금 예전에 작업했던 일이지만.. 잊어버리기 전에 블로그에 적어두면 좋을 것 같아서 한번 써보는 글. 개요 회사에서는 지금 Jenkins로 앱 빌드 및 에셋번들 (패치파일) 빌드를 하고 있다. 보통 간단한 에셋번들 관련 테스트는 매일 아침에 자동으로 빌드되는 결과물들로 잘 사용하지만 가끔씩 내 작업 브랜치에서 변경된 구조로 번들을 뽑아서 확인해봐야 할 때가 있다. 번들 빌드를 한번 새로 뽑을때마다 1시간 30분 정도 소요되었었는데 개발 단계 테스트 할 때마다, 또 이후 QA 테스트 요청 할 때 Windows, iOS, Android 번들을 다 뽑아서 테스트해야 하다보니 시간이 엄청 오래 걸렸고 이거 더 빠르게 할 수 없나?! 하면서 빌드 로직을 조금 손봤었는데 그 과정에 대한 기록이다. 문제점 그때 살펴..
2024.02.01 -
C#의 람다 (익명 함수) 사용 시 주의할 점
1. C# 의 람다는 capture by reference 만 존재한다 internal class Program { static void Main(string[] args) { List actions = new List(10); for (int i = 0; i { Console.WriteLine(i); }); } foreach (Action action in actions) { action.Invoke(); } } } (많이 나오는 주의 사항이라 다들 알고 있을 것 같지만 주의사항 모음이니 추가) C# 의 람다 식을 처음 접한 사람들은 위의 코드를 보고 출력이 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 와 같이 나올 것이라고 예측하는 사람도..
2024.01.03 -
유니티 ScriptedImporter 써보기 2부
1부에서는 ScriptedImporter의 간단한 사용법을 알아봤는데, 2부에서는 이미 Built-in 임포터로 정의되어있는 확장자들을 오버라이드 하는 법을 알아볼거다. 회사에서 현재 진행중인 프로젝트에서는 맵 파일을 bytes 확장자로 저장하고 있는데 해당 bytes 파일은 로드할 때 시간이 좀 걸리는 상황이였다. (로드할 때 TextAsset 으로 로드해서 여러 처리 과정이 있었다. GC도 좀 발생하고..) 이때 확장자를 바꿔서 등록하기에는 몇백개의 맵 파일이 있고, 우리 팀에서 관리하지 않는 툴에서 파일을 수정/저장하고 있었다. 물론 확장자를 바꾸려면 바꿀 수 있는데 그래도 오버라이드가 가능하기 때문에 파일을 많이 바꾸기 싫어서 시도해봤다. ScriptedImporter 오버라이드 해보기 자 먼저 ..
2023.07.14 -
유니티 ScriptedImporter 써보기 1부
회사에서 작업하면서 ScriptedImporter 를 적용해 보면서 자료를 많이 찾아봤었는데 쉽게 나오지 않았어서 다른 사람들도 보고 쉽게 따라할 수 있게 여기에 따로 정리한다. 총 2부로 구성해 볼 예정 1부는 ScriptedImporter 사용법. 2부는 내가 좀 찾는데 시간이 걸렸던 built-in 임포터에서 사용 중인 확장자의 임포터 오버라이드 방법. ScriptedImporter란? ScriptedImporter는 유니티에서 에셋을 임포트하는 AssetImporter를 사용자 정의할 수 있게 만든 클래스다. 이걸 설명하려면 먼저 에셋 임포터에 대해서 설명해야 하는데 알고 있는 사람들은 뒷부분으로 넘어가면 된다. AssetImporter란? 먼저 AssetImporter에 대해서 설명하자면 유니티..
2023.07.13