Skip to content

[Feature Request] Kotlin Multiplatform (KMP) SDK Support - Any plans on the roadmap? #463

@JunnosukeTakahashi-jambo

Description

Summary

I am starting a new mobile project using Kotlin Multiplatform (KMP) and would like to integrate Agora for real-time voice/video calling. However, I noticed there is no official KMP SDK available.

I would like to know if there are any plans to support Kotlin Multiplatform in the future roadmap.

Background

I'm planning to adopt KMP for a new project to share business logic between Android and iOS. Agora is my preferred choice for real-time communication, but the lack of a KMP SDK means I would need to implement separate wrappers for each platform using the expect/actual pattern.

Why KMP Support Makes Sense Now

Kotlin Multiplatform has gained significant momentum recently:

  • Google I/O 2024: Google officially announced support for KMP to share business logic across platforms
  • Adoption growth: KMP usage doubled from 7% (2024) to 18% (2025) according to JetBrains Developer Ecosystem Survey
  • Production use: Major companies like Google (Docs app), McDonald's, Netflix, Forbes, and Cash App are using KMP in production
  • Jetpack libraries: Google is actively adding KMP support to Jetpack libraries (Room, DataStore, ViewModel, etc.)

Current Workaround

Without an official KMP SDK, developers must:

  1. Create expect declarations in commonMain
  2. Implement actual classes separately for Android (using Agora Android SDK) and iOS (using Agora iOS SDK via cinterop)
  3. Maintain two separate implementations

This approach works but increases development and maintenance overhead.

Request

  1. Are there any plans to provide an official Kotlin Multiplatform SDK for Agora RTC?
  2. If so, is there an estimated timeline?
  3. If not currently planned, would the Agora team consider adding this to the roadmap?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions