Unity2019.3.0f1, 2019.3.0f5 win standalone
開発機では参照は正常です。build machineでgit pullしたprefabを見ると[SerializeField]の値がNone、つまり初期状態になっていました。不思議な事にOpenすると値は入っていました
対処法
開発機でPrefab参照を再設定し、保存しました。
差分を見ると,m_Nameが別名に変わっていました。おそらく一番最初にPrefabを作成したときは{OldName}.prefab。そのあとでリネームして{NewName}.prefabにしたけど保存されなかったのではないでしょうか。Sceneに置いていたprefabなので、prefab参照は生きているけど、prefab内コンポーネントの参照はイカれたとかでしょうか
補足1
修正方法分かりにくいので画像付きで説明
このときはItemWeaponMeleeKeyというメンバ変数を追加しました。ソースコードは更新されてもprefabは更新されていませんでした。そのままgitに保存してもprefabのデータは不正です。(開発機ではなぜか正常
そのためいったんprefabを開いてaaaとか適当な値で更新をかけてやります。そのあと正しいデータをいれて再度更新をかけてやります。
これでgitにpushすればbuild machineでも正常です。
補足2
git側が正常なのにbuild machineだけ変という場合は、
- 該当prefabを削除した後sourceTreeでrevert
- 該当パラメータを手動で再入力(sourceTreeは同じファイルえですみたいな表記