목차
3D 방치형 RPG Idle Adventure 2일차
어제 한 분 탈주하시고, 유일한 나의 개발 팀원분은.. 예비군을 가셨다.
그래서 혼자지만! 집중해보려고 한다!
스크립트 실행 순서 수동 설정
GameManager와 UIManager를 둘 다 싱글톤으로 구현하고 있고, UIManager에서 GameManager 내부의 필드를 호출하려고 하니 자꾸 Null 예외가 떠서 곤란했다.
GameManager에서 Awake에 먼저 선언을 해주고 그 후에 UIManager Start에서 참조하면 될 거라고 생각했는데 그렇게 되지 않았다.
유니티에는 스크립트 실행 순서를 수동으로 설정하는 방법이 있다.
Edit -> Project Settings -> Script Execution Order를 통해 다음과 같은 창을 열 수 있다.

오른쪽 하단의 + 버튼을 눌러 순서를 수동으로 설정하고 싶은 스크립트를 찾아 추가한다.
Default Time을 기준으로 상단의 항목들은 음수, 하단의 항목들은 양수가 된다.
숫자가 작을 수록 먼저 실행된다.
다만, 나 같은 경우에는 Inspector에서 Player.cs를 직접 연결을 시켜줬는데, 이럴 경우 Player.cs는 UIManager.cs보다 늦게 호출되기 때문에 문제가 해결되지 않았다.
private void Awake()
{
if (instance == null)
{
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(this.gameObject);
}
player = FindObjectOfType<Player>();
}
GameManager.cs에서 Awake()에서 FindObjectOfType으로 Player를 찾아주었다.
하지만 Find 쓰지 말라는 얘기를 정말 많이 들어서... Awake와 같이 일회성 호출인 경우 괜찮다고는 하지만... 음 찝찝..
챌린지반 특강: 프로젝트 구조 샘플
Constants.cs 파일 내부에서 class들로 종류를 구분해 상수를 관리.
public static class Path
{
public const string Prefab = "Prefab/";
}
UIManager, ResourceManager, SceneLoadManager 등을 만들어서 사용하는 예제들을 보여주셨다.
제네릭 싱글톤, 제네릭 오브젝트 풀
다음 팀 프로젝트를 위해 잠깐 머리 식히는 동안 제네릭 싱글톤과 제네릭 오브젝트 풀에 대해서 알아보았다.
검색하다가 발견한 내배캠 선배님의 글.
추후에 활용할때 다시 참고해보려고 간단히 메모할겸 적어둔다.
느낀점
밥 타임에 '맛있게 드세요.' 할 사람이 없어서 조금 외로웠다...
매니저님과 튜터님이 오셔서 다른 팀보다 더 신경써주시겠다고 하고 오셨다.
원래는 다음주부터 담당 튜터님이 배정될텐데 이번주부터 담당 튜터님 배정되서 순회를 돌아주실거라고 하셨다.
내일 학습 할 것은 무엇인지
당연하게도?
오늘 하기로 계획했던 것을 완료하지 못했다.
조금 무리하게 계획하기도 했고...
오늘 하지 못한 UI Slot과 캐릭터 아이템 구매/장착을 위한 상점+인벤토리 시스템을 구현해야한다.
된다면 캐릭터 모델을 변경하고 애니메이션을 추가하면 좋을 것 같다.
코인 획득 또한 씬에 프리팹을 생성해서 드랍하고 그걸 수확하는 느낌으로 만들고 싶은데, 조금 복잡해보이기도 하고... 아마 못하겠지?
'부트캠프 > 본캠프' 카테고리의 다른 글
| [내일배움캠프_2025AUG29] Idle Adventure 제출, 구조에 대한 아이디어 (0) | 2025.08.29 |
|---|---|
| [내일배움캠프_2025AUG28] 3D 방치형 RPG Idle Adventure 3일차 (0) | 2025.08.28 |
| [내일배움캠프_2025AUG26] 3D 방치형 RPG Idle Adventure 1일차 + 팀의 위기.. (0) | 2025.08.26 |
| [내일배움캠프_2025AUG25] 유니티 심화 주차 팀 편성 및 프로젝트 준비 (0) | 2025.08.25 |
| [내일배움캠프_2025AUG22] 팀 프로젝트 발표: 트러블슈팅 (0) | 2025.08.22 |