diff --git a/dist/.DS_Store b/dist/.DS_Store index b1ba203a..a57285fe 100644 Binary files a/dist/.DS_Store and b/dist/.DS_Store differ diff --git a/dist/index.js b/dist/index.js index ea151c67..f75e2095 100644 Binary files a/dist/index.js and b/dist/index.js differ diff --git a/dist/index.js.map b/dist/index.js.map index c8ffcd06..20fe2c8b 100644 Binary files a/dist/index.js.map and b/dist/index.js.map differ diff --git a/src/model/platform-setup/setup-mac.ts b/src/model/platform-setup/setup-mac.ts index 4566e163..bc32cf39 100644 --- a/src/model/platform-setup/setup-mac.ts +++ b/src/model/platform-setup/setup-mac.ts @@ -20,6 +20,8 @@ class SetupMac { await SetupMac.installUnity(buildParameters); } + await SetupMac.ensureRequiredModuleIsInstalled(buildParameters); + await SetupMac.setEnvironmentVariables(buildParameters, actionFolder); } @@ -119,6 +121,26 @@ class SetupMac { return moduleArgument; } + private static async ensureRequiredModuleIsInstalled(buildParameters: BuildParameters) { + const unityChangeset = await getUnityChangeset(buildParameters.editorVersion); + const moduleArguments = SetupMac.getModuleParametersForTargetPlatform(buildParameters.targetPlatform); + + const execArguments: string[] = [ + '--', + '--headless', + 'install-modules', + ...['--version', buildParameters.editorVersion], + ...['--changeset', unityChangeset.changeset], + ...moduleArguments, + '--childModules', + ]; + + await exec(this.unityHubExecPath, execArguments, { + silent: true, + ignoreReturnCode: true, + }); + } + private static async installUnity(buildParameters: BuildParameters, silent = false) { const unityEditorPath = `/Applications/Unity/Hub/Editor/${buildParameters.editorVersion}`; const key = `Cache-MacOS-UnityEditor-With-Module-${buildParameters.targetPlatform}@${buildParameters.editorVersion}`;