This commit is contained in:
2026-06-23 00:53:30 +09:30
parent 36fb1bf3c5
commit 2556e275bd
8 changed files with 148 additions and 96 deletions
+4
View File
@@ -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
+4 -4
View File
@@ -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:
+11
View File
@@ -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
+4 -1
View File
@@ -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: []
+1 -1
View File
@@ -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
View File
@@ -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 "===================================="