diff --git a/Assets/Editor/UnityBuild.cs b/Assets/Editor/UnityBuild.cs index e9ee36a..576ae65 100644 --- a/Assets/Editor/UnityBuild.cs +++ b/Assets/Editor/UnityBuild.cs @@ -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) diff --git a/Assets/SourceFiles/Settings/DefaultVolumeProfile.asset b/Assets/SourceFiles/Settings/DefaultVolumeProfile.asset index 9e4bbfd..66d98de 100644 --- a/Assets/SourceFiles/Settings/DefaultVolumeProfile.asset +++ b/Assets/SourceFiles/Settings/DefaultVolumeProfile.asset @@ -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 diff --git a/Assets/SourceFiles/Settings/PC_RPAsset.asset b/Assets/SourceFiles/Settings/PC_RPAsset.asset index 0420ea6..5707d0a 100644 --- a/Assets/SourceFiles/Settings/PC_RPAsset.asset +++ b/Assets/SourceFiles/Settings/PC_RPAsset.asset @@ -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: diff --git a/Assets/SourceFiles/Settings/UniversalRenderPipelineGlobalSettings.asset b/Assets/SourceFiles/Settings/UniversalRenderPipelineGlobalSettings.asset index 5a7e2d7..7ac5ce9 100644 --- a/Assets/SourceFiles/Settings/UniversalRenderPipelineGlobalSettings.asset +++ b/Assets/SourceFiles/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -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: diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 84b2182..634b7e5 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -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 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index cb2d3b1..1084b43 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -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: [] diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset index 029ad8b..7a17e8f 100644 --- a/ProjectSettings/UnityConnectSettings.asset +++ b/ProjectSettings/UnityConnectSettings.asset @@ -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 diff --git a/ci/Build-Windows.ps1 b/ci/Build-Windows.ps1 index c001a05..c2f0b19 100644 --- a/ci/Build-Windows.ps1 +++ b/ci/Build-Windows.ps1 @@ -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 "====================================" \ No newline at end of file