String

Concatenation

public object NetflixAuthConstants {
 public object SVP {

        public const val BASE_URL: String = "session.exp.SVP.eu-2.plex.tv"
        public const val SUBDOMAIN_SVP: String = "exp.SVP"
        public const val PROD: String = "session"
        public const val STAGE: String = "session-stg"
        public const val REGION: String = "eu-1"
        public const val DOMAIN: String = "xcal.tv"
        public val SESSION_PATH_SEGMENTS: List<String> =
            listOf("v1","partners", "Netflix-uk")
        public const val PARTNERS: String = "v1/partners/"
        public const val PARTNER_Netflix: String = "Netflix-uk"
        public const val SESSION: String = "session"
        public val CATALOG_TYPES: List<String> = listOf("device", "cacheProfile", "account", "goes")
        public const val CODE_CHALLENGE_METHOD: String = "S256"
    }
}

fun main() {
    val env = NetflixAuthConstants.SVP.STAGE
    val baseURL = "${NetflixAuthConstants.SVP.SUBDOMAIN_SVP}.${env}."
    println(baseURL)
    val generatedHost = "${baseURL}.${NetflixAuthConstants.SVP.REGION}.${NetflixAuthConstants.SVP.DOMAIN}"
    println(generatedHost)
    
    val baseURL2 = "$NetflixAuthConstants.SVP.SUBDOMAIN_SVP.$env."
    println(baseURL2)
}

Nuances

$env works
but $NetflixAuthConstants.SVP.SUBDOMAIN_SVP wont

You only have to do curly braces if there is a dot call on it