Troubleshooting
Diagnose Bluetooth connections, permissions and callbacks.
| Symptom | Check |
|---|---|
| No adapters | Enable Bluetooth and confirm the host has a BLE adapter. On Android, initialize the plugin and grant Nearby devices permission. |
| No scan results | Make sure the peripheral is advertising, move it closer and try a longer scan. For beacons, see Platform notes. |
| Connection fails | Disconnect the peripheral from other apps and check that it is connectable. |
| Read or write fails | Check both UUIDs and the characteristic's capabilities. Some devices require pairing before access. |
| No notifications | Use Notify or Indicate according to the characteristic's capabilities, retain the peripheral, and confirm the device is sending updates. |
| Native library cannot load | Reinstall the complete package and check that the build architecture matches Platform notes. |
| Unity object access fails in a callback | Return to the main thread before accessing scenes or UI; see Usage. |
BLE operation failures throw BleException. Include its Code and Message
when diagnosing a failure. Exceptions raised by synchronous application callback
handlers are reported through CallbackErrors.Unhandled.
For help, open an issue with the package and Unity versions, device/OS, reproduction steps and the relevant log.
Linux library loading or no adapters
For DllNotFoundException, inspect the built player's
*_Data/Plugins/x86_64 folder. It needs both regular files libsimplecble.so and
libsimpleble.so; checking only the native build directory is insufficient.
Run ldd on the player's libsimplecble.so and resolve any missing system
libraries, including libdbus-1.so.3. Do not copy libraries from a newer Linux
distribution to work around a glibc or libstdc++ version error.
If loading succeeds but adapters are absent, check the Bluetooth service,
bluetoothctl show, radio blocking and system D-Bus permissions. Report the
Linux distribution, BlueZ version and Editor/player log with the issue.
