유니티 에디터에서 실행할때는 아무 문제없이 모든 로그도 다 정상적으로 전부 멀쩡하게 잘만 찍히는데
대체 왜 빌드를 하니깐 결과가 다르게 나오는거냐고
왜 저러는거지 대체? 아니 로그를 찍어도 빌드때만 다르고 에디터에선 그냥 시작부터 끝까지 뭐하나 이상한거 없이 100% 잘만 진행되는데 뭐야 대체 뭐 어쩌란건지 모르겠음 이건. 그냥 뭐 감이 안와 애초에.
에디터에서는 멀쩡하게 잘되니깐 인스펙터에서 뭐 잘못된걸 확인할 방법도 없어 걍 빌드에서만 저지랄이니깐 확인할 방법도 빌드할때 로그 몇개 해보는게 전부인데 이것도 에디터로는 멀쩡하게 나오니깐 뭐하자는건지 모르겠네 시발거진짜
혹시 파일같은거 읽어올때 스트리밍에셋인가 하는 폴더 말고 다른걸로 지정했으면 못읽어오거나 저장실패가 뜨기도함...
게임 저장하고 로드하는 폴더 위치를 코드상에서 직접 지정해주긴했는데 저 위에서 null이 뜨는 지역은 다른 곳이긴 하거든요. 그래도 뭔가 꼬여서 문제가 날 수 있나요?
근데 그 위치도 Application.persistentDataPath 에 덧붙인거긴함
런타임 시점에서 파일을 읽거나 수정이 안된다고 함....
ai에 물어보니깐 빌드때랑 초기화 순서가 달라질 수 있다는데 맞나요? 그러면 이런건 뭐 어떻게 해야함? 에디터에선 초기화하는 순서가 맞게 잘되어서 그렇게 실행했는데 빌드때 달라진다면 이건 뭐 어케함??
그거 때문에 프로그래밍에서 매니저를 쓰는거긴함...
Awake, Start, OnEnable들은 Awake->OnEnable, Start->렌더링, 순으로 순서가 보장되지만, 개별 오브젝트의 Awake 혹은 Start들끼리의 순서는 보장안됨. Update도 마찬가지. B스크립트 Awake에서 A가 Awake가 불렸다는 가정을 하고 코딩하면 안된다는거. 순서를 명확하게 해야할거면 명시적으로 순서대로 초기화해주는 코드를 넣거나 최대한 그런 코드를 짜는걸 피하셈
답변 감사합니다. 지금 문제생기는 부분이 추측하기론, 게임매니저에서 awake에서 플레이어 클래스에 구현된 플레이어초기화 함수를 호출하는 과정에서 나는 것 같거든요. 다시 생각해서 해볼게요..
해당 댓글은 삭제되었습니다.
와 진짜 너무 감사해요 저도 이거 알고있었는데 기억을 못했거든요. 이거보고 기억나서 해가지고 됐어요 너무 감사해요 진짜 사랑해요
에디터모드서만 되는 매서드가 있어
저 초보라서 그런 메소드가 있는지도 몰랐어유..