Skip to content

MWA integration issues found on Solana Seeker with Seed Vault — Unity MWA Example App #273

@mstevens843

Description

@mstevens843

Is your feature request related to a problem? Please describe.
While building a Unity MWA example app tested on Solana Seeker with Seed Vault, I had to work around several missing features to achieve parity with the React Native MWA SDK. The SDK works,
but requires significant boilerplate for common MWA flows.

Working example app: https://github.com/mstevens843/unity-solana-mwa-example

  1. LoginWalletAdapter() shows a wallet picker UI even when only one MWA adapter is available. Should auto-select.
  2. Web3.Instance.Logout() only clears local state. No way to revoke MWA authorization.
  3. No built-in auth token cache for MWA sessions. Had to build a custom IMwaAuthCache with PlayerPrefs.
  4. GetCapabilities is not exposed in the SDK.
  5. WebSocket Error: An exception has occurred during an OnMessage event fires on every MWA handshake. Non-blocking but pollutes logs.
  6. No SignMessage(string) overload. Requires manual Encoding.UTF8.GetBytes().
  7. No way to access the MWA auth token from LoginWalletAdapter() return value. Account only exposes PublicKey.

Describe the solution you'd like
Auto-select wallet adapter when only one is available (skip picker UI). Expose MWA auth token from LoginWalletAdapter() for external caching. Add built-in extensible auth cache layer (parity
with React Native SDK). Expose GetCapabilities for MWA 2.0. Add SignMessage(string) convenience overload. Suppress or fix WebSocket OnMessage exception during MWA handshake.

Describe alternatives you've considered
I built workarounds for all of these in the example app. Custom IMwaAuthCache interface with PlayerPrefs, manual byte conversion for SignMessage, hardcoded GetCapabilities defaults. These
work but should be in the SDK itself for React Native parity.

Additional context
Solana.Unity-SDK (latest via git), Unity 6000.4.1f1, IL2CPP, Solana Seeker hardware, Seed Vault wallet, Android API 35. All MWA flows confirmed working: authorize, sign message, sign
transaction, sign and send, disconnect, delete account, reconnect with cached auth.

Happy to contribute PRs for any of these.

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