avatar_kit
A Flutter plugin for AvatarKit, which provides high-performance avatar rendering with real-time and audio-driven capabilities.
1.0.0-beta.44
spatialwalk/avatar-kit-flutter
What this package is like to depend on
Last release 2 months ago
27 May 2026
Ships on a steady schedule
a new release about every 2 weeks
Unknown
no stable releases
1 version withdrawn
withdrawn after publishing
8 months old
44 releases · first in 2025
44 releases in the last 12 months
see the full history below
Release timeline
44 releases · Dec 2025 to May 2026Releases
latest 44-
1.0.0-beta.4427 May 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta53 → 1.0.0-beta54
- iOS xcframework: v1.0.0-beta.30 → v1.0.0-beta.31
🐛 Bugfixes
- iOS — Fixed
getAudioTime()continuing to advance after the audio actually finished. The reported time now stops at the true end of audio.
✨ Features
- iOS / Android — Host mode now recovers automatically when animation frames arrive after a fallback. Audio and animation re-sync seamlessly without a visible jump.
-
1.0.0-beta.4322 May 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta52 → 1.0.0-beta53
🐛 Bugfixes
- Vulkan resize crash fix (Android) — Eliminated a native SIGSEGV that occurred when
AvatarViewwas resized rapidly. Most reproducible on Huawei Maleoon GPUs. - Telemetry restored (Android) — Re-enabled PostHog event reporting that was silently broken in beta.41/beta.42.
-
1.0.0-beta.4215 May 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta51 → 1.0.0-beta52
- iOS xcframework: v1.0.0-beta.29 → v1.0.0-beta.30
✨ Features
- Added
AvatarController.getAudioTime()API to query the current playback time of the audio session (in seconds). Resets to 0 on each new playback round; returns 0 when not playing.
-
1.0.0-beta.4107 May 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta50 → 1.0.0-beta51
🐛 Bugfixes
- Fixed memory leak when repeatedly attaching/detaching AvatarView (Android & iOS).
- Fixed Android SDK initialization failure when local cached config contains unknown environment.
-
1.0.0-beta.4028 Apr 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Fix Android build failure: removed stale
Environment.testreference in plugin bridge code
- Fix Android build failure: removed stale
-
1.0.0-beta.3927 Apr 2026 pre-releaseRelease notes
Open source →✨ Features
exportBitmap()API — capture current avatar rendering frame as PNG bytes
-
1.0.0-beta.3827 Apr 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta49 → 1.0.0-beta50
- iOS SDK: 1.0.0-beta.28 → 1.0.0-beta.29
✨ Features
- Avatar resource size reduced ~24% (54MB → 41MB, via native SDK update)
exportBitmap()API on Android and iOS (via native SDK update)
⚡ Breaking Changes
- Android:
Environment.testremoved, onlycnandintlavailable
-
1.0.0-beta.3715 Apr 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta48 → 1.0.0-beta49
🐛 Bugfixes
- Android: Fix transform Y-axis direction being inverted.
y > 0now correctly moves the avatar upward, aligned with iOS.
-
1.0.0-beta.3614 Apr 2026 pre-releaseRelease notes
Open source →Dependencies
- Android SDK: 1.0.0-beta47 → 1.0.0-beta48
- iOS SDK: 1.0.0-beta.27 → 1.0.0-beta.28
🔧 Improvements
- Improved avatar rendering color accuracy (via native SDK update)
- Base transform from character settings support (via native SDK update)
- Better playback diagnostics with frame starvation and audio buffer stall telemetry
-
1.0.0-beta.3508 Apr 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Android: Fix
onErrorcallback sending human-readable message instead of error code, causing Dart-side enum matching to fail and assert crash in debug mode - Android: Fix
load()error type lost —AvatarKitExceptionnow maps to specific error codes (e.g.sessionTokenExpired) instead of genericOPERATION_FAILED - iOS: Add missing error code mappings for
insufficientBalance,sessionTimeout,concurrentLimitExceeded,serverErrorin bridge layer
✨ Features
- Dart: Add
AvatarErrorenum values:insufficientBalance,sessionTimeout,concurrentLimitExceeded,serverError - Add unit tests for error enum mapping and channel error propagation
Dependencies
- Android SDK: 1.0.0-beta46 → 1.0.0-beta47
- Android: Fix
-
1.0.0-beta.3405 Apr 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Android: Fix Vulkan SIGABRT on Vivo V2324A (Mali GPU / Dimensity 8300) caused by missing thread safety in render frame submission
✨ Features
- Android & iOS: WebSocket close code handling — new error types for insufficient balance (4001), session timeout (4002), concurrent limit exceeded (4003), and auth failure (4010)
Dependencies
- Android SDK: 1.0.0-beta45 → 1.0.0-beta46
- iOS SDK: 1.0.0-beta.26 → 1.0.0-beta.27
-
1.0.0-beta.3303 Apr 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Android: Fix
NoSuchFieldErroronBuild.SOC_MODELcausing device support probe to fail on Android < 12 (API < 31), blocking SDK initialization for ~30% of devices
Dependencies
- Android SDK: 1.0.0-beta44 → 1.0.0-beta45
- Android: Fix
-
1.0.0-beta.3202 Apr 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Android: Fix
ExceptionInInitializerErrorcrash whenisDeviceSupported()is called beforeinitialize()— app could not start on affected devices
🔧 Improvements
- Android & iOS: Telemetry events called before SDK initialization are now queued and flushed with correct context after
initialize()
Dependencies
- Android SDK: 1.0.0-beta43 → 1.0.0-beta44
- iOS SDK: 1.0.0-beta.25 → 1.0.0-beta.26
- Android: Fix
-
1.0.0-beta.3131 Mar 2026 pre-releaseRelease notes
Open source →✨ Features
- Host Mode Animation End Signal —
yieldAnimations()now returns aboolindicating whether the server has sent all animation data for the current conversation. Non-breaking: callers that ignore the return value are unaffected.
🐛 Bugfixes
- Android: Fix heartbeat coroutine not cancelled on background, causing duplicate heartbeats accumulating on each foreground/background cycle
- Host Mode Animation End Signal —
-
1.0.0-beta.3025 Mar 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Android: Fix
Field sampleRate_ not foundcrash in release builds caused by R8 stripping Protobuf fields - Android: Fix
UnsatisfiedLinkErroronnativeSetLogLevelcaused by JNI symbol lazy binding race - Android: Fix partial flickering on Huawei Maleoon GPU devices
- Android: Fix
close()callback not firing synchronously - iOS: Fix
onConversationState(.playing)not firing after close→reconnect→send - iOS: Fix stream observers being lost across close/restart cycles
- iOS: Fix missing
onConversationState(.idle)callback after audio completes in fallback mode
✨ Features
- Android/iOS: Lowered device support threshold based on production telemetry (Android: CPU 60→40, iOS: removed GPU threshold for unknown devices)
📦 Dependencies
- Update: Android SDK to 1.0.0-beta42
- Update: iOS SDK to 1.0.0-beta.24
- Android: Fix
-
1.0.0-beta.2919 Mar 2026 pre-releaseRelease notes
Open source →⚡ Breaking Changes
- Removed
AvatarSDK.supportsCurrentDevice()— useAvatarSDK.isDeviceSupported()instead (async, combines SoC allowlist + GPU benchmark) - Removed
AvatarSDK.benchmark()— device capability check is now handled internally byisDeviceSupported()
✨ Features
- Add
useCompressedModelparameter toAvatarManager.load()for loading compressed point cloud models (~30% smaller) - Android: CSPLAT v4 decoder support
🐛 Bugfixes
- iOS: Fix release build crash (
EXC_BAD_ACCESS) — requires Xcode 26.3+ (Xcode 26.1 has a Swift compiler bug) - iOS: Fix simulator rendering failure — Metal shader was compiled for device target, now correctly compiled for simulator
- Android: Fix compressed model cache not differentiating between standard and compressed models
📦 Dependencies
- Update: Android SDK to 1.0.0-beta38
- Update: iOS SDK to 1.0.0-beta.23
- Removed
-
1.0.0-beta.2817 Mar 2026 pre-releaseRelease notes
Open source →🐛 Bugfixes
- Fix: Android UnsatisfiedLinkError crash on 32-bit devices by restricting to arm64-v8a ABI only
- Fix: Android WebSocket session cleanup on disconnect, preventing connection state leaks
- Fix: Android rendering failure when AvatarView detached and re-attached to window
- Fix: Android controller callback safety guard after cleanup to prevent late delivery
- Fix: iOS avatar freezes (no idle animation) while waiting for first animation frames from server
- Fix: iOS xcframework simulator slice missing Resources bundle causing crash
📦 Dependencies
- Update: Android SDK to 1.0.0-beta37
- Update: iOS SDK to 1.0.0-beta.22
-
1.0.0-beta.2706 Mar 2026 pre-releaseRelease notes
Open source →- Fix: iOS package URL switched to a valid xcframework bundle with simulator slices to resolve iOS build failures on Flutter integration.
- Fix: iOS plugin bridge compatibility adjusted for
ios-sdk v1.0.0-beta.21(removed unavailable API references causing compile errors).
-
1.0.0-beta.2604 Mar 2026 pre-releaseRelease notes
Open source →- Add: Flutter
AvatarController.pause()andAvatarController.resume()APIs. - Update: Pause/Resume now supports full playback control (audio + animation), distinct from
pauseRendering/resumeRendering(rendering only). - Fix: Flutter Android conversation-state bridge now correctly maps
paused(and normalizes transientactive) to prevent demo playback-state desync.
- Add: Flutter
-
1.0.0-beta.2504 Mar 2026 pre-releaseRelease notes
Open source →- Update: Android SDK to 1.0.0-beta36
- Improve: iOS error callback details include domain/code/server/url context
- Fix: iOS Flutter error code mapping is aligned with Dart
AvatarErrorenum
-
1.0.0-beta.2401 Mar 2026 pre-releaseRelease notes
Open source →- Update: Android SDK to 1.0.0-beta35
- Fix: Android
pointCountplugin call usesAvatarController.getPointCount()
-
1.0.0-beta.2327 Feb 2026 pre-releaseRelease notes
Open source →- Update: Android SDK to 1.0.0-beta34 (fix multi-instance breathing twitch, fix surface resize distortion)
-
1.0.0-beta.2226 Feb 2026 pre-releaseRelease notes
Open source →- Fix: Android build failure - API references on AvatarController corrected to AvatarView
- Fix: Local cached meta causing some parameter updates not taking effect
- Add: Separate pauseRendering and resumeRendering API on AvatarController
-
1.0.0-beta.2112 Feb 2026 pre-releaseRelease notes
Open source →- Fix: iOS resource bundle not found crash
- Update: Example app with configuration UI
-
1.0.0-beta.2012 Feb 2026 pre-release withdrawnRelease notes
Open source →- Fix: iOS 18+ Metal completion handler crash
- Fix: iOS audio playback pause/resume
- Update: Android SDK to 1.0.0-beta33 (architecture refactoring)
-
1.0.0-beta.1903 Feb 2026 pre-release -
1.0.0-beta.1830 Jan 2026 pre-releaseNothing published for this version
-
1.0.0-beta.1723 Jan 2026 pre-releaseNothing published for this version
-
1.0.0-beta.1615 Jan 2026 pre-releaseNothing published for this version
-
1.0.0-beta.1507 Jan 2026 pre-releaseNothing published for this version
-
1.0.0-beta.1406 Jan 2026 pre-releaseNothing published for this version
-
1.0.0-beta.1330 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.1225 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.1125 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.1023 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.919 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.816 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.712 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.611 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.510 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.409 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.308 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.207 Dec 2025 pre-releaseNothing published for this version
-
1.0.0-beta.107 Dec 2025 pre-releaseNothing published for this version