avatar_kit 1.0.0-beta.37 copy "avatar_kit: ^1.0.0-beta.37" to clipboard
avatar_kit: ^1.0.0-beta.37 copied to clipboard

A Flutter plugin for AvatarKit, which provides high-performance avatar rendering with real-time and audio-driven capabilities.

1.0.0-beta.37 #

Dependencies #

  • Android SDK: 1.0.0-beta48 β†’ 1.0.0-beta49

πŸ› Bugfixes #

  • Android: Fix transform Y-axis direction being inverted. y > 0 now correctly moves the avatar upward, aligned with iOS.

1.0.0-beta.36 #

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.35 #

πŸ› Bugfixes #

  • Android: Fix onError callback 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 β€” AvatarKitException now maps to specific error codes (e.g. sessionTokenExpired) instead of generic OPERATION_FAILED
  • iOS: Add missing error code mappings for insufficientBalance, sessionTimeout, concurrentLimitExceeded, serverError in bridge layer

✨ Features #

  • Dart: Add AvatarError enum 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

1.0.0-beta.34 #

πŸ› 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.33 #

πŸ› Bugfixes #

  • Android: Fix NoSuchFieldError on Build.SOC_MODEL causing 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

1.0.0-beta.32 #

πŸ› Bugfixes #

  • Android: Fix ExceptionInInitializerError crash when isDeviceSupported() is called before initialize() β€” 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

1.0.0-beta.31 #

✨ Features #

  • Host Mode Animation End Signal β€” yieldAnimations() now returns a bool indicating 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

1.0.0-beta.30 #

πŸ› Bugfixes #

  • Android: Fix Field sampleRate_ not found crash in release builds caused by R8 stripping Protobuf fields
  • Android: Fix UnsatisfiedLinkError on nativeSetLogLevel caused 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

1.0.0-beta.29 #

⚑ Breaking Changes #

  • Removed AvatarSDK.supportsCurrentDevice() β€” use AvatarSDK.isDeviceSupported() instead (async, combines SoC allowlist + GPU benchmark)
  • Removed AvatarSDK.benchmark() β€” device capability check is now handled internally by isDeviceSupported()

✨ Features #

  • Add useCompressedModel parameter to AvatarManager.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

1.0.0-beta.28 #

πŸ› 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.27 #

  • 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.26 #

  • Add: Flutter AvatarController.pause() and AvatarController.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 transient active) to prevent demo playback-state desync.

1.0.0-beta.25 #

  • 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 AvatarError enum

1.0.0-beta.24 #

  • Update: Android SDK to 1.0.0-beta35
  • Fix: Android pointCount plugin call uses AvatarController.getPointCount()

1.0.0-beta.23 #

  • Update: Android SDK to 1.0.0-beta34 (fix multi-instance breathing twitch, fix surface resize distortion)

1.0.0-beta.22 #

  • 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.21 #

  • Fix: iOS resource bundle not found crash
  • Update: Example app with configuration UI

1.0.0-beta.20 #

  • 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.19 #

Prerelease of AvatarKit Flutter plugin.

1
likes
140
points
939
downloads

Documentation

API reference

Publisher

verified publisherspatialwalk.ai

Weekly Downloads

A Flutter plugin for AvatarKit, which provides high-performance avatar rendering with real-time and audio-driven capabilities.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on avatar_kit

Packages that implement avatar_kit