Unity側では通常通り実行できるのに
ビルドして実行すると、途中で動作が上手くいかなくなります
原因を調べた結果、Unity側ではNullになってないpublicオブジェクトがビルドして実行した倍はNullになっています。
そのオブジェクトはゲームの核となるオブジェクトで、dontdestroyonloadに設定しています。
ちなみにそのNullとなるオブジェクトは

こんな感じで設定しています
なぜビルドした場合だけNullになるのか、全く原因がわかりません。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[CreateAssetMenu]
public class CardDate:ScriptableObject{
public int type;
public int bangou;
public int ranc;
public string name;
public Sprite sprit;
}
//[CreateAssetMenu]
public class Card{
public int exp;
public int num;
public int lv;
public bool deck=false;
}
//[CreateAssetMenu]
public class Weapon{
public string Weaponname;
public int senzaikouka1;
public int senzaikouka2;
public int attack;
public Weapon(){
Weaponname = "";
senzaikouka1 = 0;
senzaikouka2 = 0;
attack = 100;
}
}
[CreateAssetMenu]
public class EnemyDate:ScriptableObject{
public int hp=0;
public int attack=0;
public int defens=0;
public string prefabname="";
}
[CreateAssetMenu]
public class EnemyInitDate:ScriptableObject{
public int mapnum;
public Vector3 position;
public EnemyDate enemydate;
}
[CreateAssetMenu]
public class QuestDate:ScriptableObject{
public int ranc;
public GameObject prefab;
public string names;
}
public class Date : MonoBehaviour {
public QuestDate[] questdate; //これと
public QuestDate[] questdate2; //これと
public CardDate[] carddate; //これすべてがnullになる
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}