반응형

개발/유니티 38

유니티의 라이프 사이클(Life Cycle)이란?

MonoBehaviour 클래스는 컴포넌트와 스크립트를 포함할 수 있는 Unity 씬의 오브젝트인 게임 오브젝트의 수명 주기를 관리하기 위한 기능을 제공하는 Unity의 기본 클래스입니다. 다음은 모노비헤이비어의 수명 주기에 대한 개요입니다: 1. 생성(Creation) : MonoBehaviour 컴포넌트가 포함된 게임 오브젝트가 생성되면 MonoBehaviour의 생성자가 호출됩니다. 이 시점에서 모노비헤이비어는 아직 완전히 초기화되지 않았으므로 다른 게임 오브젝트나 컴포넌트에 액세스하는 데 사용해서는 안 됩니다. 2. 초기화(Initialization) : MonoBehaviour의 생성자가 호출된 후 Unity 엔진은 Awake 메서드를 호출하여 MonoBehaviour를 초기화합니다. Awake..

개발/유니티 2023.03.07

유니티의 장점은 무엇이 있을까?

Unity는 게임 개발자에게 다음과 같은 다양한 이점을 제공하는 인기 있는 게임 개발 플랫폼입니다: 크로스 플랫폼 개발: Unity를 사용하면 개발자가 PC, 모바일 기기, 콘솔, 웹 브라우저 등 다양한 플랫폼용 게임을 제작할 수 있습니다. 따라서 더 많은 사용자에게 쉽게 다가가고 게임의 잠재적 사용자 기반을 확장할 수 있습니다. 사용 편의성: Unity는 개발자가 코드를 작성할 필요 없이 씬을 생성하고 에셋을 추가하고 게임 로직을 디자인할 수 있는 비주얼 에디터를 통해 사용자 친화적으로 설계되었습니다. 따라서 다양한 수준의 경험을 가진 개발자가 쉽게 사용할 수 있으며, 개발자는 기술적인 세부 사항보다는 게임 디자인에 집중할 수 있습니다. 대규모 커뮤니티 및 리소스: 유니티는 온라인 포럼, 블로그, 소셜..

개발/유니티 2023.03.05

오브젝트 풀링(Object pooling)은 왜 사용할까?

1. 오브젝트 풀링이란? 오브젝트 풀링(object pooling)은 보다 효율적인 방식으로 객체를 관리하고 재사용하는 데 사용되는 소프트웨어 디자인 패턴입니다. 오브젝트 풀링(object pooling)의 기본 개념은 필요할 때마다 새 객체를 만드는 대신 사용할 준비가 된 객체 풀을 유지 관리하는 것입니다. 이는 특히 객체 생성에 시간이 많이 걸리는 프로세스인 상황에서 상당한 성능 향상을 가져올 수 있습니다. 2. 오브젝트 풀링의 장점 1. 향상된 성능 : 오브젝트 풀링(object pooling)은 새 객체를 만드는 데 필요한 시간을 줄이고 객체 만들기와 관련된 메모리 오버헤드를 줄임으로써 성능을 향상시킬 수 있습니다. 기존 객체를 재사용하면 새 객체를 초기화하는 데 필요한 시간과 리소스가 절약되므로..

개발/유니티 2023.02.11

유니티 파이어베이스 애널리틱스 사용하기

해당 포스팅에서는 프로젝트를 생성하는 내용은 작성되지 않습니다. 이 점 참고바랍니다. 프로젝트가 생성되어 있다는 가정하에 파이어베이스 애널리틱스를 사용하는 방법을 알아보겠습니다. 먼저 아래 링크를 이용해 파이어베이스를 접속하여 생성된 프로젝트를 확인합니다. https://console.firebase.google.com/u/0/?hl=ko 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 원래 같았으면 프로젝트 명이 사각형의 각 영역당 나와있습니다. 저는 프로젝트 명을 모두 이미지 편집 도구를 이용해 가려서 보이지 않는 상태입니다. 위 이미지를 보면 AOS 및 IOS 아이콘이 활성화 된 프로젝트와 그렇지 않은 프로젝트가 있습니다. 최초 생성 시, AOS 및 IOS 모두..

개발/유니티 2022.09.27

유니티 Pod install 시 에러 발생시

유니티 iOS 빌드를 위해 pod intall 명령어를 사용했을 때 아래와 같이 버전 정보 관련해서 에러가 발생했다. 딱 보니 GoogleAppMeasurement와 AppLovinMediationGoogleAdManagerAdapter, Google-Mobile-Ads-SDK 등 다양한 것들이 문제가 발생한 것이다. Podfile을 열어 버전 정보를 아래와 같이 수정해주었다. [수정한 버전 정보] ‘AppLovinMediationGoogleAdapter’ 9.1.0.0 -> 9.5.0.0. ‘AppLovinMediationGoogleAdManagerAdapter’ 9.1.0.0 -> 9.5.0.0. ‘Firebase/Analytics’ 9.3.0 - > 9.2.0 ‘Firebase/Core’ 9.3.0..

개발/유니티 2022.09.26

유니티 페이스북 디펠로퍼에서 iOS 플랫폼을 추가 시

페이스북 디펠로퍼 사이트 주소는 아래와 같다. https://developers.facebook.com/?locale=ko_KR Meta for Developers 메타버스에서 선보이는 창의성 경험하기 10월 11일에 열리는 Meta Connect에서 전 세계의 혁신가들을 만나보세요. 메타버스의 아름답고 긴밀히 연결된 세상을 함께 구상할 방법을 알아보세요. 저장 developers.facebook.com 위 링크에서 iOS 플랫폼을 추가하고자 할 때 순서는 아래와 같다 먼저 내 앱에 들어가 원하는 앱을 선택하고, 기본 설정 탭 제일 하단 플랫폼 추가를 눌러주면 된다. 이 때 iOS를 선택할 시 패키지 명에는 유티니에서 설정한 Bundle Identifier를 입력하면 된다. iPhone Store ID는..

개발/유니티 2022.09.25

유니티 iOS Xcode 빌드시 Undefined symbol 에러 발생 시

아래 이미지와 같이 Xcode에서 빌드하는 도중 UnityFramework에서 Undefined symbol 에러가 발생했을 경우, 유니티 프로젝트 내 Plugin 아래에 iOS 폴더 및 Mac 폴더를 추가하여 유니티 상에서 재 빌드하여 Xcode 실행 시 사라집니다. iOS 폴더 및 Mac 폴더 첨부파일을 첨부하려고 하였으나, 회사 내부에서 사용하던 자료여서 문제가 발생할 것 같아업로드 하지 않습니다, 만약 위와 같은 문제가 발생했을 경우, 주변 사수에게 물어보거나 빌드가 성공했었던 다른 프로젝트 내에서 파일을 참고하시기 바랍니다.

개발/유니티 2022.09.24

유니티 iOS 빌드 시 AppLovin Quality Service installation failed. Failed to download script with error: HTTP/1.1 401 Unauthorized 나타날 때

유니티로 iOS 플랫폼으로 변경하여 빌드를 진행할 때 나타난 에러이다. 문제를 보면 앱러빈에서 스크립트 다운로드를 실패했으며, HTTP 401에러가 나타난다. 401 에러를 인터넷에 검색해보니 아래와 같이 나왔다. 401 Unauthorized 401 Unauthorized 클라이언트 오류 상태 응답 코드는 해당 리소스에 유효한 인증 자격 증명이 없기 때문에 요청이 적용되지 않았음을 나타냅니다. 이 상태는 WWW-Authenticate (en-US) 헤더와 함께 전송되며, 이 헤더는 올바르게 인증하는 방법에 대한 정보를 포함하고 있습니다. 이 상태는 403과 비슷하지만, 401 Unauthorized의 경우에는 인증이 가능합니다. 딱 보니 인증, 인증 자격 관련된 말이 많이 나온다. 앱러빈 설정에서 값을..

개발/유니티 2022.09.23

유니티 커스텀 하이어라키(Unity Custom Hierarchy)

유니티를 통해 개발을 하다보면 하이어라키뷰에 목록들을 깔끔하게 정리한다고 해도 계층들이 쌓여 보기 힘들어 질 때가 있다. 이 때 유용한 기능이 있으니 바로 인터넷에서 @febucci 라는 이름을 쓰는 사람이 제공하는 Custom Hierarchy for Unity 이다. 해당 기능은 100% 무료이며, 홈페이지는 아래와 같다. https://www.febucci.com/2020/10/custom-hierarchy-for-unity/ Custom Hierarchy for Unity [free] | Febucci 'Custom Hierarchy for Unity' helps you organizinig all your gameObjects automatically, drawing icons for each ..

개발/유니티 2022.09.22

유니티 Max Mediation Debugger 페이스북 Cleartext Traffic 에러 시

유니티에서 광고 송출을 위해 앱러빈을 사용했다. 앱러빈에서 제공하는 광고 송출 기능을 이용하던 중 페이스북 쪽으로 광고 송출하는 부분에 문제가 있어 글을 적는다. 먼저 원인 파악을 위해 Max Mediation Debugger 를 활성화 시켜야한다. 아래 링크를 통해 참고한다. 크게 어렵진 않다. https://dash.applovin.com/documentation/mediation/unity/testing-networks/mediation-debugger MAX Mediation Documentation dash.applovin.com 링크 중에서 Displaying the Mediation Debugger 부분에서 코드가 나와있는데 이 부분을 개개인이 작성한 광고매니저 스크립트에서 초기 호출하는 부..

개발/유니티 2022.09.21

유니티 빌드 이후 앱 실행 안됨

[유니티를 통해 빌드 후 앱이나 게임 자체가 실해 안될 때] 빌드 이후 게임을 실행하고자 할 때 앱이 실행조차 안되고 자꾸 중단됨이라는 오류가 발생했습니다. 원인을 찾기 위해 AppsFlyer, Mopub, Facebook, GoogleAnalyics 등 외부 SDK를 지웠는데도 문제가 여전했습니다. 혹시 몰라 Player Setting - Publishing Settings - Build 항목 중 체크되어 있는 항목들을 모두 끄고, Project 내 Assets - Plugin 폴더를 확인하여 남아있는 찌거기 파일들을 모두 제거해줬습니다. 이 후, 유니티 재 시작 이후 빌드해보니 정상적으로 동작합니다. 의심스러운 파일은 Player Setting - Publishing Settings - Custom ..

개발/유니티 2022.09.20

유니티 gitignore 자동 생성 사이트

.gitignore란? .gitignore파일이란 Git 버전 관리 시 불필요한 파일 목록을 지정 해주는 파일이다. git으로 프로젝트를 관리할 때, 프로젝트 안의 특정 파일들은 Git으로 관리할 필요가 없는 경우가 있다. 이 떄에 .gitignore를 이용하여 불필요한 파일들을 미리 제거하여 업로드 할 수 있게 도와준다. .gitignore 생성하기 아래 링크를 통해 들어가면 자신이 사용하는 프로젝트에 맞춰 gitignore 파일을 만들어준다. https://www.toptal.com/developers/gitignore 나는 VS Code, Mac, C#을 이용하여 만들어 주었다. 이렇게 생성된 파일을 새로 생성한 깃허브 리포지토리에 우선적으로 푸시하고 커밋한다. 이 후 프로젝트 파일을 올리거나, 프..

개발/유니티 2022.09.15

유니티 구글 플레이 스토어(AOS) 앱 업데이트 유도 기능

유니티로 개발을 하다보면 치명적인 버그 및 비정상적인 기능으로 인해 급하게 앱을 업데이트 해야할 때가 있다. 물론 앱을 업데이트 하는 것은 문제가 되지 않는다. 개발자가 빌드를 진행하여 AOS, iOS 앱 마켓에 업데이트를 제출하면 되기 때문이다. 그렇지만 앱이 업데이트가 된다고 하더라도 결국 해당 앱을 이용하는 사용자가 업데이트 된 앱을 업데이트 해야한다. 이 때 앱을 강제로 할 수 없으므로, 업데이트를 이용하지 않는 유저들은 치명적인 버그 악용, 비정상적인 기능을 계속 이용하여 개발자가 원하는 플로우로 게임 진행을 하지 않을 수 있다. 이 때에 필요한 것이 앱 업데이트 유도 기능이다. 결국 모든 것은 구글과 유튜브에 있다. 아래 링크를 참고하여 앱 업데이트를 유도하자. https://www.youtu..

개발/유니티 2022.08.30

유니티 UI 참고(Reference) 사이트

유니티로 작업하다보면 늘 고민인게 하나 있다. 바로 UI이다. 사실 개발자야 디자니어분 께서 그려주신 이미지에 버튼이랑 요소만 넣고 사이즈를 줄이던 키우던 하면 되지만, 디자이너에게 UI는 정말 힘든요소다. 왜냐하면 게임이 추구하고자 하는 특징, 분위기, 아트 컨셉, 해당 UI가 어떤 기능을 나타내는지를 한눈에 파악하기 위한 그림 등 다양한 요소를 하나의 이미지 안에 넣기란 쉽지 않다. 이럴 때 디자이너에게 분에게 참고하라고 주면 좋은 사이트가 있다. 바로 https://www.gameuidatabase.com/ 이다. 이런 저런 게임 별로 UI가 모아져 있으며, 태그를 이용해 검색할 수 있다. 무엇보다 무료! UI 레퍼런스를 찾을 때 참고하면 좋아보인다.

개발/유니티 2022.08.28

유니티 AppsFlyer + Max SDK 적용 상태에서 Facebook SDK 빌드 시 나타나는 오류 해결 방안

유니티로 개발하다보면 이런 저런 SDK를 붙이면서 개발할 때가 많다. 문제는 이런 저런 SDK를 붙여서 빌드했을 때 정상 작동하면 문제가 없겠지만, 외부 SDK가 유니티 내부에 있는 파일들을 서로 자기네들이 사용하고 있는 버전으로 파일들을 마구 변경하고, 이러한 파일들이 서로 중복되기 까지 하다보면 정말 답도 없을 때가 있다. 이 문제가 바로 그런 문제이지 않을 까 싶다. 비록 내가 겪은 상황은 아니였지만 다른 팀에서 겪던 문제였고 나중에 이런 일이 있으면 이런식으로 진행하라 하며 해결 솔루션을 알려주셨다. 그러나 혹시 이 정보가 필요해 인터넷과 같이 넓은 망망대해에서 해매고 있는 사람들이 있을 수 있으니 혹시 몰라 공유한다. 사용 Facebook SDK 버전 : 11.0.0 Build Gradle 단계..

개발/유니티 2022.08.26

유니티 구글 시트 (Unity Google Sheet)

유니티 구글 시트란? 구글 스프레드시트에서 바꾼 값을 게임을 다시 빌드하지 않고도 구글 시트의 데이터를 Load 하거나 Save 할 수 있습니다. 스프레드시트 내 수정사항을 게임에 즉시 적용할 수 있으므로 게임 디자인 타임을 획기적으로 단축시킬 수 있는 강력한 도구입니다. 정적으로 설명으로도 충분하지만, 보다 예를 들어 설명하자면 우리가 RPG 게임을 만든다고 가정하면, 몬스터의 데이터가 필요 할 것이다. 이러한 몬스터의 데이터를 주로 구글 스프레드 시트에 저장하게 되는데 예를 들면 아래와 같다. 몬스터 이름 체력 공격력 해골 30 5 슬라임 10 2 이후, 이 데이터를 사용하기 위해서는 구글 시프레드 시트에서 확장 기능을 이용해 유니티에서 사용할 수 있게 JSON 파일로 변경하고, 유니티 상에서는 해당..

개발/유니티 2022.08.25

유니티 디바이스 시뮬레이터 (Unity Device Simulator)

안드로이드 및 iOS 모바일 기기마다 해상도와 카메라 위치 등을 미리 시뮬레이션 해볼 수 있는 아주 좋은 기능 iOS의 경우 기기별로 다른 SafeArea가 존재하기 때문에 이에 대응해야하는 데, 핸드폰이 없을 경우 시뮬레이터를 이용하여 간접적으로 체험이 가능하다. +) 22.08.15 기준 모든 핸드폰이 있는 것은 아니며, 일부 핸드폰만 있으니 이는 설치하여 목록을 살펴보도록 하자. 설치 및 관련 정보는 아래 링크를 참조하자. https://skuld2000.tistory.com/79 [Unity] 유니티에 새로 추가되는 디바이스 시뮬레이터(Device Simulator) 소개 1. 유니티 디바이스 시뮬레이터 (Unity Device Simulator) 유니티 디바이스 시뮬레이터(Unity Device..

개발/유니티 2022.08.15

유니티 페이스북 에러 발생시 Your Android setup is not correct. See Settings in Facebook menu.

1. 먼저 아래 티스토리 블로그 링크에서 Open SSL, Java SDK를 설치하여 따라한다. https://prosto.tistory.com/255 유니티 페이스북SDK Error OpenSSL, JDK 환경변수 등록 - Your Android setup is not correct. See Settings in Facebook m 안녕하세요. 이번에는 페이스북SDK 관련 오류가 있어 해결하고, 해결방법 포스팅합니다. 오류 내용 에러 내용 (유니티에서 페이스북(facebook) SDK 추가 후) Your Android setup is not correct. See Setting.. prosto.tistory.com 2. 그래도 안된다면 유니티 상단을 참고한다. Edit Setting을 눌러준다. Fac..

개발/유니티 2022.01.26
반응형