[Unity 이슈] Editor에서는 잘 되지만 Build가 안되는 이슈
·
유니티(Unity)/이슈 도감
✍️ 개요  최근에 빌드를 했는데...    위 사진처럼 Package에서 빌드 오류가 발생했습니다. 간혹 빌드 시 일부 스크립트에서 using 구문에서 오류가 발생하곤 합니다. 오늘은 이 부분에 대해서 원인과 해결책을 살펴보도록 하겠습니다.만약 Build 시 아래 오류가 발생한다면 아래 해결책으로 해결될 수 있습니다.  The type or namespace name 'PackageManager' does not exist in the namespace 'UnityEditor'The type or namespace name 'EditorWindow' could not be foundThe type or namespace name 'Editor' does not exist in the namespace ..
[Unity 이슈] Package 파일 참조하는 방법
·
유니티(Unity)/이슈 도감
✍️ 개요  최근에 Custom Package을 만들었는데 위처럼 에셋을 불러오지 못하는 문제를 확인했습니다. AssetDatabase.LoadAssetAtPath 의 경로는 Unity 프로젝트 디렉토리의 루트를 기준으로 하더군요. 그래서 위처럼 절대 경로를 사용하면 안된다는 사실을 깨달았습니다.   📌 해결 방법   AsssetDatabase.LoadAssetAtPath(string path) 메서드를 활용합니다. 루트가 프로젝트 폴더이니 path를 Packages/~로 시작하여 에셋에 접근하면 됩니다. 여기서 중요한 점은, Editor에 표시되는 폴더명이 아니라, pakcage.json에 기재된 패키지명을 적습니다. 잘못된 예 : Packages/DevelopKit/HubTexture.png올바른 ..
[Unity 이슈] InitializeOnLoad 주의 사항
·
유니티(Unity)/이슈 도감
✍️ 개요   이번에 커스텀 패키지를 제작하면서 InitializeOnLoad 어트리뷰트를 사용하면서 시행착오를 많이 겪었죠. InitializeOnLoad를 통해 호출되는 로직은... 매우 조심스럽게 다뤄야 한다는 사실을 뼈저리게 경험했답니다. 지금부터 InitializeOnLoad을 사용할 때 주의할 점을 정리하도록 하겠습니다.      📌 문제 분석  [Unity 이슈] 커스텀 패키지 Addressable 이슈✍️ 개요   [ Custom Package 제작하기 ] [Unity 기능] 커스텀 패키지 제작하기✍️ 개요 유니티를 사용해온 프로그래머라면 사용자 패키지(Custom Package)을 만들고 싶다는 생각이 든 적 있지 않나요?gus6615.tistory.com 이 이슈는 커스탬 패키지를 제..
[Unity 이슈] 커스텀 패키지 Addressable 이슈
·
유니티(Unity)/이슈 도감
✍️ 개요   [ Custom Package 제작하기 ] [Unity 기능] 커스텀 패키지 제작하기✍️ 개요 유니티를 사용해온 프로그래머라면 사용자 패키지(Custom Package)을 만들고 싶다는 생각이 든 적 있지 않나요? 저는 최근에 게임잼이나 신작을 준비할 때마다 빠르게 시작하기 위한 탬gus6615.tistory.com  흐에에에에--! 매우 험난했던 커스텀 패키지 제작기... 사실 이슈가 많았기 때문에 한 번 더 포스팅하도록 하겠습니다. 분명 나처럼 고생하신 분들이 있을거야...      📌 문제 분석  기분 좋게 새로운 프로젝트를 열어서 커스텀 패키지를 설치했어요. 그리고 Sample도 설치해서 잘 작동하는지 확인하는데...     아니... Addressable이 왜 다 빠져있는거임....
[Unity 이슈] 커스텀 패키지 종속성 문제
·
유니티(Unity)/이슈 도감
📌 개요   [ Custom Package 제작하기 ] [Unity 기능] Custom Package 제작하기✍️ 개요  유니티를 사용해온 프로그래머라면 사용자 패키지(Custom Package)을 만들고 싶다는 생각이 든 적 있지 않나요? 저는 최근에 게임잼이나 신작을 준비할 때마다 빠르게 시작하기 위한gus6615.tistory.com  이전에 커스텀 패키지를 만드는 과정을 살펴봤었어요. 그런데 만약 여러분이 스크립트에서 Unity Package Manager을 사용했다면 종속성 문제가 발생했을거예요. 저는 커스텀 패키지에서 Addressable 패키지와 Unitask 패키지를 사용했는데 여기서 문제가 발생했거든요. 그래서 오늘은 종속성 문제를 해결하는 방법에 대해 알아보도록 하겠습니다.     ?..
[Unity] 직렬화가 되지 않는 문제
·
유니티(Unity)/이슈 도감
📌 개요 데이터가 직렬화 되지 않는 문제 해결책① 사용자 정의 클래스에 [Serializable] 속성을 추가했는지 체크② Dictionary 혹은 HashSet을 사용했는지 체크③ Getter/Setter 프로퍼티를 사용했는지 체크   📌 문제 분석 최근에 유저 데이터를 로컬에 저장하는 기능을 구현해봤습니다. 직렬화하여 Json 파일로 데이터를 저장하고 관리하는 작업이었어요. 이미 많이 구현해본 작업이라 빠르게 작업하고 있었는데...      ??? 왜 Json 파일에 Equipment 클래스가 보이지 않는거죠?! 분명 [Serializable] 속성을 붙여서 직렬화를 해줬는데? 과연 원인이 무엇이었을까요?    📌 원인 분석 및 해결책   정답은... Getter 프로퍼티가 원인이었습니다! Ge..
[Unity] SpriteAtlas GetSprite 함수가 동작하지 않는 문제
·
유니티(Unity)/이슈 도감
📌 개요 SpriteAtlas GetSprite 함수가 동작하지 않는 문제 해결책① GetSprite(string name)의 함수 인자가 Packed Sprite Name과 동일한지 체크② Project Settings - Editor - Mode 값이 Sprite Atlas V2 - Enabled 인지 체크   📌 문제 분석 private Sprite GetSprite(AtlasType atlasType, int id){ if (_loadedAtlasTypeDict.TryGetValue(atlasType, out SpriteAtlas atlas)) { return atlas.GetSprite($"{atlasType}_{id}"); } else { ..
[Unity] 마우스 좌표와 월드 좌표 변환 주의 사항
·
유니티(Unity)/이슈 도감
📌 개요 ScreenToWorldPoint 을 사용하여 객체를 생성했는데 객체가 보이지 않는 문제해결책① Input.mousePosition.z 값을 0 혹은 Mathf.Abs(Camera.main.transform.position.z)으로 설정   📌 문제 상황 private void Update(){ if (Input.GetMouseButtonDown(0)) { Vector3 mousePos = Input.mousePosition; CreateJemView(_camera.ScreenToWorldPoint(mousePos)); }} 코드 설명마우스 입력을 받아 [ mousePos ] 변수에 값을 저장[ mousePos ] 을 월드 좌표계로 변환하여 광물 생성..