Skip to content

Instantly share code, notes, and snippets.

@DomDomHaas
Created December 7, 2014 17:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DomDomHaas/74b337f8c061fa096185 to your computer and use it in GitHub Desktop.
Save DomDomHaas/74b337f8c061fa096185 to your computer and use it in GitHub Desktop.
Unity SaveHook to save all persistencyIds
using UnityEngine;
using UnityEditor;
using JSONPersistency;
using UnityEditor.Callbacks;
public class SaveSceneHook : AssetModificationProcessor
{
static string[] OnWillSaveAssets (string[] paths)
{
Object[] objs = Component.FindObjectsOfType (typeof(JSONPersistent));
//Debug.Log ("OnWillSaveAssets " + objs.Length);
foreach (Object obj in objs) {
JSONPersistent persist = (JSONPersistent)obj;
if (!persist.persistentIDisSet ()) {
persist.loadPersistentID ();
//Debug.Log (persist.name + " loaded! persistID: " + persist.getPersistentID ());
} else {
//Debug.Log (persist.name + " persistID: " + persist.getPersistentID ());
}
}
return paths;
}
}
@xoyojank
Copy link

this is not work with prefabs in Unity5, because the value LocalIdentfierInFile is 0.

@DomDomHaas
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment