romesh

Crates.ioromesh
lib.rsromesh
version0.1.0
created_at2026-01-25 01:55:35.311908+00
updated_at2026-01-25 01:55:35.311908+00
descriptionRust parser for Roblox mesh files.
homepage
repositoryhttps://github.com/outofbears/romesh
max_upload_size
id2067910
size27,176
Jack Fox (OutOfBears)

documentation

README

RoMesh

Version License Stars Forks Watchers Issues Pull Requests Last Commit


romesh is a Rust library for parsing all current Roblox mesh formats into a single, unified mesh representation.

Itโ€™s built for tooling: converters, validators, renderers, asset pipelines, and anything else that needs to reliably read Roblox .mesh files.

โœจ Features

  • Parses Roblox mesh versions v1 through v5
  • Single unified output regardless of source version
  • One-call API โ€” no version handling required
  • Supports:
    • Geometry (vertices, faces)
    • Normals, UVs, tangents
    • Vertex colors
    • Skinning & bones
    • Subsets / LOD data

๐Ÿ“ฆ Installation

[dependencies]
romesh = "0.1.0"

๐Ÿš€ Quick start

Parse a mesh file

use romesh::RobloxMesh;

fn main() -> anyhow::Result<()> {
    let bytes = std::fs::read("MyMesh.mesh")?;
    let mesh = RobloxMesh::from_buffer(&bytes)?;

    println!("mesh version: {}", mesh.version);
    println!("vertices: {}", mesh.vertices.len());
    println!("faces: {}", mesh.faces.len());

    Ok(())
}

๐Ÿ“ What you get

RobloxMesh::from_buffer always returns the same high-level mesh type, no matter which Roblox mesh version the file uses.

Depending on the mesh, this may include:

  • Geometry (vertices & faces)
  • Normals / UVs / tangents
  • Vertex colors
  • Skinning data (weights & indices)
  • Bone hierarchy
  • Subsets / LOD partitions

Fields that donโ€™t exist in the source mesh are returned as empty.

๐Ÿ› ๏ธ Common use cases

  • Convert Roblox meshes to other formats (glTF, OBJ, custom engines)

  • Inspect or validate asset data

  • Build external renderers or preview tools

  • Diff or analyze mesh changes

  • Research Robloxโ€™s mesh formats

๐Ÿงช Version support

romesh supports the following Roblox mesh revisions:

  • v1
  • v2
  • v3
  • v4
  • v5

Future versions can be added without changing the public API.

๐Ÿ’– Contribution

romesh was developed by @Bear

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

โš ๏ธ Disclaimer

Roblox is a trademark of Roblox Corporation. This project is not affiliated with or endorsed by Roblox.

Commit count: 7

cargo fmt