분류 전체보기 38

Unity Git hub Actions - 1 (개념 정리)

Events시작하게 된 계기여러 프로젝트들을 진행하면서, github를 통해 소스를 관리하고 개발하면서, 나의 PC에서 빌드 작업을 진행함에 있어 그 시간 동안 별도의 작업을 하지 못하는 일이 빈번하고, 빌드 시간도 많이 소요되어 이를 해결할 수 있는 방법이 있을까?라는 생각에서 시작하게 되었습니다.자연스럽게 CI/CD라는 것에 접하게 되었고 이는 무엇인지에 대해 고민하게 되었습니다. CI (Continous Integration) : 지속적인 통합개발자들의 변경한 기능 혹은 소스코드의 지속적인 통합 -> 팀 단위에서 각자 맡은 부분에 대한 작업물을 공유 저장소에 통합하는 과정CD (Continous Deployment) : 지속적인 배포위에서 변경된 사항들에 대한 테스트 및 제품 배포를 지속적으로 확인..

Unity 2025.02.25

Addressable Asset (6) - Download Progress 처리

이번 게시글에서는 Addressable Asset의 bundle pack을 다운로드할 때 현재 다운로드 상태를 나타내는 Progress를 작업해 보겠습니다. Unity 공식 AsyncOperationHandle Asynchronous operation handles | Addressables | 1.21.21Asynchronous operation handles Many tasks in the Addressables need to load or download information before they can return a result. To avoid blocking program execution, Addressables implements such tasks as asynchronous opera..

Unity 2025.02.16

Unity Addressable Asset (5)

이번 게시글에서는 Addressable Asset을 활용하여 Runtime에 Resource를 다운로드하는 것을 해보겠습니다. 종종 게임들을 보다보면 실제 설치 파일의 용량은 상대적으로 적은데 앱을 실행하다 보면 리소스를 다운로드할지 확인을 하며 다운로드하는 앱을 실행하고 다운로드하는 경우가 있습니다. 오늘은 이것에 대해 알아보겠습니다.Check Lists1. 변경된 리소스 파일이 있는지 확인합니다.2. 변경된 리소스 파일이 있으면 Dependency를 다운로드 합니다.3. 여기서 Dependency란 무엇일까요?4. Dependency를 다운로드한 이후에 Addressable.Load 하여 Resource를 사용합니다. 1. 변경된 리소스 파일이 있는지 확인. (GetDownloadSizeAsync)A..

Unity 2025.02.13

C# 델리게이트(Delegate) in Unity

오늘 시간에는 Delegate에 대해 알아보겠습니다.먼저 Delegate가 무엇인지에 대해 이해해야 되는데요 아래와 같습니다. Delegate란 번역해보면 대리자라는 의미입니다. Unity에서는 함수 포인터라는 개념으로도 많이 사용됩니다. 메서드 자체를 인자로 넘겨주어 전달받은 곳에서 대리로 해당 메서드를 실행할 수 있습니다. C#에서 delegate 기본형식은 아래와 같습니다delegate 반환형 델리게이트명(인자);delegate int Add(int parameter1, int parameter2);이미지를 확인해 보면 delegate를 이용하여 Sum 함수를 호출한 것과, 단순호출한 것에 결과의 차이가 없음을 알 수 있습니다. 그렇다면 왜 delegate를 사용하는 것일까요?  Delegate의 ..

Unity 2025.01.29

Unity Runtime Memory 관리 - 1

이번 게시글에서는 Unity의 Memory 관리에 대해서 조금 알아보려고 합니다. 주제를 정하게 된 배경이 주제를 정하게 된 배경에 대해 적어보자면, 최근까지는 메모리를 별로 신경 쓰지 않고 개발을 많이 하고는 했습니다. 하지만 여러 프로젝트를 경험하며, 사용한 Texture, Audio, Mesh, Video 등 다양한 Resource에 대한 최적화를 해두지 않으면 적은 메모리를 가지고 있는 디바이스에서 앱이 구동되지 않을 수 있다는 사실을 알게 되었습니다. 텍스쳐 하나하나, 오디오 하나하나가 많은 영향을 준다는 것을 알고 이 주제에 대해 한번 알아보고자 시작하게 되었습니다.  Unity에서 메모리란?게임 실행에 필요한 데이터를 저장하거나, 처리하기 위해 사용하는 컴퓨터 메모리, 이 메모리 안에는 위에..

Unity 2025.01.12

Unity Localization (2)

이번 시간에는 Unity Localization을 Google Sheets를 연동하는 방식에 대해 알아보려고 합니다.이전 글에서는 Unity Localization은 무엇인지, 간단하게 다국어를 지원하는 것을 해보았는데요. 다국어 언어들을 Google Sheets에서 관리하고 Unity는 Sheets의 데이터를 받아서 언어별로 표기할 수 있습니다. 이전 게시글을 확인하여 Localization의 초기 세팅을 확인해 볼 수 있습니다.https://develophyun.tistory.com/1 Unity_Localization이번 시간에는 Unity에서 다국어 지원 하는 방법에 대해 알아보도록 하겠습니다.다국어 지원이란, 하나의 게임이 여러 언어로 플레이할 수 있도록 번역 및 현지화된 인터페이스, 텍스트, ..

Unity 2025.01.04

Unity Addressable Asset (4)

오늘은 최종적으로 Addressable Asset을 Remote 서버에 Build 해서 업로드하고, 해당 Build 된 Addressable Asset을 Load 하여 Runtime에 Prefab을 생성하는 것을 알아보려고 합니다. 먼저 Addressable Asset Group을 Build Load 모드를 변경합니다.내가 선택한 Group의 Build or Load 방식을 Remote, Local을각각 지정할 수 있고 이 옵션은 Addressable Group 별로 지정이 가능하다. Load Path와 Remote Path를 지정하는 것에 대해 다시한번 설명하자면, Addressable Profile에서 추가 설정을 하면 됩니다.Remote Build, Load Path를 지정해주고, Addressab..

Unity 2025.01.02

Unity Addressable Asset (3)

앞 선 글들에서 Addressable은 무엇인지, 어떠한 방식으로 사용할 수 있는지에 대해 서술해 보았습니다.이번 글에서는 해당 Addressable Asset을 서버에서 받아오기 위한 Unity와 서버 연동을 시작해보려고 합니다.저는 Remote 서버로 간단하게 사용할 수 있는 Google Firebase Cloud를 사용하려고 합니다. Firebase를 연동하는 방법에 대해 자세히 설명해 보도록 하겠습니다.Firebase 연동하는 방법1. https://console.firebase.google.com/ 접속 후 로그인을 해줍니다.2. New Project -> 프로젝트 생성하기 해당 Firebase 프로젝트가 다른 Unity Project에 연동이 됩니다.4. Apple Android, App Pa..

Unity 2024.12.29

Unity Addressable Asset (2)

오늘 시간에는 Addressable Asset의 옵션에 대해 알아보겠습니다. 먼저 앞선 글에서 Unity Addressable Asset은 무엇인지에 대해 알아보았고, 오늘은 각종 옵션과, Local 기준으로 Asset을 로드하는 것을 해보겠습니다. Addressable Asset GroupAddressable Asset의 그룹핑을 지정하는 곳으로, 사용자가 사용 방법에 맞게 그룹핑하여, 같이 로드될 Asset Bundle을 지정하는 방식입니다.  여기서 Window -> Asset Management -> Addressable -> Group을 들어가게 되면 현재 그룹핑되어있는 Asset들을 확인할 수 있습니다.여기서 Play Mode Script 방식을 지정하게 되면 위 두 가지의 옵션이 나타나게 됩..

Unity 2024.12.27

Unity Addressable Asset (1)

Unity Addressable AssetAddressable Asset 이란 주소가 있는 Asset(3D 모델 파일, 이미지 텍스쳐, 오디오, 비디오)으로 유니티에서 Runtime에 주소라는 고유의 식별자로 Asset에 접근하여 로드 및 사용할 수있는 Asset을 말한다. Addressable Asset을 사용하는 이유?장점 Resource 폴더의 로드방식보다 초기 Apk의 용량이 작다.별도의 추가 Build없이 Asset을 서버로부터 업데이트가 가능하다.사용하지 않는 Asset의 경우에 Unload를 통해 효율적인 메모리 관리가 가능하다.DLC 방식에 적합하다(Downloadable Content)의 약어. (확장팩, 추가 캐릭터, 새로운 스토리 등)단점초기 설정 방식이 어렵다. (기존 Resourc..

Unity 2024.12.15