>>253 それはコードが間違っているのではなくやり方が間違っている。 DontDestroyOnLoad only work for root GameObjects or components on root GameObjects "DontDestroyOnLoadはルートのゲームオブジェクトまたはルートのゲームオブジェクト上のコンポーネント上でのみ機能します" ここでルート、というのは他のオブジェクトの子供ではない、ということ。 Unityでは親オブジェクトがDestroyされるとその子供のオブジェクトもDestroyされる。 まぁ全部を一々指定しないとDestroyされないのではメンドクサ過ぎるのは明白なので 妥当な設計だと思うしだからDontDestroyOnLoadはそのオブジェクトがぶら下がっている一番上の親オブジェクトに対して行わなければならない、ということになっている。 それを取得する方法はプログラムで一番上を辿ってもいいし名前でFindしてもいいしpublicにしておいてインスペクター上でD&Dして指定しておいてもいい。