|
In OnPostprocessModel, I want to prepare a GameObject that is parented to another GameObject, and then create a prefab out of that. This works fine, but it leaves an instance in the scene. When I try to destroy the object after creating the prefab, the editor crashes. Here's the code:
I'm not convinced I'm heading down the right path. What's the correct way to create complex prefabs during asset postprocessing, involving the asset which is being imported?
(comments are locked)
|
|
The GameObject being passed to OnPostprocessModel is not an in-scene GameObject, but the one going into your assets. Trouble starts when you attach this GameObject to an in-scene GameObject. What you should do is:
Ah, I see. What I'm seeing now is that if I destroy the prefab root GO, the whole prefab still remains up in the scene as a disconnected prefab. If I destroy the instantiated scene GO (but not prefab root) then only the prefab root remains in the scene, as a disconnected prefab.... I'll keep futzing with it.
Dec 07 '09 at 11:31 AM
Lance Sun
K, it works now. I was using ReplacePrefabOptions.ConnectToPrefab instead of ReplacePrefabOptions.Default.
Dec 07 '09 at 11:37 AM
Lance Sun
(comments are locked)
|

I get a little more mileage (e.g. editor doesn't crash) if I detach the game object being imported from the prefab root before I destroy the prefab root.
gameObject.transform.parent = null;
But a new object still appears in the scene as a disconnected prefab instance.