진단 코드

모든 UDN 거부 코드와, 무엇이 그것을 일으키며 대신 무엇을 써야 하는지.

업데이트 2026-09-05

모든 거부에는 고정된 UDN 코드가 붙습니다. 순수한 C# 오류는 C# 컴파일러 본래의 CS 코드를 그대로 유지합니다. Udonite는 첫 거부에서 멈추지 않고 계속 진행하므로, 한 번 컴파일하면 그 behaviour의 모든 문제가 한꺼번에 나옵니다.

코드 어떻게 할지
UDN0002 지원하지 않는 구문. Udonite가 아직 컴파일하지 못합니다. 다른 방식으로 바꾸거나, 해당 줄과 함께 이슈를 남겨 주세요. "아직"인 거부는 점차 풀립니다.
UDN0003 지원하지 않는 형식. Udon에 대응하는 표현이 없는 형식입니다. 지원되는 형식을 쓰세요. 배열은 원소 형식이 지원될 때만 지원됩니다.
UDN0004 지원하지 않는 프로그램 구조. 클래스 전체를 하나의 Udon 프로그램으로 만들 수 없습니다(예: Udon이 담을 수 없는 기반 형식). 메시지의 안내를 따르세요.
UDN0005 Udon extern이 없습니다. 호출한 Unity 또는 .NET 멤버를 Udon이 등록하지 않습니다. Udon이 노출하는 멤버를 사용하세요. 등록되어 있다고 생각된다면 메시지에 있는 시그니처를 함께 적어 이슈를 남겨 주세요.
UDN0006 루트 기반 형식을 확인할 수 없습니다. 컴파일러가 볼 수 없는 것을 상속하고 있습니다. 기반 클래스가 컴파일되는지, 참조된 어셈블리에 있는지 확인하세요.
UDN0007 잘못된 제외 항목. 제외 파일의 한 줄을 읽을 수 없습니다. ProjectSettings/의 해당 줄을 고치거나 지우세요.
UDN0008 제외된 코드에 도달했습니다. 컴파일되는 behaviour가 제외한 스크립트를 호출합니다. 제외를 해제하거나 그 호출을 없애세요.
UDN0009 제외가 불완전합니다. 필요한 범위의 일부만 덮고 있습니다. 폴더 전체 또는 스크립트 전체를 제외하세요.
UDN0010 이벤트 시그니처 불일치. 재정의한 이벤트의 매개변수가 다릅니다. UdoniteBehaviour의 시그니처에 맞추세요.
UDN0011 Udon에 대응하는 것이 없습니다. Udon에서 결코 실행할 수 없습니다. 메시지가 제안하는 방식으로 다시 쓰세요.
UDN0012 델리게이트를 거치는 재귀. 직접 재귀와 상호 재귀는 컴파일되지만, 델리게이트 호출을 지나는 순환에는 값을 대피시킬 호출 대상이 정해져 있지 않습니다. 순환 안에서는 메서드를 직접 호출하거나, 반복문으로 바꾸세요.
UDN0013 힙 초과. Udon이 허용하는 것보다 많은 변수가 필요합니다. behaviour를 나누거나 큰 상수 배열을 줄이세요.

UDN0002UDN0011은 일부러 다른 코드입니다. 하나는 "아직", 다른 하나는 "결코"라는 뜻입니다. 어느 쪽인지 알면 기다릴지 고쳐 쓸지 판단할 수 있습니다.

거부 메시지 읽는 법

Door.cs(14,9): error UDN0005: Udonite does not support 'System.IO.File.ReadAllText'. It looked for the Udon extern 'SystemIOFile.__ReadAllText__SystemString__SystemString', and Udon does not register one under that name. Udon exposes a fixed set of methods rather than all of .NET, so a member that compiles in ordinary C# is not always callable from a world.

파일 이름과 위치는 바로 그 식을 가리키며, 메시지에는 Udonite가 찾은 extern 시그니처가 들어 있습니다. 그 시그니처를 Udon이 실제로 등록하고 있다면 이 줄을 그대로 이슈에 붙여 주세요. 지원을 추가하는 데 필요한 정보가 모두 담깁니다. Udon이 등록하지 않는다면 어떤 버전의 Udonite로도 그 멤버에 도달할 수 없으므로, 코드를 다른 방식으로 작성해야 합니다.

문제가 발생했습니다 새로 고침