いろいろやり方はあると思います。
例えば分かりやすい例としてデータ部分の実装とコンポーネントを分離するなどです。
データ部分
public class ScriptAData
{
public int Hoge;
}
コンポーネント部分
試しにOnDestroy時に新しいゲームオブジェクトを作成してデータの引継ぎを行うような実装にしました。
public class ScriptA : MonoBehaviour
{
public ScriptAData data;
private void Awake()
{
if(this.data == null)
{
this.data = new Data();
}
}
private void OnDestroy()
{
GameObject objectB = new GameObject();
ScriptA objectBScriptA = objectB.AddComponent<ScriptA>();
objectBScriptA.data = this.data;
}
}
Like!