【Unity/VRChat】「UdonSharp does not currently support null conditional operators」の対処法

Unity

遭遇した問題

エラー文

UdonSharp does not currently support null conditional operators

UdonSharp は現在、Null 条件演算子をサポートしていません。

DeepL翻訳

対処法

概要

このエラーは UdonSharp によって Unity で作成された VRChat のワールドにおいて、C# の Null 条件演算子を使用している場合に発生するため、このエラーを回避するには Null条件演算子を使わない方法null チェックを行う必要がある。

Null条件演算子」とは、
第一項が「null」でない場合に第二項の結果を返し、
「null」である場合に「null」を返す演算子である。

Null条件演算子 – Wikipedia

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>();

その他

参考記事

お問い合わせ

    タイトルとURLをコピーしました