Awesome
VoxReader <img src="https://media.githubusercontent.com/media/sandrofigo/VoxReader/main/images/icon.png" alt="VoxReader Icon" width="28" style="margin: -4 0;">
A C# library to read .vox files created with MagicaVoxel
Currently supported features
At the moment it is possible to read:
- the name, size and position of all models
- all individual voxels including their color and position
- the palette that was used for the model
- the notes stored in the palette
- all raw data related to the scene
- miscellaneous raw data
Usage
// Read .vox file
IVoxFile voxFile = VoxReader.Read("my_awesome_model.vox");
// Access models of .vox file
IModel[] models = voxFile.Models;
// Access voxels of first model in the file
Voxel[] voxels = models[0].Voxels;
// Access properties of a voxel
Vector3 position = voxels[0].Position;
Color color = voxels[0].Color;
// Access palette of .vox file
IPalette palette = voxFile.Palette;
// Access raw data of a chunk
byte[] rawData = voxFile.Chunks[0].Content;
Unity
The package is also available on OpenUPM for the Unity game engine. Follow the manual installation or the CLI installation instructions on the OpenUPM page to install the package in your project.
Extending the library
The file format specification made by ephtracy is available at .vox file format
Support this project with a ⭐️, report an issue or if you feel adventurous and would like to extend the functionality open a pull request.