問題
エラー文
UdonSharp does not currently support null conditional operators
「UdonSharp」は現在、Null条件演算子をサポートしていません。
DeepL翻訳
対処法
説明
このエラーは
「UdonSharp」によってUnityで作成されたVRChatのワールドにおいて、
C#の「Null条件演算子」を使用している場合に発生するため、
このエラーを回避するには「Null条件演算子」を使わない方法で
「nullチェック」を行う必要がある。
「Null条件演算子」とは、
Null条件演算子 – Wikipedia
第一項が「null」でない場合に第二項の結果を返し、
「null」である場合に「null」を返す演算子である。
例
Before
- 「Null条件演算子」を使ってしまっている
var rb = objPlayer?.GetComponent<Rigidbody>();
After
- 「Null条件演算子」ではなく「三項演算子」を使う
var rb = objPlayer != null ?
objPlayer.GetComponent<Rigidbody>() : null;
var rb = objPlayer == null ?
null : objPlayer.GetComponent<Rigidbody>();
- 「Null条件演算子」ではなく「if文」を使う
if(objPlayer != null) var rb = objPlayer.GetComponent<Rigidbody>();
コメント