SpawnActor()는 생성 호출이 아니라 수명 계약의 시작이다

성공 포인터를 얻는 데서 끝내지 않는다. 입력을 검증하고 월드에 배치한 뒤, 초기화·참조 보관·제거까지 한 흐름으로 추적해야 한다.

01 · VALIDATE

월드와 클래스 확인

GetWorld(), TSubclassOf, 서버 권한이 유효하지 않으면 호출 전에 중단해 실패 원인을 고정한다.

02 · PLACE

좌표와 충돌 결정

소켓·타겟·월드 중 Transform 기준을 정하고, SpawnCollisionHandlingOverride로 겹침 정책을 명시한다.

03 · INITIALIZE

생성 직후 상태 연결

반환값을 검사한 뒤 Owner, Instigator, 데미지와 목표 같은 필수 값을 초기화하고 게임 흐름에 연결한다.

04 · RELEASE

보관과 종료 책임 지정

다시 쓸 참조의 소유자를 정하고, 일회성은 Destroy(), 반복 생성 대상은 풀링으로 회수한다.