more
This commit is contained in:
@@ -26,6 +26,10 @@ public static class BuildScript
|
||||
|
||||
private static void Build(BuildTarget target, string outputPath)
|
||||
{
|
||||
UnityEngine.Debug.Log("### Inside Unity ###");
|
||||
UnityEngine.Debug.Log(target);
|
||||
UnityEngine.Debug.Log(outputPath);
|
||||
|
||||
var scenes = EditorBuildSettings.scenes
|
||||
.Where(s => s.enabled)
|
||||
.Select(s => s.path)
|
||||
|
||||
@@ -379,6 +379,9 @@ MonoBehaviour:
|
||||
highQualityFiltering:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
filter:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
downscale:
|
||||
m_OverrideState: 1
|
||||
m_Value: 0
|
||||
|
||||
@@ -74,7 +74,6 @@ MonoBehaviour:
|
||||
m_MixedLightingSupported: 1
|
||||
m_SupportsLightCookies: 1
|
||||
m_SupportsLightLayers: 1
|
||||
m_DebugLevel: 0
|
||||
m_StoreActionsOptimization: 0
|
||||
m_UseAdaptivePerformance: 1
|
||||
m_ColorGradingMode: 0
|
||||
@@ -128,14 +127,15 @@ MonoBehaviour:
|
||||
m_PrefilterSoftShadowsQualityHigh: 1
|
||||
m_PrefilterSoftShadows: 0
|
||||
m_PrefilterScreenCoord: 1
|
||||
m_PrefilterScreenSpaceIrradiance: 0
|
||||
m_PrefilterScreenSpaceIrradiance: 1
|
||||
m_PrefilterNativeRenderPass: 1
|
||||
m_PrefilterUseLegacyLightmaps: 0
|
||||
m_PrefilterBicubicLightmapSampling: 0
|
||||
m_PrefilterReflectionProbeRotation: 0
|
||||
m_PrefilterBicubicLightmapSampling: 1
|
||||
m_PrefilterReflectionProbeRotation: 1
|
||||
m_PrefilterReflectionProbeBlending: 0
|
||||
m_PrefilterReflectionProbeBoxProjection: 0
|
||||
m_PrefilterReflectionProbeAtlas: 0
|
||||
m_PrefilterPointSamplingUpsampling: 1
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ShadowCascades: 0
|
||||
m_Textures:
|
||||
|
||||
@@ -68,7 +68,22 @@ MonoBehaviour:
|
||||
- rid: 8296452132320575489
|
||||
- rid: 8296452132320575490
|
||||
m_RuntimeSettings:
|
||||
m_List: []
|
||||
m_List:
|
||||
- rid: 6852985685364965378
|
||||
- rid: 6852985685364965379
|
||||
- rid: 6852985685364965380
|
||||
- rid: 6852985685364965381
|
||||
- rid: 6852985685364965384
|
||||
- rid: 6852985685364965392
|
||||
- rid: 6852985685364965394
|
||||
- rid: 8712630790384254976
|
||||
- rid: 3051812572998926336
|
||||
- rid: 8026737403946074113
|
||||
- rid: 8026737403946074114
|
||||
- rid: 8026737403946074118
|
||||
- rid: 8026737403946074120
|
||||
- rid: 8026737403946074121
|
||||
- rid: 8296452132320575488
|
||||
m_AssetVersion: 10
|
||||
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
||||
m_RenderingLayerNames:
|
||||
|
||||
@@ -36,6 +36,15 @@ GraphicsSettings:
|
||||
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_PreloadedShaders: []
|
||||
m_PreloadShadersBatchTimeLimit: -1
|
||||
m_GraphicsStateCollection: {fileID: 0}
|
||||
m_CollectionStartupAction: 0
|
||||
m_TraceSavePath: TracedCollection
|
||||
m_TraceSendToEditor: 1
|
||||
m_AdditionalWarmupCollections: []
|
||||
m_WarmupAsync: 1
|
||||
m_EnableCacheMissTracing: 0
|
||||
m_WarmupProgressivelyLimit: -1
|
||||
m_CacheMissCollectionPath: CacheMissCollection
|
||||
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
|
||||
m_TransparencySortMode: 0
|
||||
@@ -61,6 +70,8 @@ GraphicsSettings:
|
||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2}
|
||||
m_ShaderBuildSettings:
|
||||
keywordDeclarationOverrides: []
|
||||
numInternalDefines: 0
|
||||
defines: []
|
||||
m_LightsUseLinearIntensity: 1
|
||||
m_LightsUseColorTemperature: 1
|
||||
m_LogWhenShaderIsCompiled: 0
|
||||
|
||||
@@ -528,7 +528,10 @@ PlayerSettings:
|
||||
m_Height: 720
|
||||
m_Kind: 1
|
||||
m_SubKind:
|
||||
m_BuildTargetBatching: []
|
||||
m_BuildTargetBatching:
|
||||
- m_BuildTarget: Standalone
|
||||
m_StaticBatching: 1
|
||||
m_DynamicBatching: 0
|
||||
m_BuildTargetShaderSettings: []
|
||||
m_BuildTargetGraphicsJobs: []
|
||||
m_BuildTargetGraphicsJobMode: []
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
UnityConnectSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 1
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
m_TestMode: 0
|
||||
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
|
||||
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
|
||||
|
||||
+105
-89
@@ -9,109 +9,125 @@ Write-Host " Unity CI Build (Windows Agent)"
|
||||
Write-Host " Target: $Target"
|
||||
Write-Host "===================================="
|
||||
|
||||
# -----------------------------
|
||||
# Load toolchain config
|
||||
# -----------------------------
|
||||
$config = Get-Content ".\ci\toolchain.json" | ConvertFrom-Json
|
||||
try {
|
||||
|
||||
$unityVersion = $config.unityVersion
|
||||
$unityRoot = $config.windows.unityRoot
|
||||
# -----------------------------
|
||||
# Load toolchain config
|
||||
# -----------------------------
|
||||
$config = Get-Content ".\ci\toolchain.json" | ConvertFrom-Json
|
||||
|
||||
$hubExe = "${env:ProgramFiles}\Unity Hub\Unity Hub.exe"
|
||||
$unityVersion = $config.unityVersion
|
||||
$unityRoot = $config.windows.unityRoot
|
||||
|
||||
if (!(Test-Path $hubExe)) {
|
||||
throw "Unity Hub not found at: $hubExe"
|
||||
}
|
||||
$hubExe = "${env:ProgramFiles}\Unity Hub\Unity Hub.exe"
|
||||
|
||||
# -----------------------------
|
||||
# Ensure Unity is installed
|
||||
# -----------------------------
|
||||
$unityEditorPath = Join-Path $unityRoot "$unityVersion\Editor\Unity.exe"
|
||||
|
||||
if (!(Test-Path $unityEditorPath)) {
|
||||
|
||||
Write-Host "Unity $unityVersion not found. Installing via Unity Hub..."
|
||||
|
||||
# Install Unity Editor
|
||||
& $hubExe -- --headless install `
|
||||
--version $unityVersion 2>$null
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to install Unity $unityVersion"
|
||||
if (!(Test-Path $hubExe)) {
|
||||
throw "Unity Hub not found at: $hubExe"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Unity found: $unityEditorPath"
|
||||
# -----------------------------
|
||||
# Ensure Unity is installed
|
||||
# -----------------------------
|
||||
$unityEditorPath = Join-Path $unityRoot "$unityVersion\Editor\Unity.exe"
|
||||
|
||||
# -----------------------------
|
||||
# Ensure required modules
|
||||
# -----------------------------
|
||||
# NOTE:
|
||||
# Unity Hub CLI installs modules per version.
|
||||
# These are cached per editor version, not reinstalled each build.
|
||||
if (!(Test-Path $unityEditorPath)) {
|
||||
|
||||
$modules = $config.windows.modules
|
||||
Write-Host "Unity $unityVersion not found. Installing via Unity Hub..."
|
||||
|
||||
Write-Host "Ensuring Unity modules: $($modules -join ', ')"
|
||||
|
||||
foreach ($module in $modules) {
|
||||
|
||||
Write-Host "Checking module: $module"
|
||||
|
||||
# Check installed modules via Unity Hub
|
||||
$installed = & $hubExe -- --headless editors --installed
|
||||
|
||||
if ($installed -notmatch "$unityVersion.*$module") {
|
||||
|
||||
Write-Host "Installing module: $module"
|
||||
|
||||
& $hubExe -- --headless install-modules `
|
||||
--version $unityVersion `
|
||||
--module $module
|
||||
# Install Unity Editor
|
||||
& $hubExe -- --headless install `
|
||||
--version $unityVersion
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to install module: $module"
|
||||
throw "Failed to install Unity $unityVersion"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Unity found: $unityEditorPath"
|
||||
|
||||
# -----------------------------
|
||||
# Ensure required modules
|
||||
# -----------------------------
|
||||
# NOTE:
|
||||
# Unity Hub CLI installs modules per version.
|
||||
# These are cached per editor version, not reinstalled each build.
|
||||
|
||||
$modules = $config.windows.modules
|
||||
|
||||
Write-Host "Ensuring Unity modules: $($modules -join ', ')"
|
||||
|
||||
foreach ($module in $modules) {
|
||||
|
||||
Write-Host "Checking module: $module"
|
||||
|
||||
# Check installed modules via Unity Hub
|
||||
$installed = & $hubExe -- --headless editors --installed
|
||||
|
||||
if ($installed -notmatch "$unityVersion.*$module") {
|
||||
|
||||
Write-Host "Installing module: $module"
|
||||
|
||||
& $hubExe -- --headless install-modules `
|
||||
--version $unityVersion `
|
||||
--module $module
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to install module: $module"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "Module already installed: $module"
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------
|
||||
# Resolve Unity build method
|
||||
# -----------------------------
|
||||
if (!$Target) {
|
||||
Write-Host "No Target Provided"
|
||||
exit
|
||||
}
|
||||
else {
|
||||
Write-Host "Module already installed: $module"
|
||||
$method = switch ($Target) {
|
||||
"Windows" { "BuildScript.Windows" }
|
||||
"Android" { "BuildScript.Android" }
|
||||
}
|
||||
|
||||
Write-Host "Using Unity method: $method"
|
||||
|
||||
# -----------------------------
|
||||
# Run Unity build
|
||||
# -----------------------------
|
||||
$unityArgs = @(
|
||||
"-batchmode",
|
||||
"-nographics",
|
||||
"-quit",
|
||||
"-projectPath", "$PWD",
|
||||
"-executeMethod", "$method",
|
||||
"-logFile", "$PWD/unity_batch_build.log" # CRITICAL: Captures what goes wrong
|
||||
)
|
||||
|
||||
# Execute using the array
|
||||
& $unityEditorPath @unityArgs
|
||||
|
||||
$exitCode = $LASTEXITCODE
|
||||
|
||||
# -----------------------------
|
||||
# Validate result
|
||||
# -----------------------------
|
||||
if ($exitCode -ne 0) {
|
||||
throw "Unity build failed ($Target). Exit code: $exitCode"
|
||||
}
|
||||
|
||||
Write-Host "===================================="
|
||||
Write-Host " BUILD SUCCESS: $Target"
|
||||
Write-Host "===================================="
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------
|
||||
# Resolve Unity build method
|
||||
# -----------------------------
|
||||
if(!$Target){
|
||||
Write-Host "No Target Provided"
|
||||
exit
|
||||
catch {
|
||||
throw
|
||||
}
|
||||
finally {
|
||||
Write-Host "Cleaning Up"
|
||||
# Stop-Process -Name "Unity", "Unity Hub" -Force
|
||||
}
|
||||
$method = switch ($Target) {
|
||||
"Windows" { "BuildScript.Windows" }
|
||||
"Android" { "BuildScript.Android" }
|
||||
}
|
||||
|
||||
Write-Host "Using Unity method: $method"
|
||||
|
||||
# -----------------------------
|
||||
# Run Unity build
|
||||
# -----------------------------
|
||||
& $unityEditorPath `
|
||||
-batchmode `
|
||||
-nographics `
|
||||
-quit `
|
||||
-projectPath $PWD `
|
||||
-executeMethod $method `
|
||||
-logFile build-$Target.log
|
||||
|
||||
$exitCode = $LASTEXITCODE
|
||||
|
||||
# -----------------------------
|
||||
# Validate result
|
||||
# -----------------------------
|
||||
if ($exitCode -ne 0) {
|
||||
throw "Unity build failed ($Target). Exit code: $exitCode"
|
||||
}
|
||||
|
||||
Write-Host "===================================="
|
||||
Write-Host " BUILD SUCCESS: $Target"
|
||||
Write-Host "===================================="
|
||||
Reference in New Issue
Block a user