/// <summary>
    /// 获取组模板
    /// </summary>
    /// <param name="setting"></param>
    /// <returns></returns>
    public static AddressableAssetGroupTemplate GetTemplete(AddressableAssetSettings setting, bool autoCreate)
    {
        string groupTempleteName        = @"__generated";
        string groupTempleteDescription = @"group templete only use for auto build";

        System.Func <ScriptableObject, bool> groupTempleteFilter = delegate(ScriptableObject v)
        {
            var gt = v as AddressableAssetGroupTemplate;
            return(gt.Name.ToLower().Equals(groupTempleteName));
        };

        var groupTemplete = setting.GroupTemplateObjects.FirstOrDefault(groupTempleteFilter) as AddressableAssetGroupTemplate;

        if (groupTemplete == null && autoCreate)
        {
            if (!setting.CreateAndAddGroupTemplate(groupTempleteName, groupTempleteDescription, typeof(BundledAssetGroupSchema), typeof(ContentUpdateGroupSchema)))
            {
                Debug.LogError("未设置 Group 模板");
                return(null);
            }

            groupTemplete = setting.GroupTemplateObjects.FirstOrDefault(groupTempleteFilter) as AddressableAssetGroupTemplate;
            setting.SetDirty(AddressableAssetSettings.ModificationEvent.GroupTemplateAdded, groupTemplete, true, true);
        }

        if (groupTemplete == null)
        {
            return(null);
        }

        var bundleSchema = groupTemplete.GetSchemaByType(typeof(BundledAssetGroupSchema)) as BundledAssetGroupSchema;

        bundleSchema.BuildPath.SetVariableByName(setting, "RemoteBuildPath");
        bundleSchema.LoadPath.SetVariableByName(setting, "RemoteLoadPath");
        EditorUtility.SetDirty(bundleSchema);

        var updateSchema = groupTemplete.GetSchemaByType(typeof(ContentUpdateGroupSchema)) as ContentUpdateGroupSchema;

        updateSchema.StaticContent = false;
        EditorUtility.SetDirty(updateSchema);

        return(groupTemplete);
    }