인프런 커뮤니티 질문&답변

초보님의 프로필 이미지
초보

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

환경 설정

The script don't inherit a native class that can manage a script.

작성

·

2K

0

HelloUnity 스크립트를 GameObject에 추가하려했더니

The script don't inherit a native class that can manage a script.

이렇게 뜨는데 왜그러는 걸까요ㅠㅠ

답변 3

3

해당 오류는 C# 코드 파일의 파일명과 클래스명이 같지 않을 때 발생합니다.

강의 따라서 만드시느라 일단 C# 스크립트 파일을 만든 다음에 이름 바꾸기를 하셨나요?

그러면 파일 이름이랑 기본 할당되는 클래스명이 다르게 됩니다.

C# 스크립트 켜면 아래와 같은 내용이 있을 거예요.

여기서 class명을 파일명(HelloUnity라면 HelloUnity로, 다른 이름으로 저장하셨으면 그 이름으로) 일치시켜주시면 됩니다.

유니티는 class와 파일명이 일치하지 않으면 인식을 못 한다고 하네요.

public class HelloUnity : MonoBehaviour
Rookiss님의 프로필 이미지
Rookiss
지식공유자

아~ 저 에러가 파일 불일치 문제군요.
확인 감사드립니다.
너무 오랜만에 봐서 저런 메시지가 뜨는줄도 몰랐네요 ..

0

코드에 yunahyeri처럼

마지막 문장을 걸 추가해야 하는 건가요?

Rookiss님의 프로필 이미지
Rookiss
지식공유자

새로운 cs 파일을 만들고 이름을 설정하면,
기본적으로 [파일이름] : MonoBehavior 까지는 자동으로 추가가 되어 있습니다.
이름을 뒤늦게 수정할 경우, [파일이름] 부분을 직접 수정해줘야 합니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

강의 5강 컴포넌트 패턴 강의 14분 45초쯤 보면

선생님이 이름 잘못 입력했을 때 class 명 바꾸는 법 알려주십니다!

그거 참고해서 바꾸시면 돼요!

저 에러가 파일 이름이랑 클래스 이름이 일치하지 않을 때 뜬다는 것만 기억하시면 될 것 같습니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

https://forum.unity.com/threads/the-script-dont-inherit-a-native-class-that-can-manage-a-script.1011988/

유니티 관련 에러는 그대로 복붙해서 구글에 찾아보면 대부분 원인이 나옵니다.
아마도 게임 Play 중에 파일을 추가한 경우가 아닐까 싶네요

초보님의 프로필 이미지
초보

작성한 질문수

질문하기