이번에는 패치 다운로드를 하나씩 차근차근 만들어 볼 예정입니다. 우선 이번 편에는 간단하게 패치파일을 AssetBundle로 만들어보고 패치 리스트를 json으로 관리하는 것을 차근차근 구현해 볼 예정입니다. 실제 프로젝트에서는 AssetBundle 이외에 다른 방식을 이용하기도 하고 json 외에도 csv, tsv, xml 등등 패치 리스트를 관리하는 다른 포맷도 많아서 제 글은 되도록 참고만 하시면 됩니다. 1. 패치 파일 빌드 var manifest = UnityEditor.BuildPipeline.BuildAssetBundles( patchFolderPath, UnityEditor.BuildAssetBundleOptions.None, UnityEditor.EditorUserBuildSettings..
이번에는 Unity에서 계층이 있는 데이터 저장 방법들을 비교해보겠습니다. 주로 많이 사용하는 JSON, XML 그리고 Unity에서 지원하는 ScriptableObject로 준비했습니다. 이 글은 Unity엔진에서 사용하는 것을 기준으로 쓴 내용이라, Unity엔진에서 사용하는 것 이외에는 다를 수 있으니 유의 바랍니다. 기본정보 JSON Unity에서 주로 데이터 저장 및 데이터 전송으로 사용. https://ko.wikipedia.org/wiki/JSON XML Unity에서 주로 데이터 저장 및 스크립으로 사용. 마크업 언어로 되어있어 스크립팅으로 주로 사용. https://ko.wikipedia.org/wiki/XML Scriptable Object Unity에서 주로 데이터 저장으로 사용. 내..
이번에는 Singleton을 남용하면서 서로 참조하여 생기는 문제에 대해 얘기해보려 합니다. 1. 문제점 간단하게 Singleton을 남용해서 서로 참조하게되면 정말 스파게티코드가 되기 쉽습니다. https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8C%8C%EA%B2%8C%ED%8B%B0_%EC%BD%94%EB%93%9C 스파게티 코드 - 위키백과, 우리 모두의 백과사전 스파게티 코드(spaghetti code)는 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현이다. 스파게티 코드는 정상적으로 작동하지만, 사람이 코드를 읽으면서 그 ko.wikipedia.org 물론 스파게티 코드가 되어서 발생하는 문제들이 모두 따라붙게 되는데요, 제가 생각하..
이번에는 MonoBehaviour Singleton을 사용하는 이유 및 문제점을 파악해서 해결 방법을 고민해 볼 겁니다. 사실 Singleton 관련 블로그 글을 써보려고 마음먹은 이유도 이러한 문제점들이 있는데 MonoBehaviour Singleton을 남발하는 경우가 많아서 쓰게 되었는데, 한 명이라도 이 글을 읽고 고민이라도 조금 했으면 해서 쓰게 되었습니다. 1. MonoBehaviour Singleton을 사용하는 이유 이전 글에서도 설명드렸듯이 몇 가지 꼽아보자면 이 정도가 될 것 같습니다. MonoBehaviour의 기능을 이용하기 위함. (Update, LateUpdate.. 등등 함수들 및 Coroutine기능) Native Plugin이용 시, SendMessage로 전달받아야 하는 ..
이 글과 이후 글에서는 싱글턴에 대한 설명보다는 Unity에서 구현해보는데 집중해보고, 문제점과 해결방법을 이야기해볼 예정입니다. 싱글턴에 대한 좀 더 상세하고 원론적인 내용이 필요하신 분은 다른 글을 보시면 될 것 같습니다. Wikipedia: https://ko.wikipedia.org/wiki/%EC%8B%B1%EA%B8%80%ED%84%B4_%ED%8C%A8%ED%84%B4 싱글턴(Singleton)이라고 하면 디자인 패턴(Design Pattern) 중, 정말 많이 쓰이는 패턴 중 하나입니다. 싱글턴 패턴은 클래스를 글로벌로 접근 가능하도록하는 방법 중 하나인데, 만들기도 간단하고 만들어두면 정말 편하게 사용 가능해서 여기저기 많이 쓰이는 패턴입니다. 1. Singleton public clas..