unity 13

[개발일지] Asset Import 시 Script Updating Consent 창 대처 방법

이슈: Unity 6.0에서 에셋 임포트 시 나타난 Script Updating Consent 창Unity 6.0.43f1 버전에서, Asset Store에서 에셋을 임포트했는데 아래와 같은 알림창이 나타났다.Script Updating ConsentSome of this project's source files refer to API that has changed. These can be automatically updated. 해당 메시지는 Unity가 버전 업데이트 과정에서 API 변경이 있었고, 기존 스크립트에서 오래된 문법이나 클래스가 감지되었기 때문에 이를 자동으로 최신 API에 맞춰 수정할 수 있다는 안내이다. Yes, for these and other files that might be ..

[Unity] AssetBundle과 Addressable

이번 글에는 AssetBundle & Addressable에 대해 정리를 해보려 한다. 앱을 배포하고 규모가 커지다보면 다음과 같은 문제가 발생하게 될 것이다.빌드 파일 용량 증가모든 리소스를 하나의 빌드에 포함하면 용량이 커지고, 배포가 어려워진다. ex: 모바일 게임에서 신규 캐릭터를 추가하려면 전체 앱을 다시 빌드해야 하는 문제앱 업데이트 문제이미지 하나만 바꿔도 전체 앱을 다시 배포해야 하는 상황이 발생할 수 있다. ex: 시즌 이벤트 리소스를 교체할 때마다 앱 업데이트 필요리소스 낭비앱 시작 시 모든 리소스를 미리 메모리에 올리면 성능 저하가 발생한다. ex: 초기 UI 리소스만 필요한데도 전체 리소스를 로딩이러한 문제들을 해결하고자 할 때 바로 이  AssetBundle & Addressabl..

[Unity] C# 메모리 구조 이해하기

이 블로그 게시물은 Unity 개발자가 반드시 숙지해야 하는 C#의 메모리 구조에 대해 설명해보려 한다. Unity로 개발을 하다 보면 메모리 최적화, GC(Garbage Collection), 성능 이슈 같은 문제들을 접하게 되는데, 이런 문제를 효율적으로 다루기 위해서는 메모리가 어떻게 관리되고 있는 지에 대한 개념이 필요하기 때문에 정리를 해봤다. 그럼 C#의 메모리 구조- 스택(Stack)- 힙(Heap)- 데이터 영역(Data Segment)- 코드 영역(Code Segment) 으로 나누어 설명해보겠다.  1.  C# 메모리 구조 구성영역설명Stack값 형식(Value Type)의 데이터가 저장됨. 함수 호출/지역 변수 관련. 빠름.Heap참조 형식(Reference Type)의 인스턴스가 저..

[Unity] Error building Player: BuildFailedException: You have enabled the Vulkan graphics API, which is not supported by ARCore.

BuildFailedException: You have enabled the Vulkan graphics API, which is not supported by ARCore. UnityEditor.XR.ARCore.ARCorePreprocessBuild.EnsureOnlyOpenGLES3IsUsed () (at ./Library/PackageCache/cohttp://m.unity.xr.arcore@5.1.6/Editor/ARCoreBuildProcessor.cs:151)UnityEditor.XR.ARCore.ARCorePreprocessBuild.UnityEditor.Build.IPreprocessBuildWithReport.OnPreprocessBuild (UnityEditor.Build.Report..

[Unity] ScriptableObject 개념 정리

Unity 에서 ScriptableObject는 데이터를 효율적으로 관리하고, 메모리를 절약하며, 유지보수를 용이하게 하기 위한 강력한 도구이다! 많은 프로젝트에서 메모리 공간을 절약하고 여러 씬에서 동일한 데이터에 접근하기 위해 사용해왔는데 정확하게 어떤 특징들이 있는지 자세히 정리 해보자 🤔 ScriptableObject란?ScriptableObject는 게임 오브젝트에 부착되지 않는 데이터 컨테이너. 일반적으로 게임 내 설정값, 데이터 테이블, 아이템 속성, 대화 내용 등을 저장하는 데 활용되고 이는 싱글톤(옵저버 패턴 형식을 활용하)을 대체할 수도 있다!!  주요 특징메모리 절약: GameObject 및 Transform을 포함하지 않으므로 메모리를 절약할 수 있다.데이터 컨테이너 역할: 프로젝..

[Unity] Unity에서 DLL과 Assembly Definition을 활용한 최적화 전략

Unity 프로젝트를 개발할 때, 빌드 및 실행 속도를 최적화하는 것은 매우 중요한 과제인데.DLL(동적 링크 라이브러리)과 Assembly Definition(어셈블리 정의)을 활용하면 컴파일 효율성을 극대화할 수 있다고 한다  그래서 Unity에서 DLL과 Assembly Definition을 활용하는 방법과 그 중요성을 한번 정리해보려고 한다마침 Unity Korea에서 알찬 강의를 만들어줘서 이것을 보며 이해해보자! https://www.youtube.com/watch?v=I_2a2wRSF1o  1. Unity에서 DLL과 라이브러리 활용하기1.1 DLL과 라이브러리의 개념Unity에서는 프로젝트 내에서 다양한 라이브러리(DLL 포함)를 활용하여 코드의 재사용성을 높이고, 실행 성능을 개선할 수 ..

[Unity] Google 계정 로그인 연동

이번 글에서는 구글 계정으로 로그인 하는 방법을 정리해보자!  1. Firebase 프로젝트 설정 (1) Firebase Console 접속https://firebase.google.com/?hl=ko  Firebase | Google's Mobile and Web App Development Platform개발자가 사용자가 좋아할 만한 앱과 게임을 빌드하도록 지원하는 Google의 모바일 및 웹 앱 개발 플랫폼인 Firebase에 대해 알아보세요.firebase.google.com (2) Firebase Authentication 활성화- 이제 만든 프로젝트에 들어가서 좌측 Authentication을 클릭- 로그인 방법을 클릭한 후 구글을 누른 후 활성화 버튼 클릭  (3) SHA-1 등록- 아래 U..

[Unity C#] 디자인 패턴 - Command 패턴

Command 패턴은 여러 명령을 패킹하여 전달하는 디자인 패턴이다. 명령을 객체로 캡슐화하여 다양한 기능을 재사용할 수 있도록 돕는다. 간단하게 정리해서 이 패턴은 택배처럼 명령을 나르는 방식으로 비유될 수 있다  * 커맨드 패턴은 각 명령을 캡슐화하여 단일 책임 원칙을 준수* 새로운 명령을 추가할 때 기존 코드를 수정할 필요가 없다. 이는 개방-폐쇄 원칙을 준수하는 것으로, 기존 코드를 변경하지 않고도 기능을 확장할 수 있다. 이번 포스트에서는 Command 패턴의 정의, 구성 요소, 장단점, 적합한 상황, 그리고 실제 예제까지 자세히 살펴보겠다 Command 패턴의 기본 개념Command 패턴은 요청을 객체로 캡슐화하여, 요청을 보낸 사람과 요청을 처리하는 사람을 분리하는 디자인 패턴!이 패턴은 주..

[Unity] 실행 순서 Awake, Start, OnEnable

Unity에서 제공하는 기본함수가 언제 실행이 되는 지 용도는 어떻게 되는 지 또 실행 순서는 어떻게 되는 지 정리해보았다!단순히 실행 순서만 본다면 맨 아래로!  1. Awake()언제: 오브젝트가 활성화되거나 씬에 로드될 때 가장 먼저 호출용도: 초기화에 주로 사용 주의: GameObject의 활성화 여부에 관계없이 실행 2. OnEnable()언제: 오브젝트 또는 해당 컴포넌트가 활성화될 때 호출용도: 활성화 시 필요한 작업. 주로 이벤트 구독 때  3. Start()언제: **Awake()**가 끝난 후 첫 번째 프레임에서 한 번만 호출용도: 초기화 코드 실행, 다른 스크립트에서 값 참조하기에 적합 4. FixedUpdate()언제: 물리 연산이 필요할 때 매 프레임 일정 간격으로 호출됩니다. (..

[Unity] 깔끔한 코드 작성을 위한 스타일 가이드 (1)

이번 Unity에서 코드 작성을 위한 스타일 가이드에 대해 강의를 해주셔서 영상을 보고 내용을 한번 정리해보았습니다.  https://www.youtube.com/watch?v=eoJLowmz5zU&t=938s 1. 깨끗한 코드란 무엇인가? 가독성과 유지보수성: 코드는 읽기 쉽고 이해하기 쉬워야 함.일관된 스타일과 규칙: 이름 짓기와 코드 구조를 일정하게 유지.최소한의 주석 사용: 주석 없이도 코드가 명확하게 이해될 수 있도록 작성. 2. 주요 원칙 1. KISS 원칙 (Keep It Simple, Stupid)간단한 해결책을 지향하며 불필요한 복잡성을 피함.이미 제공되는 API나 기능을 적극 활용// 복잡한 구현 (비효율적 코드)void RotateManually(GameObject obj, float..

반응형