Skip to main content

VoxBridge: convert VoxEdit glTF/GLB assets to engine-ready files for Unity and Roblox

Project description

VoxBridge

Professional VoxEdit to Unity/Roblox Asset Converter

Convert VoxEdit glTF/GLB exports into optimized formats for Unity and Roblox. Features a robust fallback conversion system, automatic ZIP packaging, and both CLI and GUI interfaces.

Quick Start

Installation

# Method 1: Using pipx (Recommended)
pipx install voxbridge

# Method 2: Using pip
pip install voxbridge

# Method 3: From source
git clone https://github.com/Supercoolkayy/voxbridge.git
cd voxbridge
bash scripts/install.sh

Important: PATH Setup After Installation

After installing with pipx install voxbridge, you need to add the pipx binary directory to your PATH:

# Add pipx to PATH (add this to your ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# Or use the pipx command to add it automatically
pipx ensurepath

# Restart your terminal or reload shell configuration
source ~/.bashrc  # or source ~/.zshrc

Usage

# Convert a single file
voxbridge convert --input model.glb --target unity

# Batch process multiple files
voxbridge batch ./input_folder --output-dir ./output_folder --target unity

# Launch GUI
python3 gui.py

# System diagnostics
voxbridge doctor

🔧 Troubleshooting: Command Not Found

If you get "voxbridge command not found" after installation:

# Option 1: Use module execution (always works)
python3 -m voxbridge.cli convert --input model.glb --target unity

# Option 2: Fix PATH and restart terminal
export PATH="$HOME/.local/bin:$PATH"
# Then restart your terminal

# Option 3: Check pipx installation
pipx list
pipx ensurepath

Features

Core Conversion

  • Unity Export: Optimized glTF files for Unity
  • Roblox Export: Optimized glTF files for Roblox
  • Mesh Optimization: Automatic mesh cleanup and optimization
  • ZIP Packaging: Automatic packaging of output files

Advanced Processing

  • Layered Fallback System: Blender → Assimp → Trimesh → Basic Converter
  • Automatic Error Recovery: Continues processing even if advanced tools fail
  • Batch Processing: Convert multiple files efficiently
  • Progress Tracking: Real-time conversion progress

User Interfaces

  • Command Line Interface: Full-featured CLI with verbose/debug options
  • Graphical Interface: User-friendly GUI for easy file selection and conversion
  • Cross-Platform: Works on Windows, macOS, and Linux/WSL

Installation

Global Installation (Recommended)

# Install pipx if you don't have it
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install VoxBridge
pipx install voxbridge

# Verify installation
voxbridge --version

Alternative Installation

# Direct pip install
pip install voxbridge

# Add to PATH if needed
export PATH="$HOME/.local/bin:$PATH"

From Source

git clone https://github.com/Supercoolkayy/voxbridge.git
cd voxbridge
bash scripts/install.sh

Usage

Command Line Interface

Single File Conversion

# Basic conversion
voxbridge convert --input model.glb --target unity

# With optimization
voxbridge convert --input model.glb --target roblox --optimize-mesh

# Verbose output
voxbridge convert --input model.glb --target unity --verbose

# Debug mode
voxbridge convert --input model.glb --target unity --debug

# Skip Blender (use fallback converters)
voxbridge convert --input model.glb --target unity --no-blender

Batch Processing

# Convert all files in a folder
voxbridge batch ./input_folder --output-dir ./output_folder --target unity

# With optimization
voxbridge batch ./input_folder --output-dir ./output_folder --target roblox --optimize-mesh

System Diagnostics

# Check system compatibility
voxbridge doctor

# Check available converters
voxbridge doctor --verbose

Graphical Interface

# Launch GUI from project root
python3 gui.py

# Or from anywhere (if voxbridge is in PATH)
voxbridge-gui

GUI Features

  • Single File Mode: Select one .glb/.gltf file for conversion
  • Batch Mode: Select multiple files for batch processing
  • Output Folder Selection: Choose where converted files are saved
  • Real-time Progress: See conversion progress and status
  • Log Display: View detailed conversion logs
  • System Check: Verify Blender and other dependencies

Conversion Process

Fallback Chain

VoxBridge uses a sophisticated fallback system to ensure conversions always succeed:

  1. Blender Conversion (if available): Advanced mesh cleanup and optimization
  2. Assimp Conversion (if available): Professional 3D format conversion
  3. Trimesh Conversion (if available): Pure Python mesh processing
  4. Basic Converter: Reliable fallback for all platforms

Output Packaging

  • Automatic ZIP Creation: All output files are packaged into ZIP archives
  • Clean Organization: No scattered .bin files or temporary files
  • Batch Support: Each converted file gets its own ZIP

Examples

Basic Conversions

# Unity conversion
voxbridge convert --input character.glb --target unity

# Roblox conversion with optimization
voxbridge convert --input building.glb --target roblox --optimize-mesh

# Skip Blender (use fallback)
voxbridge convert --input model.glb --target unity --no-blender

Batch Processing

# Convert all models in a folder
voxbridge batch ./models ./output --target unity

# With optimization
voxbridge batch ./models ./output --target roblox --optimize-mesh

GUI Usage

# Launch GUI
python3 gui.py

# Select files and output folder
# Click "Convert" to start processing
# Monitor progress in real-time
# Find results in ZIP files

Testing

Test the Installation

# Test CLI
voxbridge --help
voxbridge convert --help

# Test GUI
python3 gui.py

# Test conversion with sample file
voxbridge convert --input examples/input/4_cubes.glb --target unity --output examples/output/test

Run Import Tests

# Test Unity and Roblox import compatibility
python3 test_imports.py

# Run unit tests
python3 -m pytest tests/

# Run CLI tests
python3 test_cli.py

Requirements

System Requirements

  • Python: 3.9 or higher
  • OS: Windows, macOS, or Linux (including WSL)
  • Memory: 2GB RAM minimum, 4GB recommended
  • Storage: 100MB free space

Optional Dependencies

  • Blender: For advanced mesh processing (auto-detected)
  • Assimp: For professional 3D conversion (auto-detected)
  • Trimesh: For Python-based mesh processing (auto-detected)

Supported Input Formats

  • GLB: Binary glTF files (primary format)
  • GLTF: glTF files with external resources

Output Formats

  • GLTF: Clean glTF files with external .bin files
  • ZIP: Packaged archives containing all necessary files

Documentation

Core Guides

Development & Planning

Additional Resources

Development Scripts

  • scripts/install.sh - Automated installation script
  • scripts/test.sh - Comprehensive test runner
  • scripts/build.sh - Package building script

Support & Troubleshooting

Common Issues

"voxbridge command not found"

# Solution 1: Use module execution
python3 -m voxbridge.cli --help

# Solution 2: Fix PATH
export PATH="$HOME/.local/bin:$PATH"
# Add to ~/.bashrc or ~/.zshrc for permanent fix

# Solution 3: Reinstall with pipx
pipx uninstall voxbridge
pipx install voxbridge
pipx ensurepath

Blender Conversion Fails

# Use fallback conversion
voxbridge convert --input model.glb --target unity --no-blender

# Or install numpy in Blender's Python
# (See detailed error messages for instructions)

Conversion Errors

# Enable verbose mode for details
voxbridge convert --input model.glb --target unity --verbose

# Enable debug mode for maximum detail
voxbridge convert --input model.glb --target unity --debug

Getting Help

License

MIT License - see LICENSE for details.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone the repository
git clone https://github.com/Supercoolkayy/voxbridge.git
cd voxbridge

# Install in development mode
pip install -e .

# Run tests
python3 -m pytest tests/

# Launch GUI for testing
python3 gui.py

VoxBridge v1.0.7 - Professional Asset Conversion Made Simple

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voxbridge-1.0.7.tar.gz (95.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

voxbridge-1.0.7-py3-none-any.whl (93.0 kB view details)

Uploaded Python 3

File details

Details for the file voxbridge-1.0.7.tar.gz.

File metadata

  • Download URL: voxbridge-1.0.7.tar.gz
  • Upload date:
  • Size: 95.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for voxbridge-1.0.7.tar.gz
Algorithm Hash digest
SHA256 74b5bfd8cc8ad6c7d9707b178307826d151fe4acc08ebf76e5536d3a2e5991b1
MD5 019e738443fb073be2477cbe2633bfc0
BLAKE2b-256 f7e632a3de7d27ef8c86980d845414053a68ad12163d16b26c21655f3dc2ebc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for voxbridge-1.0.7.tar.gz:

Publisher: publish.yml on Supercoolkayy/voxbridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voxbridge-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: voxbridge-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 93.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for voxbridge-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 abd8557b15c08553552a04e9a60e32132fa90df44505e5bb05a431c6cd300087
MD5 18d15c982a43d4798c05e5a703d49f0b
BLAKE2b-256 e019943c07c14f5422aac36ed21c891ec6df3ce308f0f67ac197ee60c6757d46

See more details on using hashes here.

Provenance

The following attestation bundles were made for voxbridge-1.0.7-py3-none-any.whl:

Publisher: publish.yml on Supercoolkayy/voxbridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page