// METHODS -------------------------------------------------------------------------------------

    private void initScriptableObject()
    {
        // Create asset if necessary and get asset reference
        if (!File.Exists(PATH_FULL))
        {
            sceneShotBookmarksScriptableObject = createSceneScriptableObject();
        }
        else
        {
            sceneShotBookmarksScriptableObject = (SceneShotBookmarksScriptableObject)AssetDatabase.LoadAssetAtPath(PATH_FULL, typeof(SceneShotBookmarksScriptableObject));
        }

        // Update sceneShotBookmarks for use in dynamically generating the UI
        sceneShotBookmarks = sceneShotBookmarksScriptableObject.sceneShotBookmarks;
    }
    private SceneShotBookmarksScriptableObject createSceneScriptableObject()
    {
        // Directory setup
        if (!Directory.Exists(PATH_FOLDER))
        {
            Directory.CreateDirectory(PATH_FOLDER);
        }

        // Create and serialize SceneShotBookmarksScriptableObject asset
        SceneShotBookmarksScriptableObject asset = ScriptableObject.CreateInstance <SceneShotBookmarksScriptableObject>();

        AssetDatabase.CreateAsset(asset, PATH_FULL);
        AssetDatabase.SaveAssets();

        // Return asset reference
        return(asset);
    }