public static void OnPostprocessScene()
 {
     if (!Application.isPlaying)
     {
         SVGBuildProcessor.ProcessScene();
     }
 }
    private static void ProcessScene()
    {
        GameObject[]         allObjects        = GameObject.FindObjectsOfType <GameObject>();
        List <SVGBasicAtlas> unexportedAtlases = new List <SVGBasicAtlas>();

        // scan all game objects in the current scene, and keep track of used atlas generators
        foreach (GameObject gameObj in allObjects)
        {
            if (gameObj.activeInHierarchy)
            {
                SVGSpriteLoaderBehaviour loader = gameObj.GetComponent <SVGSpriteLoaderBehaviour>();
                if (loader != null)
                {
                    // if this atlas has not been already flagged, lets keep track of it
                    if (!loader.Atlas.Exporting)
                    {
                        unexportedAtlases.Add(loader.Atlas);
                        loader.Atlas.Exporting = true;
                    }
                }

                SVGUISpriteLoaderBehaviour uiLoader = gameObj.GetComponent <SVGUISpriteLoaderBehaviour>();
                if (uiLoader != null)
                {
                    // if this atlas has not been already flagged, lets keep track of it
                    if (!uiLoader.UIAtlas.Exporting)
                    {
                        unexportedAtlases.Add(uiLoader.UIAtlas);
                        uiLoader.UIAtlas.Exporting = true;
                    }
                }

                SVGCanvasBehaviour uiCanvas = gameObj.GetComponent <SVGCanvasBehaviour>();
                if (uiCanvas != null)
                {
                    // if this atlas has not been already flagged, lets keep track of it
                    if (!uiCanvas.UIAtlas.Exporting)
                    {
                        unexportedAtlases.Add(uiCanvas.UIAtlas);
                        uiCanvas.UIAtlas.Exporting = true;
                    }
                }
            }
        }

        foreach (SVGBasicAtlas baseAtlas in unexportedAtlases)
        {
            SVGBuildProcessor.ProcessAtlas(baseAtlas);
            // keep track of this atlas in the global list
            SVGBuildProcessor.m_Atlases.Add(baseAtlas);
        }
    }