using Gaia.Internal; using PWCommon5; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; /// /// Creates a minimal "scripts only" Gaia package, which only contains the bare minimum scripts and settings for a working Gaia installation, but none of the art assets. /// Useful when you just need a gaia installation without the bloat of the assets, etc. /// /// namespace Gaia { public class CreateGaiaScriptsOnlyPackage : MonoBehaviour { [MenuItem("Window/" + PWConst.COMMON_MENU + "/Gaia/Create Gaia 'Scripts Only' Package", false, 4000)] public static void CreatePackage() { List exportedPackageAssetList = new List(); //Add Prefabs folder into the asset list string procFolder = "Assets/Procedural Worlds/"; exportedPackageAssetList.Add($"{procFolder}Flora/Scripts"); exportedPackageAssetList.Add($"{procFolder}Flora/Shaders"); exportedPackageAssetList.Add($"{procFolder}Frameworks"); exportedPackageAssetList.Add($"{procFolder}Gaia/Asset Samples/Standard Assets"); exportedPackageAssetList.Add($"{procFolder}Gaia/Editor Resources"); exportedPackageAssetList.Add($"{procFolder}Gaia/Gaia Pro/Scripts"); exportedPackageAssetList.Add($"{procFolder}Gaia/Gaia Pro/Shaders"); exportedPackageAssetList.Add($"{procFolder}Gaia/Gaia Pro/Weather/VFX/Scripts"); exportedPackageAssetList.Add($"{procFolder}Gaia/Gaia Pro/HDRP Time Of Day"); exportedPackageAssetList.Add($"{procFolder}Gaia/Lighting/Content Resources/High Definition Pipeline"); exportedPackageAssetList.Add($"{procFolder}Gaia/Lighting/Content Resources/Universal Pipeline"); exportedPackageAssetList.Add($"{procFolder}Gaia/Lighting/Gaia Lighting System Profile.asset"); exportedPackageAssetList.Add($"{procFolder}Gaia/Localization"); exportedPackageAssetList.Add($"{procFolder}Gaia/Scripts"); exportedPackageAssetList.Add($"{procFolder}Gaia/Settings"); exportedPackageAssetList.Add($"{procFolder}Gaia/Shaders"); exportedPackageAssetList.Add($"{procFolder}Gaia/Shaders/Scripts"); exportedPackageAssetList.Add($"{procFolder}Gaia/Water"); //Export Shaders and Prefabs with their dependencies into a .unitypackage string packagePath = $"Assets/GaiaScriptsOnly V{PWApp.CONF.MajorVersion}{PWApp.CONF.MinorVersion}{PWApp.CONF.PatchVersion}.unitypackage"; AssetDatabase.ExportPackage(exportedPackageAssetList.ToArray(), packagePath, ExportPackageOptions.Recurse); string fullPath = GaiaDirectories.GetFullFileSystemPath(packagePath); OpenInFileBrowser.Open(fullPath); } } }