staticのシングルトンで作ったDataクラスに GameObject型のenemy1を宣言し、
別のスクリプトからプレハブをロードしてインスタンスしたところ、シーン上ではプレハブが表示されたもののなぜかnullエラーが出てしまいます。
同じプレハブをstaticでない通常の変数で宣言してインスタンスするとエラーは出ないのですが何が原因でしょうか?

//========■シングルトンのDataクラス↓

public class Data : MonoBehaviour
{
public static Data btdata = null;

private void Awake()
{
if (btdata == null)
{
btdata = this;
DontDestroyOnLoad(this.gameObject);
}
else
{
Destroy(this.gameObject);
}
}

public GameObject enemy1 = null;

//========■別のスクリプト↓

GameObject obj = (GameObject)Resources.Load("Enemy_Chinpira");
Data.btdata.enemy1 = (GameObject)Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity); ←NULLエラーは出る

GameObject hoge = (GameObject)Instantiate(obj, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity);  ←こっちだとエラーは起きなかった