반응형

전체 글 1533

데이터 시리얼라이제이션 완전 정복하기

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 데이터 시리얼라이제이션 완전 정복하기 (2022. 04. 22)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=kEu_AQ_Es-8 직렬화(Serialization) YAML, JSON, XML 등은 대표적인 직렬화 포맷이며, 오늘은 직렬화에 대해서 설명하다 보면 FileID, Meta file, GUID의 개념과 더 나아가 Prefab, Scriptable Objests도 설명한다. Serialization는 유니티를 쓰고 있다면 이미 대부분의 개발자들이 쓰고 있을 내용이다. 일반적으로 스크립트를 작성하고, 저장 후 유니티를 확인할 경우 인스펙터에서 선언한 변수를 편집할 수 있다. 예를들어 선언할 때..

개발/유니티 2025.11.17

스크립터블 오브젝트(ScriptableObject)에 대하여 알아보자.

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 유니티 ScriptableObject 소개 (2024. 12. 11)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=UBt1Icebh1g 영상 목차 01 ScriptableObject 는 무엇인가? 02 ScriptableObject 생성 방법 03 ScriptableObject 로 메모리 최적화하기 04 ScriptableObject vs MonoBehaviour 05 ScriptableObject의 직렬화 06 패턴 : 확장된 Enum 07 패턴 : 델리게이트 객체 08 패턴 : 옵저버 (싱글톤 회피) 09 패턴 : 커맨드 10 패턴 : 런타임 셋 11 결론 및 마무리 01 ScriptableO..

개발/유니티 2025.11.14

[디자인패턴] UI에 걸맞는 MVC, MVP, MVVM 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] UI에 걸맞는 MVC, MVP, MVVM 패턴 | 프로그래밍 디자인패턴 (2024. 9. 12)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=fxlYxhhf83s [MVC, MVP, MVVM] → 각각의 방식이 UI와 로직 간의 연결 방식이 서로 다를 뿐, 모두 UI와 비즈니스 로직을 분리하여 유지보수성과 확장성을 높이는 패턴이다. 과거 DOS 시절에는 UI/UX가 복잡하지 않았다. 그러나 이는 오늘날에는 통용되지 않는다. 오늘날에는 이전과 같이 UI/UX를 혼자 작업할 수 없다. 따라서 여러명이 공동 작업을 해야하는데, 이에따라 구조의 중요성이 더더욱 중요해졌다. 이로 인해 다양한 패턴(MVC, M..

개발/유니티 2025.11.12

[디자인패턴] 상태로 로직을 구성하는 State 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 상태로 로직을 구성하는 State 패턴 | 프로그래밍 디자인패턴 (2024. 7. 9)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=uFKd7JbI5QY [State] → 객체의 내부 상태에 따라 행동이 동적으로 변하도록 하는 패턴이다. * 객체의 내부 상태에 따라 스스로 행동을 변경 * 상태를 클래스로 캡슐화하고, 상태 전환을 클래스 간의 참조 변경으로 처리 * Ex) 캐릭터 애니메이션 상태, 네트워크 연결 상태, 툴 상태 [장점] * 유연한 상태 전환 : 상태를 캡슐화하여 상태 전환 로직을 각 상태 클래스에 분리 * 상태 전환을 더 쉽게 관리하고 확장할 수 있게 함 * 가독성 향상 : 상태 전환 ..

개발/유니티 2025.11.05

[디자인패턴] 여러 정보를 하나로 패킹하여 전달하는 Command 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 대상의 액션에 반응하는 로직을 만드는 Observer 패턴 | 프로그래밍 디자인패턴 (2024. 7. 11)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=51sFAT2xZ40 [Command] → 요청(명령)을 객체로 캡슐화하여, 실행·취소·저장을 유연하게 관리할 수 있게 하는 패턴이다. * 각 요청을 객체의 형태로 캡슐화하여 명령을 실행하는 객체(Receiver)와 명령을 내리는 객체(Invoker)를 분리 - 단일 책임 원칙 (Single Responsibility Principle) * 새로운 명령을 추가할 때 기존 코드를 수정할 필요 없이 새로운 ConcreteCommand 클래스를 추가 - ..

개발/유니티 2025.10.31

[디자인패턴] 디자인 패턴의 기초, SOLID (솔리드) 원칙 이해하기

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 디자인 패턴의 기초, SOLID (솔리드) 원칙 이해하기 (2024. 6. 4)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=J6F8plGUqv8 [SOLID 원칙] → 객체 지향 설계에서 유연하고 확장 가능하며 유지보수가 쉬운 구조를 만들기 위한 5가지 핵심 원칙 [결론]* Single responsibility (단일 책임의 원칙) → 클래스는 하나의 책임만 가져야 한다.* Open-closed (개방 폐쇄 원칙) → 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.* Liskov substitution (리스코프 치환) → 자식 클래스는 부모 클래스의 행위를 대체할 수 있어야 한다.* Interf..

개발/유니티 2025.10.30

[디자인패턴] 대상의 액션에 반응하는 로직을 만드는 Observer 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 대상의 액션에 반응하는 로직을 만드는 Observer 패턴 | 프로그래밍 디자인패턴 (2024. 7. 11)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=Sq6LAJ9tqBY [Observer] → 객체의 상태 변화를 관찰하는 여러 객체에게 자동으로 알림을 전달하는 패턴이다. * 청취자(observer)들에게 신호를 보내는 라디오송신탑(subject)과 유사 * 오브젝트의 상태가 변경되면 종속된 모든 오브젝트에 알림 * 1:N 종속 관계를 사용해 오브젝트가 통신하되 낮은 결합도를 유지 * Subject는 Observer를 알지 못하거나, * 신호를 수신한 Observer가 무엇을 하든 관여 안함 * ..

개발/유니티 2025.10.29

[디자인패턴] 객체지향의 기본기 Strategy 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 객체지향의 기본기 Strategy 패턴 | 프로그래밍 디자인패턴 (2024. 9. 12)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=ic2tGGQrq1c [Strategy] → 알고리즘(행동)을 캡슐화하여 상황에 따라 동적으로 교체할 수 있게 하는 패턴이다. * 동일 계열의 알고리즘군을 정의하고, 각각의 알고리즘을 캡슐화하여, 이들을 상호 교환이 가능하도록 만듦 * 객체 내에서 알고리즘이나 동작을 래핑하고 상호 교환 가능하게 만들어 이 문제에 대한 솔루션을 제공 * 각 객체는 동적으로 실행될 수 있는 고유한 동작을 캡슐화 * 알고리즘을 사용하는 사용자와 상관 없이 독립적으로 알고리즘을 다양하게 런타..

개발/유니티 2025.10.28

[디자인패턴] 어디에서나 사용하는 DirtyFlag 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 어디에서나 사용하는 DirtyFlag 패턴 | 프로그래밍 디자인패턴 (2024. 9. 13)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=6lCrgdLBIGw [DirtyFlag] → 데이터가 변경되었을 때만 다시 계산하거나, 갱신하도록 표시(Flag)를 두어, 불필요한 연산을 줄이는 최적화 패턴. 와우와 같은 대규모 MMORPG에서는 사용자 캐릭터가 위치한 맵 전체를 다 로드하면 메모리가 터지므로, 청크(=맵을 피자와 같이 잘르는 행위)라는 개념을 통해 월드를 여러개로 쪼개고 캐릭터가 있는 곳, 볼수 있는 곳만 로딩하고 캐릭터의 이동에 따라 실시간으로 메모리를 올리고 내린다. 이럴 때에 사용하는 ..

개발/유니티 2025.10.27

[디자인패턴] 유일무이한 객체 인스턴스가 필요하다면? Singleton 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 유일무이한 객체 인스턴스가 필요하다면? Singleton 패턴 | 프로그래밍 디자인패턴(2024. 9. 11)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=Tf_VZEgnag0 [Singleton] → 유일무의한 존재를 만드는 것. 즉 하나의 존재를 만드는 것이다. * 해당 단일 인스턴스에 대한 손쉬운 전역 액세스를 제공 * 하나의 객체만 존재 할 필요가 있을 때 - 상태창 - 게임 매니저 - 오디오 매니저 - 파일 관리자 - UI Setting - 등등 * 안티패턴으로 취급되기도 함 * 커플링이 발생하기 쉬운 구조 * 테스트 및 디버깅이 불편함 → 생성 시점이 명확하지 않을 경우가 생긴..

개발/유니티 2025.10.26

[디자인패턴] 오브젝트를 다루는데 적합한 Objectpool 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 수많은 오브젝트를 다루는데 적합한 Objectpool 패턴 | 프로그래밍 디자인패턴(2024. 9. 10)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=jvJ1Vd7PGwk [ObjectPool 패턴] → 수 많은 오브젝트들을 다루는 최적화 기술 * "Pool"에서 준비된 상태로 대기 중인 초기화된 오브젝트 세트를 사용 * 오브젝트 필요 시 새로 인스턴스화 하는 대신, 풀에서 오브젝트를 활성화하여 사용 * 사용이 끝나면 Destory 대신 비활성화하고 풀에 반환 * 가비지 급증으로 인해 발생할 수 있는 끊김 현상(Hiccup, GC spike) 예방 * 주로 로딩화면 등에서 미리 생성 위 이미지..

개발/유니티 2025.10.25

[디자인패턴] 객체 생성을 위한 Factory 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 객체 생성을 위한 Factory 패턴 | 프로그래밍 디자인패턴(2024. 9. 9)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=qhtL9EYtB3Q [Factory 패턴]→ 객체 생성을 위한 패턴 * 객체 생성에 대한 인터페이스와 구현을 분리한다. * 객체 생성과 관련된 많은 세부 정보를 캡슐화한다. * 새로운 객체의 대한 생성 방식에 대해 확장이 가능하다. 패턴을 적용하지 않은 ItemManager를 살펴보자. 간단한 예를 들어 FPS 게임을 만든다고 가정하면 ItemType이 Health, Speed, Shield 등 다양한 타입의 아이템이 만들어질 것이다. 이 때 문제점은 새로운 아이..

개발/유니티 2025.10.24

[디자인패턴] 인스턴스가 가진 속성을 최적화하는 Flyweight 패턴

❗ 유니티 코리아에서 소개시켜주는 [유니티 TIPS] 대량의 인스턴스가 가진 속성을 최적화하는 Flyweight 패턴 | 프로그래밍 디자인패턴(2024. 9. 13)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=0j3Y_YUV_Mw [Flyweight 패턴] → 성능 즉. 메모리 사용과 절약에 관련된 패턴이다. 이를 사용하면 디자인 패턴인 만큼 물론 코드 유지보수도 더 간결해지겠지만 해당 패턴의 핵심 목적은 메모리 성능에 맞춰져있다. * 여러 객체들을 공유를 통해 이들을 효율적으로 지원한다. * 다른 디자인 패턴과는 달리, 메모리 및 성능 최적화에 초점이 맞춰져 있음 예를들어 위 이미지에서 보이는 것과 같이 복제된 비행기 GameObject들이 씬에 존..

개발/유니티 2025.10.23

60대까지 현역, 40년간 개발자로 살아남은 비결

요즘 IT에서 진광헌님을 인터뷰하며 나눈 내용이다. 짧은 인터뷰 내용이지만 내가 요즘 생각하고 있는 농업 자동화 프로젝트를 하고 계신다고 하길래 놀랬다. 연락을 드릴 수 있는 방법이 없나 궁금하다. 출처 : https://yozm.wishket.com/magazine/detail/3385/ 60대까지 현역, 40년간 개발자로 살아남은 비결 | 요즘IT1980년부터 애플2와 함께 시작해 40년간 개발자의 길을 걸어온 진광헌 님. 대기업 부장과 사업가를 거쳐 10년째 프리랜서로 활동 중인 베테랑입니다. CAD, 웹, 임베디드, AI까지 폭넓은 기술 스택을yozm.wishket.com

공부/자기계발 2025.10.22

개발은 나이와 함께 익어간다

GeekNews에서 본 문서가 마음에 들어 아카이브 합니다. 특히 생성형 AI로 인해 불안해 하는 사람들에게 좋은 직언을 해주셔서 좋네요. 출처 : https://news.hada.io/topic?id=23667 개발은 나이와 함께 익어간다 | GeekNews아마존 CTO Werner Vogels 박사의 글이런 속삭임을 들었음. “이제 그도 나이가 들었는데, 누가 후임이 될까?”사람들이 진지하게 물음. “은퇴는 언제 하실 건가요?”Amazon에서 거의 25년을 보냈고,news.hada.io

공부/자기계발 2025.10.21

깔끔한 코드 작성을 위한 스타일 가이드

❗ 유니티 코리아에서 소개시켜주는 깔끔한 코드 작성을 위한 스타일 가이드(2024.10.16)을 보고 작성한 내용입니다. 링크 : https://www.youtube.com/watch?v=eoJLowmz5zU [좋은 프로그래머는 사람이 이해할 수 있는 코드를 만든다.] 1. KISS (Keep it simple, stupid) → 간단하게 만들어라. 필요한 것만 최소한으로 구현해라. 2. 문제를 우회하지 마라. → 개발하다보면 Null 체크를 하게 되는 상황이 온다. 그렇다고 해서 조건문을 통해 Null 체크를 넘어가지 말고, 이 객체가 왜 Null이 되는지 근본적인 문제를 확인해라. 3. 너무 완벽하게 만들려고 하지 말아라. → 단, 절대 대충 만들라는 것은 아니다. 4. 계획하되, 적응하라 → ..

개발/유니티 2025.10.20

알고 있으면 쓸데 있는 IL2CPP, Mono, AOT, JIT 개념 파헤치기

❗ 유니티 코리아의 알고 있으면 쓸데 있는 IL2CPP, Mono, AOT, JIT 개념 파헤치기를 보고 작성한 내용입니다. 3년전 영상인지라, 영상 속 개념이 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=-9X965jXrn8 [유니티는 C#이라 느리다!?] 이는 잘못된 개념이다. 사실 유니티 엔진 코어는 C++로 구현되어 있고, 사용자들이 작성하는 게임 로직은 C#으로 하도록 인터페이스를 제공한다. 따라서 C#이기 때문에 느리다는 것은 오해다! [IL2CPP] 결론부터 말하면 IL을 C++로 바꾸는 것이다. 그런데 이렇게 딸랑 작성해놓으면 알 수가 있나? 천천히 하나하나 알아가도록 하자. 태초에 언어 행성에는 C언어가 있었다. ..

개발/유니티 2025.09.22

유니티 모바일 게임 성능 최적화 - 2편

❗ 유튜브 내 유니티 코리아 재직중이신 지현짱님이 소개시켜주는 모바일 게임 성능 최적화 1편(2021.10.14)을 보고 작성한 내용입니다. 4년전 영상인지라, 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=RLcSRuZsZQU [Assets] 1. 무슨 확장자를 사용해도, 결국 유니티 내부에서 변환이 이루어진다. → 다양한 확장자(TGA, JPG, PNG, PSD 등) 파일 중에서도 PNG나 JPG 같은 가벼운 확장자를 사용해도, 결국 유니티 내부에서 변환(ETC, PVRTC, ASTC)로 이루어진다. 따라서 원본 포맷이 무엇이던 간에 상관없다. 2. 플랫폼별로 텍스처를 사이즈를 오버라이딩 하는 것이 좋다. → 아무리 최신 핸드폰을 사용하더..

개발/유니티 2025.09.21

유니티 모바일 게임 성능 최적화 - 1편

❗ 유튜브 내 유니티 코리아 재직중이신 지현짱님이 소개시켜주는 모바일 게임 성능 최적화 1편(2021.10.14)을 보고 작성한 내용입니다. 4년전 영상인지라, 현재와 다른 부분이 있을 수 있습니다. 링크 : https://www.youtube.com/watch?v=1mJtoceqvro [Profiling] 1. 프로파일링을 맹목적으로 하지 말아라. → 단순히 아티스트 분에게 '텍스처 크기를 줄여라.' 해도 게임에는 아무 변화 없다. 2. 프로파일링은 누가 하는가? → 게임의 성능은 그래픽에서만 나오는 것이 아니다. 프로그램의 전반적인 흐름과 연산의 적용 등은 프로그래머가 알고 있기 때문에 프로그래머가 1차적으로 검사를 하고 TA에게 시키는 것이 맞다. 3. 출시 직전에 프로파일링을 하지 마라..

개발/유니티 2025.09.20

[GooglePlayConsole] 앱에서 Google Play 결제 라이브러리 버전 7.0.0. 이상을 사용해야 합니다.

최초 작성일 : 25.09.18수정일 : X.X.X '앱이 Android 15(API 수준 35) 이상을 타켓팅해야 함'과 같이 나타난 문제, 결제 라이브러리를 업데이트 해달라는 말이었다. 그나마 일전에 겪은 35 타게팅, 16Kb 보다는 수월하다. 바로 업데이트를 진행하도록 하자. 아니나 다를까? 역시 코쟁이 형님들이 이미 유니티 포럼에 문의를 진행해 포럼이 열려있다. 해당 포스팅을 참고했다. https://discussions.unity.com/t/urgent-unity-iap-does-not-support-google-play-billing-library-v7-august-2025-deadline/1661548/11 유니티로 돌아가자. 상단 메뉴 Windeow 에서 Package Man..

개발/유니티 2025.09.19
반응형