2016-07-05 4 views
1

ユニティ5.4は、シリアル化の問題を持っているかのように思える:中ユニティ5.4 - 壊れシリアライズ

public class InputManager : MonoBehaviour 
{ 
    [SerializeField] private MyObject obj; 
} 

[Serializable] 
public class MyObject¨ 
{ 
} 

結果:

InvalidOperationException: The operation is not possible when moved past all properties (Next returned false) 

は私が間違ってそれをやっていますか?

+1

Unity 5.3で試しましたか?また、私は秘密のシリアル化は標準的な動作ではないと思います。そこで[SerializeField]を使用してください。 – frankhermes

+0

実際、私はそれを加えました。私はそれを削除すると、表示することができますが、インスペクタのデバッグモードをしようとすると失敗します。私は5.3で試してみませんでしたが、私は前に使用していた、私はちょうどホロレンズのためにそこに移動します。 – Everts

+3

MyObjectにパブリックなものを置くことがありますか?内部が空に見えるので、そこにはシリアル化するものは何もありません。 – frankhermes

答えて

0

シリアル化するクラスにパブリックフィールドを配置する必要があります。それが空の場合、またはプライベートフィールドまたはプロテクトフィールドしかない場合は、シリアル化するものはありません。 エラーメッセージがより良かった可能性があります(取得しているものの代わりに「何もシリアル化しない」など)。

関連する問題