more
This commit is contained in:
@@ -26,6 +26,10 @@ public static class BuildScript
|
|||||||
|
|
||||||
private static void Build(BuildTarget target, string outputPath)
|
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
|
var scenes = EditorBuildSettings.scenes
|
||||||
.Where(s => s.enabled)
|
.Where(s => s.enabled)
|
||||||
.Select(s => s.path)
|
.Select(s => s.path)
|
||||||
|
|||||||
@@ -379,6 +379,9 @@ MonoBehaviour:
|
|||||||
highQualityFiltering:
|
highQualityFiltering:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
|
filter:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
downscale:
|
downscale:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ MonoBehaviour:
|
|||||||
m_MixedLightingSupported: 1
|
m_MixedLightingSupported: 1
|
||||||
m_SupportsLightCookies: 1
|
m_SupportsLightCookies: 1
|
||||||
m_SupportsLightLayers: 1
|
m_SupportsLightLayers: 1
|
||||||
m_DebugLevel: 0
|
|
||||||
m_StoreActionsOptimization: 0
|
m_StoreActionsOptimization: 0
|
||||||
m_UseAdaptivePerformance: 1
|
m_UseAdaptivePerformance: 1
|
||||||
m_ColorGradingMode: 0
|
m_ColorGradingMode: 0
|
||||||
@@ -128,14 +127,15 @@ MonoBehaviour:
|
|||||||
m_PrefilterSoftShadowsQualityHigh: 1
|
m_PrefilterSoftShadowsQualityHigh: 1
|
||||||
m_PrefilterSoftShadows: 0
|
m_PrefilterSoftShadows: 0
|
||||||
m_PrefilterScreenCoord: 1
|
m_PrefilterScreenCoord: 1
|
||||||
m_PrefilterScreenSpaceIrradiance: 0
|
m_PrefilterScreenSpaceIrradiance: 1
|
||||||
m_PrefilterNativeRenderPass: 1
|
m_PrefilterNativeRenderPass: 1
|
||||||
m_PrefilterUseLegacyLightmaps: 0
|
m_PrefilterUseLegacyLightmaps: 0
|
||||||
m_PrefilterBicubicLightmapSampling: 0
|
m_PrefilterBicubicLightmapSampling: 1
|
||||||
m_PrefilterReflectionProbeRotation: 0
|
m_PrefilterReflectionProbeRotation: 1
|
||||||
m_PrefilterReflectionProbeBlending: 0
|
m_PrefilterReflectionProbeBlending: 0
|
||||||
m_PrefilterReflectionProbeBoxProjection: 0
|
m_PrefilterReflectionProbeBoxProjection: 0
|
||||||
m_PrefilterReflectionProbeAtlas: 0
|
m_PrefilterReflectionProbeAtlas: 0
|
||||||
|
m_PrefilterPointSamplingUpsampling: 1
|
||||||
m_ShaderVariantLogLevel: 0
|
m_ShaderVariantLogLevel: 0
|
||||||
m_ShadowCascades: 0
|
m_ShadowCascades: 0
|
||||||
m_Textures:
|
m_Textures:
|
||||||
|
|||||||
@@ -68,7 +68,22 @@ MonoBehaviour:
|
|||||||
- rid: 8296452132320575489
|
- rid: 8296452132320575489
|
||||||
- rid: 8296452132320575490
|
- rid: 8296452132320575490
|
||||||
m_RuntimeSettings:
|
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_AssetVersion: 10
|
||||||
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
||||||
m_RenderingLayerNames:
|
m_RenderingLayerNames:
|
||||||
|
|||||||
@@ -36,6 +36,15 @@ GraphicsSettings:
|
|||||||
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
|
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
m_PreloadedShaders: []
|
m_PreloadedShaders: []
|
||||||
m_PreloadShadersBatchTimeLimit: -1
|
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_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
|
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
|
||||||
m_TransparencySortMode: 0
|
m_TransparencySortMode: 0
|
||||||
@@ -61,6 +70,8 @@ GraphicsSettings:
|
|||||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2}
|
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2}
|
||||||
m_ShaderBuildSettings:
|
m_ShaderBuildSettings:
|
||||||
keywordDeclarationOverrides: []
|
keywordDeclarationOverrides: []
|
||||||
|
numInternalDefines: 0
|
||||||
|
defines: []
|
||||||
m_LightsUseLinearIntensity: 1
|
m_LightsUseLinearIntensity: 1
|
||||||
m_LightsUseColorTemperature: 1
|
m_LightsUseColorTemperature: 1
|
||||||
m_LogWhenShaderIsCompiled: 0
|
m_LogWhenShaderIsCompiled: 0
|
||||||
|
|||||||
@@ -528,7 +528,10 @@ PlayerSettings:
|
|||||||
m_Height: 720
|
m_Height: 720
|
||||||
m_Kind: 1
|
m_Kind: 1
|
||||||
m_SubKind:
|
m_SubKind:
|
||||||
m_BuildTargetBatching: []
|
m_BuildTargetBatching:
|
||||||
|
- m_BuildTarget: Standalone
|
||||||
|
m_StaticBatching: 1
|
||||||
|
m_DynamicBatching: 0
|
||||||
m_BuildTargetShaderSettings: []
|
m_BuildTargetShaderSettings: []
|
||||||
m_BuildTargetGraphicsJobs: []
|
m_BuildTargetGraphicsJobs: []
|
||||||
m_BuildTargetGraphicsJobMode: []
|
m_BuildTargetGraphicsJobMode: []
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
UnityConnectSettings:
|
UnityConnectSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 1
|
serializedVersion: 1
|
||||||
m_Enabled: 0
|
m_Enabled: 1
|
||||||
m_TestMode: 0
|
m_TestMode: 0
|
||||||
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
|
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
|
||||||
m_EventUrl: https://cdp.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 " Target: $Target"
|
||||||
Write-Host "===================================="
|
Write-Host "===================================="
|
||||||
|
|
||||||
# -----------------------------
|
try {
|
||||||
# Load toolchain config
|
|
||||||
# -----------------------------
|
|
||||||
$config = Get-Content ".\ci\toolchain.json" | ConvertFrom-Json
|
|
||||||
|
|
||||||
$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)) {
|
$hubExe = "${env:ProgramFiles}\Unity Hub\Unity Hub.exe"
|
||||||
throw "Unity Hub not found at: $hubExe"
|
|
||||||
}
|
|
||||||
|
|
||||||
# -----------------------------
|
if (!(Test-Path $hubExe)) {
|
||||||
# Ensure Unity is installed
|
throw "Unity Hub not found at: $hubExe"
|
||||||
# -----------------------------
|
|
||||||
$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"
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Unity found: $unityEditorPath"
|
# -----------------------------
|
||||||
|
# Ensure Unity is installed
|
||||||
|
# -----------------------------
|
||||||
|
$unityEditorPath = Join-Path $unityRoot "$unityVersion\Editor\Unity.exe"
|
||||||
|
|
||||||
# -----------------------------
|
if (!(Test-Path $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 "Unity $unityVersion not found. Installing via Unity Hub..."
|
||||||
|
|
||||||
Write-Host "Ensuring Unity modules: $($modules -join ', ')"
|
# Install Unity Editor
|
||||||
|
& $hubExe -- --headless install `
|
||||||
foreach ($module in $modules) {
|
--version $unityVersion
|
||||||
|
|
||||||
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) {
|
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 {
|
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 "===================================="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch {
|
||||||
# -----------------------------
|
throw
|
||||||
# Resolve Unity build method
|
}
|
||||||
# -----------------------------
|
finally {
|
||||||
if(!$Target){
|
Write-Host "Cleaning Up"
|
||||||
Write-Host "No Target Provided"
|
# Stop-Process -Name "Unity", "Unity Hub" -Force
|
||||||
exit
|
|
||||||
}
|
}
|
||||||
$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