unity 17

[Unity] 분산 권한(Distributed Authority) 이해하기

이번 글에서는 클라이언트 호스팅과 멀티플레이어 게임을 위한 분산 권한에 대해 강의를 들으면 정리해보았다.즉 서버 없이도 안정적이고 확장성 있는 멀티플레이어 구성을 하는 방법에 대한 설명이다. 1. 분산 권한이란? : Unity의 분산 권한 시스템은 기존의 서버-클라이언트 구조를 넘어, 모든 클라이언트가 네트워크 권한을 나누어 갖는 새로운 방식의 네트워크 토폴로지다! 기존의 구조들과 비교해본다면 (1) 전용 서버 : 서버가 모든 제어권을 보유, 안정적이지만 구축 비용이 높다! (2) P2P : 클라이언트 중 1명이 호스트, 호스트에 의존도가 높아 불완전하지만 구축 비용은 낮다(3) 분산 권한 : 클라이언트 간 권한을 분산, 안정성과 비용적 측면을 모두 가져갈 수 있다 하지만 권한 충돌에 대해 해결을 해줘..

[Unity6] URP 200% 활용하기 - GPU Resident Drawer 및 GPU Occlusion Culling 설정과 확인 방법

이번 글에서는 Unity 6 URP에서 GPU Resident Drawer와 GPU Occlusion Culling 기능을 설정하고,실제로 적용되었는지 확인하는 방법까지 정리해보겠습니다. 참고한 영상은 Unity 6 URP에서 업데이트된 주요 렌더링 기능을 소개하는 공식 영상이고,그 중에서도 Draw Call 최적화 및 Occlusion Culling 기능이 어떻게 개선되었는지를 설명해줍니다 ㅎㅎ https://www.youtube.com/watch?v=yBu8m-AaT3A !! 병목 지점 먼저 이해하자: CPU vs GPU 바운드렌더링 최적화를 위해 가장 먼저 파악해야 할 것은 어디가 병목인지입니다.CPU가 Game Logic을 처리 → GPU에게 Draw Call 명령을 전달이 명령은 바로 실행되지..

[Unite Seoul 2025] Unity와 함께 디지털트윈을 위한 산업용 Asset 효율적으로 관리하기

해당 영상을 보니 대략적으로 Unity Asset Manager, 디지털 트윈을 위한 3D 에셋 통합 관리 플랫폼을 소개하는 내용이였다. 디지털 트윈 개발에서 가장 큰 난관 중 하나는 산업용 3D 데이터의 효율적인 관리와 재사용이다.이 글에서는 [Unite Seoul 2025]에서 소개된 Unity Asset Manager를 통해 3D 에셋을 어떻게 통합 관리하고 협업 효율을 극대화할 수 있는지 영상을 보며 정리해보았다. 1. Unity Asset Manager란?Unity Asset Manager는 3D 에셋 관리에 최적화된 지능형 에셋 관리 플랫폼으로, 산업 현장에서 발생하는 다음과 같은 문제들을 해결할 수 잇다고 한다3D 파일이 여러 팀/시스템에 흩어져 있고 찾기 어려움에셋 재사용이 어렵고, 새로..

[Unite Seoul 2025] Unity 기반 크로스 플랫폼 - XR 기기 비교 분석

이번 글에는 Unite Seoul 2025에서 강연한 Unity 기반 크로스 플랫폼 내용을 듣고 간략하게 정리해보자.Unity 기반 크로스 플랫폼 XR 개발을 위한 주요 XR 기기는 크게 3가지로 구분된다. 이것을 MR → AR → VR 순서대로 비교 분석을 해보겠다. 1. MR(Mixed Reality) 기능 비교항목Meta Horizon OSvisionOSAndroid XRMR 실행 모드Immersive ModeBounded / UnboundedFull Space기술 기반OpenXRRealityKit + PolySpatialOpenXR + Google AR Extensions콘텐츠 배치단일 앱 몰입형 실행볼륨 기반 (Bounded), 공간 전체 배치 (Unbounded)공간 전체 배치 (Full S..

[개발일지] 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 포함)를 활용하여 코드의 재사용성을 높이고, 실행 성능을 개선할 수 ..

반응형