Assembly with name 'AlmediaLink' already exists and GUID … conflicts with errors.
Both com.almedia.link and com.almedia.sdk are in Packages/manifest.json. Remove the com.almedia.link line. See Upgrade the package.
AlmediaSettings.asset is missing.
The SDK copies the default asset once after import. If that did not happen, force it by opening Almedia → Settings from the menu bar; the window creates the asset if it is not present.
Android build fails with “duplicate class” or D8 dexing errors.
A conflicting version of an AndroidX or Kotlin library is likely present. Most often this means another plugin pulled a newer androidx.datastore:datastore-preferences past the SDK’s 1.0.0 pin — inspect the generated Gradle output (Library/Bee/Android) and check the resolved version. If a stale // >>> almedia-link deps block from an older SDK version is still in Assets/Plugins/Android/mainTemplate.gradle, delete it (the SDK no longer manages that block — deps come from AlmediaSDK.androidlib). If EDM4U is in use, force a re-resolve via Assets → External Dependency Manager → Android Resolver → Resolve.
iOS build is missing NSUserTrackingUsageDescription.
The SDK’s post-build hook adds a default value on every iOS build (unless the host or another SDK already set it). If it’s still missing, confirm another post-processor isn’t stripping it; you can always set the key explicitly via Player Settings → iOS → Other Settings → Custom Info.plist entries.
Status never leaves NotInitialized.
Confirm OnErrorOccurred is not firing first with InvalidConfiguration. If both are silent, subscribe to OnLog and look for Initializing SDK / Status changed: … lines. When the log shows Status changed: NotInitialized but nothing else, the native HTTP request has not returned. The most common causes are an offline device or an integration key from a different environment.
The status never leaves NotInitialized, and OnLog reports that a GameObject named [Almedia SDK] Bridge already exists.
Another GameObject in your project carries the name the SDK reserves for its callback receiver. Native code delivers every callback to that name, and Unity may hand it to your object instead of the SDK’s, so OnStatusChanged never arrives and nothing appears. The log line names the object and its scene. Rename your object; the SDK’s own object is created for you and needs no setup.
Notifications never arrive after the player links.
Confirm the player’s status is Linked. Polling only runs for linked accounts. In the Editor, the mock bridge emits sample notifications on a timer; on device, a real linked Freecash account with issued rewards is required.
The notification card appears too low or overlaps the bottom HUD.
The NotificationCard prefab has a Bottom Padding field in the Inspector that controls how far above the bottom edge the card rests. To shift it permanently, create a Prefab Variant (see Customize the UI - Level 2) and adjust the value or the RectTransform anchors.
For anything not covered here, see the API reference or contact your Almedia integration manager.