x


DontDestroyOnLoad with not marked parents bug? (steps to reproduce here too!))

Well, i get annoyed with the message: "Some objects were marked as DontDestroyOnLoad, but since their parent game objects were not marked as DontDestroyOnLoad they have been destroyed anyway. If you want to keep them around, please ensure their parent is marked as DontDestroyOnLoad or make sure they are unparented before loading a new level." Problem is - it's lies, their parents are null (only 3 objects exist on all scenes, can't count em wrong!). The thing is - when you create objects dynamically, set them to persist, enable them in OnDisable at some other not persistent object AND enable them just before LoadLevel call - you'll get this message.

Steps to reproduce: Create a project with 2 empty scenes. Add 2 game objects to the first scene. Enter code for the first object:

using UnityEngine;

public class main : MonoBehaviour {

public static GameObject obj;

bool firsttime = true;

void Start () {
    if(firsttime) {
       firsttime = false;
       init();
    }
}

public void init() {
        DontDestroyOnLoad(this.gameObject);
        DontDestroyOnLoad(this);//ffs!

        obj = new GameObject("obj");
        DontDestroyOnLoad(obj);
        obj.active = false;
        Debug.Log("parent for " + obj.name + " is " + obj.transform.parent);//null!
}

bool yo = true;
void Update () {
    if(Time.time > 1 && yo) {
       yo = false;
       obj.active = true;//call it here
       Application.LoadLevel(1);//next scene
    }
}
}

And for the second:

using UnityEngine;

public class sphere : MonoBehaviour {

    void OnDisable() {
        main.obj.active = true;
    }
}

Run in editor - see that red message. Can somebody explain - what's wrong? Is it just a bug? Is ut safe to just ignore it (nothing seems to be destroyed). PS: I'm new to Unity (but work as a programmer for 5 years). PPS: I'm not a native english speaker, so excuse me please for grammar.

more ▼

asked Oct 04 '11 at 09:05 PM

Mammoth gravatar image

Mammoth
1 1 1 1

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

I'm not a native english speaker too. Thank you for reported this bug! Beacuse of Our game is web game,any error can make browser crash. The "Some objects were..." error puzzle me for few weeks... Finally,I find the bug at EZGUI ScrollList.OnEnable(). When level is loading , don't set any Object which with "DontDestroyOnLoad" active. Thank you again!

more ▼

answered Jun 08 '12 at 11:37 AM

dogaunity gravatar image

dogaunity
0

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x2090
x510
x423
x82

asked: Oct 04 '11 at 09:05 PM

Seen: 1348 times

Last Updated: Jun 08 '12 at 11:37 AM