[[분류:프로그래밍 언어]][[분류:VRChat]] [include(틀:다른 뜻1, other1=일본 요리, rd1=우동)] [목차] == 개요 == 2020년 VRChat Inc.에서 가상현실 플랫폼 [[VRChat]] 전용 월드 개발을 상정하여 만들어진 비주얼 프로그래밍 언어. VRChat SDK에 포함된 개발 도구이기 때문에 [[https://hello.vrchat.com/legal/sdk|SDK 라이센스]]를 따르며 VRChat 플랫폼 내부에서만 영리적 사용이 가능하며 그 이외의 플랫폼에서는 사용이 불가능하다. == 특징 == [[유니티 엔진]]으로 컨텐츠를 제작하는 가상현실 플랫폼 VRChat에서의 사용을 전제로 만들어진 언어이기 때문에, 어느 정도 차이는 있지만 기본 구조가 유니티 엔진 스크립트 언어인 [[C\#]]과 유사하다. C#으로 작성한 스크립트를 Udon으로 번역 가능한 컴파일러 [[https://udonsharp.docs.vrchat.com/|UdonSharp]]가 공식적으로 제공된다. 본래 2018년 초까지는 VRChat용 컨텐츠에도 C# 스크립트 언어가 사용 가능하였으나 이는 치명적인 보안 이슈를 일으켰고 스크립트 사용은 금지되었다. 이후 제공된 SDK 2.0은 트리거 기반의 극히 초보적인 기능만을 제공하였기에 개발 자유도가 매우 제한적이였다. 이로 인해 VRChat Inc.에서는 C#을 베이스로 하며 보안 이슈에서 자유로운 자체 내부 스크립트 언어를 개발하여 배포하게 된다. === C#과의 차이 === * [[연결 리스트|List]], [[스택(자료구조)|Stack]], [[큐(자료구조)|Queue]]를 비롯한 C# 표준 자료구조를 사용할 수 없음. 자료구조를 사용하고 싶다면 직접 구현해야 한다.([[https://github.com/koyashiro/udon-list|#1]], [[https://booth.pm/ja/items/3075110|#2]]) * 변수 자료형 일부가 추상화되어 있어 GetType() 사용에 오류가 발생할 수 있음.