今日、Unityでゲームを開発していたら、上記のような警告が表示されて
アタッチしているコンポーネントが動かない
(AwakeやStart、Update関数が呼び出されない)不具合に遭遇しました
調べてみたところ、
名前空間の中にMonoBehaviourを継承したクラスの定義が記述されたスクリプト内で
関数を呼び出す時に名前付き引数を使用すると、上記のような現象に遭遇するようです
using UnityEngine; // 名前空間の中に namespace Scenes { // MonoBehaviourを継承したクラスの定義が記述されたスクリプト内で public class TitleScene : MonoBehaviour { private void Awake() { // 関数を呼び出す時に名前付き引数を使用すると // このコンポーネントが動かなくなる Log(message : "Title Scene"); } private void Log(string message) { Debug.Log(message); } } }
ちなみにデフォルト引数を使った場合も同様の現象が発生します