전체 글45 Unity 에서 지체없이 Play Mode 로 진입하는 방법 Unity에서 Play Mode로 진입할 때마다 몇 초간 진행 바가 나타난 후 실행이 시작되는 경험을 해보신 적이 있을 것입니다. 이는 Unity가 매번 스크립트와 씬을 초기화하는 과정 때문입니다. 단순한 테스트를 반복하는 개발 과정에서는 이 대기 시간이 다소 번거롭게 느껴질 수 있습니다. 이러한 경우에는 Edit > Project Settings > Enter Play Mode Settings 항목에서 제공하는 "Reload Domain" 및 "Reload Scene" 옵션을 통해 실행 속도를 개선할 수 있습니다. 이 두 항목의 체크를 해제하면, 매번 Play Mode 진입 시 초기화 과정을 생략하고 즉시 실행이 가능합니다. 진행 바 없이 곧바로 실행되므로, 반복 테스트 시 매우 유용합니다. Rel.. 2025. 4. 14. Audio Clip 을 Dictionary 로 관리하기 : Serializable 과 List 활용 Unity 에서 여러 AudioClip 을 관리하는 다양한 방법들이 존재하지만, 이번 글에서는 AudioClip 을 key 기반으로 관리할 수 있도록 Dictionary를 활용하고, Unity Inspector 창에서 오디오 데이터를 등록할 수 있도록 Serializable 클래스와 List 를 함께 사용하는 방법에 대해 소개하겠습니다. System.Serializable먼저 아래와 같이 클래스를 정의할 때 자주 보게 되는 [System.Serializable] 속성부터 살펴보겠습니다.[System.Serializable]public class KeyAudioClip{ public string key; public AudioClip clip;} 이 속성은 Unity가 해당 클래스를 Inspe.. 2025. 4. 8. SceneManager.sceneLoaded 에 대해 Unity에는 SceneManager라는 전역 static 클래스가 존재합니다. 이 클래스는 씬 전환과 관련된 기능들을 담당하며, 그 중에서도 sceneLoaded라는 이벤트는 새로운 씬이 로드되었을 때 자동으로 호출되는 이벤트입니다.이벤트이기 때문에 += 연산자를 통해 간단히 원하는 메서드를 등록할 수 있으며, 이벤트가 발생하면 해당 메서드가 자동으로 호출됩니다. 언제 사용해야 할까?SceneManager.sceneLoaded 는 보통 다음과 같은 경우에 사용됩니다 * scene 전환 이후 특정 데이터를 다시 설정하거나 초기화해야 할 때* singleton 매니저가 scene 내 오브젝트를 다시 찾거나 데이터를 새로 준비할 필요가 있을 때* 매번 scene 이 바뀔 때마다 공통적인 작업을 자동으로 처.. 2025. 4. 5. Scene 전환 시, 오브젝트 연결이 끊어지는 이슈 해결 방법 Unity에서 작업하다 보면, Inspector에서 어떤 오브젝트를 직접 수동으로 끌어다가 연결해 두었는데, 씬을 바꾸고 돌아오면 그 연결이 Missing으로 표시되는 경우가 있습니다. 처음엔 버그처럼 느껴지지만, Unity 구조상 이건 아주 당연한 현상입니다. 왜 연결이 끊어질까?Inspector에서 연결한 오브젝트는 현재 씬 안에 존재하는 오브젝트입니다. 그런데 씬을 전환하면, 해당 씬 안에 있던 오브젝트들은 메모리에서 사라지고, 다음 씬의 새로운 오브젝트들로 바뀝니다.즉, 연결되어 있던 오브젝트가 씬 전환 시 사라지기 때문에 그 필드는 자동으로 Missing 상태가 됩니다. 그럼 다시 원래 씬으로 돌아오면 연결이 복구될까?안타깝게도 그렇지 않습니다. Unity는 Inspector 에서 손으로 연.. 2025. 4. 5. 유니티에서 플레이 모드인지 아닌 헤깔릴 때 유니티에서 작업을 하다 보면, 플레이 모드에 들어간 상태에서 값을 수정한 경험이 한두 번쯤은 있으셨을 것입니다.그리고 아무 생각 없이 정지 버튼을 눌렀는데, 방금 설정했던 값들이 모두 원래대로 되돌아가 당황하셨던 적도 있으실 것입니다.유니티를 처음 접하신 분이라면 누구나 한 번쯤 겪는 상황입니다.저 역시 지금이 플레이 모드인지 편집모드인지 헷갈릴 때가 종종 있습니다.다행히도 유니티에는 플레이 모드일 때 에디터 창의 색상을 변경하는 기능이 마련되어 있습니다.이 기능을 설정해 두면, 플레이 모드에 진입했는지를 훨씬 쉽게 확인할 수 있습니다. 설정 방법 유니티 상단 메뉴에서(1) Edit → Preferences (Mac은 Unity → Preferences) 항목을 클릭합니다.(2) 왼쪽 메뉴에서 Colo.. 2025. 4. 5. int.TryParse() 와 Convert.ToInt32() 중 어떤 걸 써야하나? 고민된다면 문자열을 정수로 변환할 때, C# 에서는 주로 Convert.ToInt32()와 int.TryParse()를 사용합니다. 두 방식은 결과는 비슷해 보이지만, 동작 방식과 성능 특성에서 큰 차이를 가집니다. Convert.ToInt32(string)int number = Convert.ToInt32("123"); * 문자열을 정수로 변환합니다* 실패 시 FormatException 예외를 발생시킵니다try{ int number = Convert.ToInt32("abc"); Console.WriteLine($"변환 성공: {number}");}catch (FormatException){ // FormatException 발생 Console.WriteLine("변환 실패: 형식이 올바.. 2025. 4. 2. 이전 1 2 3 4 ··· 8 다음