fun getUnity()

in plugin-unity-agent/src/main/kotlin/jetbrains/buildServer/unity/detectors/UnityToolProvider.kt [128:149]


    fun getUnity(build: AgentRunningBuild): UnityEnvironment {
        val feature = build.getBuildFeaturesOfType(BUILD_FEATURE_TYPE).single()
        val detectionMode = getDetectionMode(
            feature.parameters[PARAM_DETECTION_MODE],
            feature.parameters[PARAM_UNITY_ROOT],
        )

        val environment = when (detectionMode) {
            DetectionMode.Auto -> {
                tryParseVersion(feature.parameters[PARAM_UNITY_VERSION])?.let {
                    getUnityByVersion(it)
                } ?: unityVersions.getLatestEnvironment()
            }
            DetectionMode.Manual -> {
                discoverUnityByPath(feature.parameters[PARAM_UNITY_ROOT])
            }
        }

        LOG.info("Unity '${environment.unityVersion}' located at '${environment.unityPath}' was chosen based on build settings")

        return environment
    }