Comparison
This guide will help you in your choice to choose between the .NET Lavalink client libraries. We know it is a hard decision as there a few libraries to choose from. We will try to explain the differences between the libraries and what you should choose.
Overview
- | Lavalink4NET | Victoria | Nomia |
---|---|---|---|
Maximum Lavalink version | 4.0.0-beta3 | 3.7.8 | 3.7.8 |
Minimum .NET version | 6.0 | 6.0 | 6.0 |
Supported clients | Discord.Net/DSharpPlus/Remora.Discord | Discord.Net | DSharpPlus |
Test coverage | 67.8 % | 0.0% | 0.0% |
Features
- | Lavalink4NET | Victoria | Nomia |
---|---|---|---|
Built-in queue support | ✅ | ✅ | ❌ |
v3 backwards compatible | ❌ | - | ❌ |
Track decoding (built-in) | ✅ | ✅ | ❌ |
Track decoding (external) | ❌ | ❌ | ❌ |
Track search | ✅ | ✅ | ✅ |
Pausing/resuming | ✅ | ✅ | ✅ |
Filter support | ✅ | ✅ | ✅ |
Inactivity tracking | ✅ | ❌ | ❌ |
Lyrics | ✅ | ✅ | ❌ |
V4 initial play optimization | ✅ | ❌ | ❌ |
Caching support | ✅ | ❌ | ❌ |
External queue support | ✅ | ❌ | ❌ |
Built-in ExtraFilters support | ✅ | ❌ | ❌ |
Built-in LavaSearch support | ✅ | ❌ | ❌ |
Built-in LavaSrc support | ✅ | ❌ | ❌ |
Built-in SponsorBlock support | ✅ | ❌ | ❌ |
Built-in TextToSpeech support | ✅ | ❌ | ❌ |
Player preconditions | ✅ | ❌ | ❌ |
Vote player implementation | ✅ | ❌ | ❌ |
Artwork resolution (native) | ✅ | ✅ | ❌ |
Artwork resolution (Lavalink) | ✅ | ❌ | ✅ |
Load balacing/Clustering | ✅ | ❌ | ❌ |
Payload interception | ✅ | ❌ | ❌ |
Proxy support | ✅* | ❌ | ❌ |
Custom players | ✅ | 🟨 | ✅ |
Session resumption | ✅ | ✅ | ✅ |
NativeAOT ready** | ✅ | ❌ | ❌ |
- * Proxy support indirectly provided by IHttpClientFactory
- ** Assuming discord library is also NativeAOT ready
info
This list is not comprehensive and may be missing some features. If you find any missing features, please open an issue in the Lavalink4NET issue tracker, or open a pull request to add it to the documentation.