CryptikLemur.AssetBundleBuilder 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global CryptikLemur.AssetBundleBuilder --version 1.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local CryptikLemur.AssetBundleBuilder --version 1.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=CryptikLemur.AssetBundleBuilder&version=1.0.1
                    
nuke :add-package CryptikLemur.AssetBundleBuilder --version 1.0.1
                    

AssetBundleBuilder

A command-line tool for building Unity asset bundles for RimWorld mods. No repository cloning or Unity project setup required!

Prerequisites

⚠️ Unity Editor Required: This tool requires Unity Hub and a Unity Editor installation (e.g., 2022.3.35f1) to build asset bundles. The tool will:

  • Auto-detect Unity installations in standard locations
  • Create temporary Unity projects automatically
  • Handle all Unity project configuration

You can download Unity Hub from unity.com/download and install the required Unity version through it.

Installation

# Install globally
dotnet tool install --global CryptikLemur.AssetBundleBuilder

# Use anywhere
assetbundlebuilder 2022.3.5f1 "/path/to/assets" "mybundle" "/path/to/output"

Manual Installation (No .NET Required)

Download the appropriate executable for your platform from the Releases Page:

  • Windows: AssetBundleBuilder-win-x64-v1.0.0.zip
  • macOS Intel: AssetBundleBuilder-osx-x64-v1.0.0.zip
  • Linux x64: AssetBundleBuilder-linux-x64-v1.0.0.zip

Extract and run the executable directly - no installation required!

Quick Start

Basic Usage

# Auto-find Unity and build asset bundles
assetbundlebuilder 2022.3.5f1 "/path/to/your/mod/assets" "mybundle" "/path/to/output/directory"

With Custom Bundle Name

# Specify a custom bundle name
assetbundlebuilder 2022.3.5f1 "/path/to/assets" "author.modname" "/path/to/output"

Specific Platform

# Build only for Windows
assetbundlebuilder 2022.3.5f1 "/path/to/assets" "mybundle" "/path/to/output" --target windows

How It Works

  1. No Setup Required: Tool automatically creates a temporary Unity project
  2. Unity Auto-Discovery: Finds Unity installations by version number across common paths
  3. Asset Processing: Copies your assets and applies proper import settings
  4. Bundle Creation: Builds compressed asset bundles with platform-specific optimizations
  5. Cleanup: Removes temporary files automatically

Supported Features

  • Unity Version Auto-Discovery - Just specify the version (e.g., 2022.3.5f1)
  • Cross-Platform - Windows, macOS, and Linux native executables
  • Multiple Build Targets - Windows, macOS, Linux asset bundles
  • Automatic Asset Import Settings - Textures, audio, shaders
  • Terrain Texture Support - Special handling for terrain assets
  • PSD File Support - Basic Photoshop document import
  • Temporary Project Management - No manual Unity project required
  • CI/CD Friendly - Perfect for automated build pipelines

Command Reference

assetbundlebuilder <unity-path-or-version> <asset-directory> <bundle-name> [output-directory] [options]

Arguments

  • unity-path-or-version: Either Unity version (e.g., 2022.3.5f1) or full path to Unity executable
  • asset-directory: Directory containing your mod's assets (textures, sounds, etc.)
  • bundle-name: Name for the asset bundle (e.g., "mymod", "author.modname")
  • output-directory: Where to create the asset bundles (optional, defaults to current directory)

Options

  • --unity-version <version> - Explicitly specify Unity version
  • --bundle-name <name> - Override bundle name (alternative to positional argument)
  • --target <target> - Build target: windows, mac, or linux (default: windows)
  • --temp-project <path> - Custom location for temporary Unity project
  • --keep-temp - Don't delete temporary project (for debugging)

Examples

Windows

# Using .NET global tool
assetbundlebuilder 2022.3.5f1 "C:\MyMod\Assets" "mymod" "C:\MyMod\Output"

# Using specific Unity installation
assetbundlebuilder "C:\Unity\2022.3.5f1\Editor\Unity.exe" "C:\MyMod\Assets" "mymod" "C:\MyMod\Output"

macOS

# Using .NET global tool
assetbundlebuilder 2022.3.5f1 "/Users/me/MyMod/Assets" "mymod" "/Users/me/MyMod/Output"

# Using specific Unity installation
assetbundlebuilder "/Applications/Unity/Hub/Editor/2022.3.5f1/Unity.app/Contents/MacOS/Unity" "/Users/me/MyMod/Assets" "mymod" "/Users/me/MyMod/Output"

Linux

# Using .NET Global Tool
assetbundlebuilder 2022.3.5f1 "/home/user/MyMod/Assets" "mymod" "/home/user/MyMod/Output"

# Build only Linux bundles
assetbundlebuilder 2022.3.5f1 "/home/user/MyMod/Assets" "mymod" "/home/user/MyMod/Output" --target linux

Unity Installation Paths

The tool automatically searches these common Unity installation locations:

Windows

  • C:\Program Files\Unity\Hub\Editor\
  • C:\Program Files (x86)\Unity\Hub\Editor\
  • %USERPROFILE%\Unity\Hub\Editor\

macOS

  • /Applications/Unity/Hub/Editor/
  • $HOME/Applications/Unity/Hub/Editor/

Linux

  • /opt/unity/editor/
  • $HOME/Unity/Hub/Editor/
  • $HOME/.local/share/Unity/Hub/Editor/

CI/CD Integration

GitHub Actions

- name: Install AssetBundleBuilder
  run: dotnet tool install --global CryptikLemur.AssetBundleBuilder

- name: Build Asset Bundles
  run: assetbundlebuilder 2022.3.5f1 "./Assets" "mymod" "./Output"

Azure DevOps

- task: DotNetCoreCLI@2
  displayName: 'Install AssetBundleBuilder'
  inputs:
    command: 'custom'
    custom: 'tool'
    arguments: 'install --global CryptikLemur.AssetBundleBuilder'

- script: assetbundlebuilder 2022.3.5f1 "$(Build.SourcesDirectory)/Assets" "mymod" "$(Build.ArtifactStagingDirectory)"
  displayName: 'Build Asset Bundles'

Troubleshooting

Unity Not Found

# Try with full path instead
assetbundlebuilder "/path/to/Unity" "/path/to/assets" "/path/to/output"

# Or install Unity in standard location

Permission Errors (Linux/macOS)

# Make sure executable has proper permissions
chmod +x ./AssetBundleBuilder

# Or use .NET Global Tool instead
dotnet tool install --global AssetBundleBuilder.GlobalTool

Invalid Bundle Name

# Use a valid bundle name (alphanumeric, dots, underscores)
assetbundlebuilder 2022.3.5f1 "/path/to/assets" "valid_bundle_name" "/path/to/output"

Debugging

# Keep temporary project for inspection
assetbundlebuilder 2022.3.5f1 "/path/to/assets" "mybundle" "/path/to/output" --keep-temp

Uninstallation

.NET Global Tool

dotnet tool uninstall --global CryptikLemur.AssetBundleBuilder

Support

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

This package has no dependencies.

Version Downloads Last Updated
4.0.1 133 9/7/2025
4.0.0 134 9/1/2025
3.0.0 180 8/28/2025
2.0.0 179 8/28/2025
1.6.0 127 8/19/2025
1.5.0 131 8/18/2025
1.4.0 150 8/17/2025
1.3.0 94 8/15/2025
1.2.0 135 8/13/2025
1.1.0 141 8/13/2025
1.0.3 153 8/12/2025
1.0.2 139 8/12/2025
1.0.1 143 8/12/2025
1.0.0 130 8/12/2025

Initial release with Unity version auto-discovery and cross-platform support.