이번 포스팅에서 유니티에서 흔히 있는 Syntax(문법) 오류에 대해서 알아보겠습니다. 논리적인 부분에서 생기는 오류가 아니라 단순 오타나 누락으로 인해 생기는 오류이며 오류 내용에 무엇이 문제인지 알려주기에 해결이 쉽습니다.
1. 문법 누락
1.1 원인

문법이 누락된 경우입니다. 이 경우에는 코드를 실행하는 ;가 누락된 경우입니다. 오류의 내용은 스크립트의 11번째줄 26번째에 ;가 누락되었다는 것을 나타냅니다.

Debug.Log(syntax); 에 있는 ;가 누락된 경우로 ;가 필요한 위치인 (syntax)뒤에 붉은 물결표시로 표시해줍니다. 이외에도 Debug.Log(syntax; 같이 )가 누락된 경우에도 같은 형태의 오류로 나타납니다.
1.2 해결
스크립트에서 오류문구가 알려주는 위치의 누락된 부분을 정상적으로 수정해줍니다. 해당 스크린샷의 경우 Debug.Log(syntax)를 Debug.Log(syntax);로 수정합니다.
2. 타입 불일치
2.1 원인

타입이 다른 값을 입력하려고 할 때 발생합니다. 해당 문구는 int타입 변수에 string값을 입력하려고 할 때 발생한 오류입니다.

int타입 변수에 string타입인 “문법오류” 라는 값을 넣으려고 했기 때문에 “문법오류” 부분이 전부 붉은 물결 표시로 나타납니다.
2.2 해결방법
일치하지 않는 타입을 일치하게 수정합니다. 이 경우 int타입 변수에 string값을 넣으려고한 상황으로 둘 중 하나를 변경해줍니다.
int syntax;를 string syntax;로 변경하여 “문법오류” 값을 받거나
“문법오류”를 int타입에 맞는 정수값으로 수정합니다. (string값은 값의 앞뒤로 “”가 들어감. 정수로 변경시 “”도 제거해야함)
3. 잘못된 함수 호출
3.1 원인

오타 등으로 인해 존재하지 않는 함수를 호출하려고 할 때 발생합니다. 해당 오류는 Debug.Log(syntax);가 아닌 Debug.Izzet(syntax);로 입력하여 발생한 오류입니다.

Debug함수에 존재하지 않는 Izzet을 실행하려고 했기 때문에 Izzet에만 붉은 물결 표시가 나타납니다.
3.2 해결방법
Debug.Izzet(syntax);를 Debug.Log(syntax); 혹은 정상적으로 존재하는 함수로 변경합니다.
이번 포스트에서는 다른 오류에 비해서 아주 간단하고 쉬운부분이라 해결도 쉽습니다. 초보단계에서는 장문의 스크립트를 사용하지 않으니 오류내용을 몰라도 스크립트 내부에서 붉은 물결만으로도 해결이 가능할정도로 쉽습니다.
다만 오류문구가 뭔지는 알고 가는게 좋지 않을까 해서 포스팅을 해봤습니다.