Skip to content

Bulk asset importer and converter for Stride Game Engine. Convert raw asset files (.fbx, .png, .jpg) into proper Stride assets (.sdtex, .sdmat, .sdm3d) with correct folder structure and cross-references.

License

Notifications You must be signed in to change notification settings

Keepsie/HS-Stride-Mass-Importer

Repository files navigation

HS Stride Mass Importer

A bulk asset importer for the Stride game engine that converts raw asset files (.fbx, .png, .jpg, etc.) into proper Stride assets (.sdtex, .sdmat, .sdm3d, etc.) with correct folder structure and cross-references.

Available as both a modern UI application and console application:

πŸ–₯️ UI

HS Mass Importer UI

🎯 Why This Tool Exists

Importing hundreds of game assets one-by-one in Stride GameStudio is tedious and time-consuming. This tool automates the bulk import process while maintaining proper folder organization and asset relationships.

The Problem: Manual asset import in Stride requires:

  • Importing each texture, model, and audio file individually by dragging into GameStudio or into the resource folder, then creating each asset by hand
  • Creating materials and linking them to textures manually
  • Importing raw files like .json one at a time (useful for dialog systems when you need to import hundreds of JSON files or CSVs)

The Solution: HS Stride Mass Importer handles all of this automatically in a simple 3-step process.

✨ What This Tool Handles

βœ… Fully Supported Assets

  • Textures (.png, .jpg, .jpeg, .bmp, .tga, .dds) β†’ .sdtex assets
  • 3D Models (.fbx, .obj, .dae, .gltf, .glb) β†’ .sdm3d assets
  • Materials (auto-generated from textures) β†’ .sdmat assets
  • Raw Assets (.json, .xml, .txt, .csv) β†’ .sdraw assets
  • Audio Files (.wav, .mp3, .ogg, .flac) β†’ .sdsnd assets
  • C# Code (.cs) β†’ Imported directly into your project's code folder

⚠️ Note on .cs files: C# scripts are imported directly as source code into your project, but most asset packs include Unity-specific code that won't compile in Stride. These scripts typically need significant modification to work with Stride's API.

⚠️ What You Should Import Manually

  • Animations - Complex import requiring precise control
  • Skeletons - Requires manual setup and configuration
  • Complex Materials - Auto-generated materials are basic; create custom materials in GameStudio
  • Specialized Assets - Fonts, videos, shaders, etc.

πŸ”„ Automatic Features

  • Folder Structure Preservation - Maintains your source organization
  • Path Fixing - Updates all asset references to work correctly
  • Material Generation - Creates basic materials for each texture
  • Resource Organization - Places files in proper Resources/ and Assets/ locations

How I'm using this tool: I create a new Stride project to import all the assets I need, then use HS Stride Packer to export a .stridepackage and import it into my real Stride projects later. I plan on using the Synty Prototype kit frequently, so it made sense to create a reusable .stridepackage.

Mass importing .json data and CSV files for dialog systems created in external tools for NPCs, being able to mass import raw assets was essential.

πŸš€ Installation & Usage

Prerequisites

  • .NET 8.0 Runtime
  • Stride Game Project (4.2 or newer recommended)

Getting Started

Option 1: UI Application (Recommended)

  1. Build and run HS.Stride.Mass.Importer.UI
  2. Fill in the 3 fields:
    • πŸ“₯ Package Name: Enter a name for your asset package (e.g., "SyntyPack", "Characters")
    • πŸ“‚ Source Assets Folder: Browse and select the folder containing your raw assets
    • 🎯 Target Project: Browse and select your Stride project directory
  3. Click Import Package to start the process

Option 2: Console Application

  1. Build and run HS.Stride.Mass.Importer.Console
  2. Follow the 3-step wizard:
    • Step 1: Enter package name (e.g., "SyntyPack", "Characters")
    • Step 2: Select source folder containing your raw assets
    • Step 3: Select target Stride project directory

Both applications will automatically:

  • Scan and categorize your assets
  • Copy resources with proper folder structure
  • Generate Stride assets with correct references
  • Create basic materials for textures

TIP: Batch Material Assignment

When working with hundreds of imported models, select multiple models in Stride Game Studio by clicking the first model, holding Shift, and clicking the last model You can then assign materials to all selected assets simultaneously in the Property Grid.

πŸ“ How It Organizes Your Assets

Input Structure (Ideally your pack is already organized like this)

SourceFolder/
β”œβ”€β”€ Characters/
β”‚   β”œβ”€β”€ hero.fbx
β”‚   └── hero_texture.png
β”œβ”€β”€ Weapons/
β”‚   β”œβ”€β”€ sword.fbx
β”‚   └── sword_diffuse.png
└── Audio/
    └── sword_clash.wav

Output Structure

StrideProject/
β”œβ”€β”€ Resources/PackageName/
β”‚   β”œβ”€β”€ Characters/
β”‚   β”‚   β”œβ”€β”€ hero.fbx
β”‚   β”‚   └── hero_texture.png
β”‚   β”œβ”€β”€ Weapons/
β”‚   β”‚   β”œβ”€β”€ sword.fbx
β”‚   β”‚   └── sword_diffuse.png
β”‚   └── Audio/
β”‚       └── sword_clash.wav
└── Assets/PackageName/
    β”œβ”€β”€ Characters/
    β”‚   β”œβ”€β”€ hero.sdm3d
    β”‚   └── hero_texture.sdtex
    β”œβ”€β”€ Weapons/
    β”‚   β”œβ”€β”€ sword.sdm3d
    β”‚   └── sword_diffuse.sdtex
    β”œβ”€β”€ Materials/              # Materials organized at package level
    β”‚   β”œβ”€β”€ hero_texture_Mat.sdmat
    β”‚   └── sword_diffuse_Mat.sdmat
    └── Audio/
        └── sword_clash.sdsnd

βš™οΈ Best Practices

βœ… Recommended Source Organization

AssetPack/
β”œβ”€β”€ Models/           # Clear folder names
β”œβ”€β”€ Textures/        
β”œβ”€β”€ Audio/           
└── Data/            # JSON, XML, config files

βœ… Good Package Names

  • SyntyFantasy - Asset pack identification
  • PlayerCharacters - Asset type description
  • UIElements - Functional grouping

❌ Avoid These Patterns

AssetPack/
β”œβ”€β”€ random_stuff/    # Unclear organization  
β”œβ”€β”€ test_files/      # Temporary content
β”œβ”€β”€ backup/          # Non-game assets
└── untitled_folder/ # Generic names

πŸ”§ Technical Details

Supported File Types

Type Extensions Output
Textures .png, .jpg, .jpeg, .bmp, .tga, .dds .sdtex assets
Models .fbx, .obj, .dae, .gltf, .glb .sdm3d assets
Audio .wav, .mp3, .ogg, .flac .sdsnd assets
Raw Assets .json, .xml, .txt, .csv .sdraw assets
C# Code .cs Source code files

Note: .cs files from asset packs are usually Unity-specific and require modification for Stride.

⚠️ Important Limitations

What This Tool Is NOT

  • ❌ Not a full pipeline replacement - Advanced materials need manual creation
  • ❌ Not an animation importer - Animations require careful setup in GameStudio
  • ❌ Not reversible - No "uninstall" feature (manual cleanup required)

Before Importing

  • ⚠️ Close Stride GameStudio for best results
  • πŸ”„ Backup your project before large imports
  • πŸ“ Organize source assets in logical folders first

🀝 Contributing

This tool is designed to handle the most common bulk import scenarios. If you encounter file types or workflows that aren't supported, contributions are welcome.

πŸ“„ License

Apache License 2.0 - see LICENSE.txt for full text.

HS Stride Mass Importer
Copyright Β© 2025 Happenstance Games LLC

About

Bulk asset importer and converter for Stride Game Engine. Convert raw asset files (.fbx, .png, .jpg) into proper Stride assets (.sdtex, .sdmat, .sdm3d) with correct folder structure and cross-references.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages