
- 기획자가 Google Sheet를 수정할 때마다 개발자가 수동으로 데이터를 추가하는 과정은 번거로웠다. 이에 시트 수정 시 재빌드 없이 바로 테스트할 수 있도록 기능 개발을 시작했다.
- 기획자가 시트 데이터를 수정할 때마다 Unity에서 다시 빌드해야 하는 과정은 반복될수록 피로도가 높고 비효율적이었다.
- 재빌드 없이 실시간으로 엑셀 데이터를 불러올 수 있도록 UGS 라이브러리를 활용해 기반을 설계했다.
public void LoadItemDataFromGoogle() { UGS.UnityGoogleSheet.LoadFromGoogle<int, MagicShop.ItemData>((list, map) => { foreach (var data in list) { Addressables.LoadAssetAsync<Sprite>($"03. Images/{data.iconResources}").Completed += (obj) => { Sprite iconSprite = obj.Result; gameDatabase.items.Add(new ItemData(data.itemID, data.itemName, data.itemCategory, iconSprite, data.explanation, data.pathMain, data.pathSub)); Addressables.Release(obj); }; } }); }
- 기획자가 시트에 원하는 아이콘 이름을 입력하면, 해당 이미지를 자동으로 찾아 데이터에 적용할 수 있도록 Addressables를 활용해 설계했다.
| 기능 | 장점 | 단점 |
|---|---|---|
| Resources | - 사용이 간단하고 빠르게 구현 가능 | - 빌드 사이즈가 크고 최적화 제한적 |
| Asset Bundle | - 필요한 에셋만 로드하여 최적화 가능 | - 사용이 어렵고 하드코딩 문제 발생 가능 |
| Addressable Asset | - 에셋 빌드와 배포의 단순화 | - 초기 설정에 익숙해지는 데 시간이 걸림 |
https://shlifedev.gitbook.io/unitygooglesheets
https://titathecheese.tistory.com/136
https://www.youtube.com/watch?v=GsKofci_HSg&t
이거 완전 획기(기획)적이네요 😏