Attempting to reference an instance of a user-defined UdonSharpBehaviour-dervied class on the left-hand side of the null-coalescing (??) operator causes a U# compiler error.
Example problematic code:
private KaraokeUiBrowser _uiBrowser = null;
public KaraokeUiBrowser UiBrowser
{ get { return _uiBrowser ?? (_uiBrowser = GetComponentInParent<KaraokeUiBrowser>()); } }
(Where KaraokeUiBrowser is a user-defined subclass of UdonSharpBehaviour)
The above code causes the following error to be thrown upon compilation:
System.ArgumentException: Cannot implicitly convert type 'KaraokeUiBrowser' to 'UdonBehaviour'
This problem appears to only be triggered when the UdonSharpBehaviour subclass is on the left-hand side of the ?? operator, the right-hand side appears to function as expected.
Attempting to reference an instance of a user-defined
UdonSharpBehaviour
-dervied class on the left-hand side of the null-coalescing (??
) operator causes a U# compiler error.Example problematic code:
(Where
KaraokeUiBrowser
is a user-defined subclass ofUdonSharpBehaviour
)The above code causes the following error to be thrown upon compilation:
System.ArgumentException: Cannot implicitly convert type 'KaraokeUiBrowser' to 'UdonBehaviour'
This problem appears to only be triggered when the
UdonSharpBehaviour
subclass is on the left-hand side of the??
operator, the right-hand side appears to function as expected.