BeyondImmersion.Bannou.AssetLoader.Stride 2.0.1-preview.manual.20260117173007

This is a prerelease version of BeyondImmersion.Bannou.AssetLoader.Stride.
dotnet add package BeyondImmersion.Bannou.AssetLoader.Stride --version 2.0.1-preview.manual.20260117173007
                    
NuGet\Install-Package BeyondImmersion.Bannou.AssetLoader.Stride -Version 2.0.1-preview.manual.20260117173007
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BeyondImmersion.Bannou.AssetLoader.Stride" Version="2.0.1-preview.manual.20260117173007" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BeyondImmersion.Bannou.AssetLoader.Stride" Version="2.0.1-preview.manual.20260117173007" />
                    
Directory.Packages.props
<PackageReference Include="BeyondImmersion.Bannou.AssetLoader.Stride" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BeyondImmersion.Bannou.AssetLoader.Stride --version 2.0.1-preview.manual.20260117173007
                    
#r "nuget: BeyondImmersion.Bannou.AssetLoader.Stride, 2.0.1-preview.manual.20260117173007"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BeyondImmersion.Bannou.AssetLoader.Stride@2.0.1-preview.manual.20260117173007
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BeyondImmersion.Bannou.AssetLoader.Stride&version=2.0.1-preview.manual.20260117173007&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=BeyondImmersion.Bannou.AssetLoader.Stride&version=2.0.1-preview.manual.20260117173007&prerelease
                    
Install as a Cake Tool

Bannou Asset Loader Stride

Stride engine extension for the Bannou Asset Loader SDK.

Overview

This package provides IAssetTypeLoader<T> implementations for Stride asset types:

  • Model - 3D models (.sdmodel)
  • Texture - Textures (.sdtex, DDS, PNG, JPEG)
  • AnimationClip - Animations (.sdanim)

Installation

dotnet add package BeyondImmersion.Bannou.AssetLoader.Stride

Note: Requires .NET 10 and Stride 4.3. Full functionality requires Windows.

Usage

Register All Stride Loaders

using BeyondImmersion.Bannou.AssetLoader;
using BeyondImmersion.Bannou.AssetLoader.Stride;
using BeyondImmersion.Bannou.AssetLoader.Cache;

// In your Stride game initialization
var source = new BannouWebSocketAssetSource(client);
var cache = new FileAssetCache("./asset-cache");
var loader = new AssetLoader(source, cache);

// Register all Stride type loaders
loader.UseStride(Services, GraphicsDevice);

// Load assets
await loader.EnsureAssetsAvailableAsync(new[]
{
    "polygon-adventure/hero-model",
    "polygon-adventure/hero-texture"
});

// Get typed Stride assets
var modelResult = await loader.LoadAssetAsync<Model>("polygon-adventure/hero-model");
var textureResult = await loader.LoadAssetAsync<Texture>("polygon-adventure/hero-texture");

if (modelResult.Success)
{
    // Use the model in your scene
    var entity = new Entity { new ModelComponent(modelResult.Value) };
    rootScene.Entities.Add(entity);
}

Selective Registration

If you only need specific asset types:

// Models only (no GraphicsDevice required)
loader.UseStrideModels(Services);

// Textures only
loader.UseStrideTextures(Services, GraphicsDevice);

// Animations only
loader.UseStrideAnimations(Services);

With Dependency Injection

services.AddSingleton<AssetLoader>(sp =>
{
    var source = sp.GetRequiredService<IAssetSource>();
    var cache = sp.GetRequiredService<IAssetCache>();
    var strideServices = sp.GetRequiredService<IServiceRegistry>();
    var graphics = sp.GetRequiredService<GraphicsDevice>();

    var loader = new AssetLoader(source, cache);
    loader.UseStride(strideServices, graphics);
    return loader;
});

Supported Content Types

Asset Type Content Types
Model application/x-stride-model, application/x-sdmodel
Texture application/x-stride-texture, application/x-sdtex, image/dds, image/png, image/jpeg
AnimationClip application/x-stride-animation, application/x-sdanim

Architecture

This package wraps the existing scene-composer-stride loaders to implement the IAssetTypeLoader<T> interface:

┌─────────────────────────────────────────┐
│          asset-loader-stride            │
│  ┌───────────────────────────────────┐  │
│  │ StrideModelTypeLoader             │  │
│  │ StrideTextureTypeLoader           │  │
│  │ StrideAnimationTypeLoader         │  │
│  └───────────────────────────────────┘  │
│                   │                     │
│                   ▼                     │
│  ┌───────────────────────────────────┐  │
│  │ scene-composer-stride Loaders     │  │
│  │ (ModelLoader, TextureLoader, etc) │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘

Notes

  • Models and textures use reflection to access internal Stride serialization APIs
  • The animation loader is theoretical and may require adjustments for actual .sdanim files
  • GPU resources (textures) are created during loading - ensure GraphicsDevice is ready
  • Models don't require explicit disposal; textures should be disposed when no longer needed

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BeyondImmersion.Bannou.AssetLoader.Stride:

Package Downloads
BeyondImmersion.Bannou.SceneComposer.Stride

Stride engine extension for the Bannou SceneComposer SDK. Provides ISceneComposerBridge implementation, asset loaders, and gizmo rendering for Stride-based games. Note: Full functionality requires Windows.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1-preview.manual... 76 1/17/2026
2.0.1-preview.14 49 3/2/2026
2.0.1-preview.13 45 2/24/2026
2.0.1-preview.11 53 1/29/2026
2.0.1-preview.10 62 1/22/2026
2.0.1-preview.9 55 1/19/2026
2.0.0 113 1/17/2026
1.0.0 113 1/16/2026
0.1.0-preview.manual... 57 1/16/2026