A shared mesh spawning library for Schedule I mods. Place any game prop with one line of code.
var desk = MeshVaultAPI.Spawn("desk_counter_l", position, Quaternion.identity);Both release DLLs are scanned and attested through MLVScan on every release. Click the badges above to verify.
You don't need to install MeshVault yourself. If a mod you download depends on it, your mod manager (r2modman, Vortex, or Gale) will install it automatically.
For manual installs, drop MeshVault.Il2Cpp.dll or MeshVault.Mono.dll into your Plugins folder. This plugin ships both IL2CPP and Mono builds.
Requirements: MelonLoader v0.7.0+, Schedule I by TVGS
MeshVault gives you access to a growing library of pre-extracted game meshes. No asset bundles, no hunting for materials at runtime. Pick an ID, call Spawn, and you get a fully configured GameObject with geometry, materials, colliders, and child objects.
What you can do:
- Spawn any game prop by ID:
MeshVaultAPI.Spawn("dumpster", pos, rot) - Swap materials or tint colors per-slot at spawn time
- Project textures onto surfaces with
SpawnDecal() - Register your own custom meshes with
RegisterMeshes()so other mods can use them too - Customize materials in JSON with
colorTint,metallic,smoothness, andemissiveColor
Get started: Full documentation with examples, API reference, and JSON format is at hdlmrell.github.io/S1-MeshVault.
| Page | What you'll find |
|---|---|
| Quick Start | Installation, first spawn, common tasks |
| API Reference | Every public method with parameters and examples |
| JSON Schema | How to author mesh JSON for shipping your own geometry |
| Configuration | Runtime | Purpose |
|---|---|---|
MonoDebug |
Mono (netstandard2.1) | Development. Includes extraction tools, write API, MeshPlacer |
Release |
IL2CPP (net6.0) | Distribution. Read-only spawning API only |
MonoRelease |
Mono (netstandard2.1) | Distribution. Read-only spawning API only |
Release builds are API-only. You can build your mod against the release DLLs to call
Spawn(),RegisterMeshes(), etc. All in-game tools (MeshPlacer, hierarchy picker, GLB export) are stripped via#if DEBUG. To use those tools, downloadMeshVault.Mono.Debug.dllfrom the GitHub releases, rename it toMeshVault.Mono.dll, and replace the release version in yourPluginsfolder. Both builds share the same assembly name — your mod works against either one.
- Build and deploy
MonoDebug. - Launch the game. Press
F9to open MeshPlacer. - Use the Hierarchy Picker to browse scene objects and extract meshes.
- Extracted meshes are saved to
UserData/MeshVault/MeshDatabase.json.
Copy LocalPaths.targets.example to LocalPaths.targets in the project directory and fill in your local paths. This file is gitignored. Each developer maintains their own.
Releases are automated. Push your changes to stable, then create a GitHub release with a version tag (e.g. v1.0.7). The CI pipeline builds all three DLLs (IL2CPP Release, Mono Release, Mono Debug), attaches them to the release, and publishes MLVScan attestations for each automatically.
CC BY-NC-SA 4.0. You may share and adapt this work for non-commercial purposes with attribution and share-alike.