M#はC#からUdonAssemblyへのコンパイラでありながら、現在(2026/09/09 13:00)最速のC#コンパイラでもあります。
C#公式のコンパイラであるRoslynよりも最大11倍高速に動作します。ただし、現在は.NETバックエンドを搭載していません。
このプロジェクトはAIを活用していますがバイブコーディングではありません。
もし、PRを送る場合はその内容をすべて理解したうえで送っていただく必要があります。
詳しくはCONTRIBUTING.mdを参照してください。
サポートする記法はC#のほぼ全てです。
現状でサポートしていないのは、Thread, lock, unsafe, FileIO, VRC SDKを経由しないネットワークアクセス等のごく一部の機能のみです。
public class Test : MenSharpBehaviour
{
[UdonSynced]
private int value;
public async void Interact() {
var list = new List<string> { "Hello", "world!" };
// async/awaitやtry/catchもサポート!
string result;
try {
result = await AsyncFunction();
} catch (Exception exception) {
Debug.LogWarning($"{exception}");
return;
}
list.Add(result);
// LINQもサポート!
var linq = list.Select(value => value.ToLowerInvariant());
foreach (var value in linq) {
Debug.Log(value);
}
}
}Roslynと比較して大体2~11倍高速です。
