Tugi.Integration.IGaming
1.6.3
dotnet add package Tugi.Integration.IGaming --version 1.6.3
NuGet\Install-Package Tugi.Integration.IGaming -Version 1.6.3
<PackageReference Include="Tugi.Integration.IGaming" Version="1.6.3" />
<PackageVersion Include="Tugi.Integration.IGaming" Version="1.6.3" />
<PackageReference Include="Tugi.Integration.IGaming" />
paket add Tugi.Integration.IGaming --version 1.6.3
#r "nuget: Tugi.Integration.IGaming, 1.6.3"
#:package Tugi.Integration.IGaming@1.6.3
#addin nuget:?package=Tugi.Integration.IGaming&version=1.6.3
#tool nuget:?package=Tugi.Integration.IGaming&version=1.6.3
Tugi.Integration
The Tugi integration library simplifies connecting your code with the Tugi support system and AI agent. It is designed to provide most features out of the box; however, any feature may be overridden for enhanced control. For example the library will add all the /.tugi endpoints to your application and only defer to your code when absolutely necessary, but you can choose to forgo these default implementations and add the endpoints in your own code in your own style. This library is fully open-source (with the MIT licence, so as to be usable with proprietary code) if you would like to use our implementations as a reference.
Niches
Some parts of the code are specialised towards certain markets (aka verticals), as the requirements differ between them. For example the data required about users in healthcare would be very different to the data required about users in bike maintenance. These areas of specialisation are referred to in the code as a Niche, and we can use a namespace alias to keep most code generic:
using Tugi.Integration;
using Niche = Tugi.Integration.IGaming;
namespace MyApplication;
public class TugiUserProvider(PlayerDatabase _db) : Niche.IUserProvider
{
public async Task<(string, Niche.UserProfile?)> GetAsync(BrandConfig brand, string? id, CancellationToken _)
{
var player = _db.GetPlayer(id);
return (id, new()
{
Name = player.Name,
DisplayName = player.Username,
Email = player.EMail,
});
}
}
The technical reasons for this are that Tugi.Integration requires an IUserProvider instance in the core library, but also needs to know the concrete types provided without knowing which other library (Tugi.Integration.IGaming in this case) is in use. Using the type alias Niche just makes the code more readable while having two slightly different IUserProvider interfaces.
Use
Installation
Tugi.Integration is a transitive dependency of the niche-specific integration libraries, so only one of those needs to be installed (and indeed, only one at once is supported):
dotnet package add Tugi.Integration.IGaming --project MyApplication.csprojImporting
using Tugi.Integration; using Niche = Tugi.Integration.IGaming;Basic Setup
// Service to provide user data to `Tugi`. builder.Services.AddSingleton<IUserProvider, TugiUserProvider>(); // Add the internal `Tugi` services. builder.Services.AddTugi(); // Use the internal `Tugi` endpoints. app.UseTugi();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Tugi.Integration (>= 1.6.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.3 | 46 | 5/20/2026 |
| 1.6.2 | 83 | 5/18/2026 |
| 1.6.1 | 95 | 5/18/2026 |
| 1.6.0 | 182 | 5/18/2026 |
| 1.5.0 | 121 | 5/14/2026 |
| 1.4.4 | 99 | 5/8/2026 |
| 1.4.2 | 113 | 5/8/2026 |
| 1.4.1 | 98 | 5/8/2026 |
| 1.4.0 | 88 | 5/6/2026 |
| 1.3.7 | 91 | 5/5/2026 |
| 1.3.6 | 85 | 5/4/2026 |
| 1.3.5 | 205 | 5/1/2026 |
| 1.3.4 | 90 | 4/30/2026 |
| 1.3.2 | 85 | 4/30/2026 |
| 1.3.1 | 87 | 4/29/2026 |
| 1.3.0 | 95 | 4/29/2026 |
| 1.2.0 | 139 | 3/23/2026 |
| 1.1.5 | 114 | 3/17/2026 |
| 1.1.4 | 103 | 3/17/2026 |
| 1.0.1 | 94 | 5/8/2026 |