Install & First Run
Get glacier2_007_toolkit.zip from the Download page. Don't extract it.
Edit → Preferences → Add-ons → Install from Disk… → select the zip → Install Add-on.
Search "Glacier" in the addon list, tick the checkbox, then Save Preferences.
3D Viewport → N → Glacier tab.
The Panel
All toolkit operations live in N-panel → Glacier. The panel is context-sensitive — some buttons only appear when a relevant object is selected.
| Section | Purpose |
|---|---|
| Import | Load .prim and .borg |
| Materials | Assign and edit .MATI / .MATB |
| Texture Tools | Decode / encode .TEXT / .TEXD |
| Mesh Tools | Transfer weights, snap shape, make exportable |
| Export | Write .prim, pack .rpkg |
Import a .prim
Open RPKG-Tool and use the built-in chunk browser (or CLI) to find and extract the .prim and its linked .borg into the same folder.
Panel → Import Prim → navigate to the .prim. The .borg loads automatically if it's in the same folder.
A collection named after the .prim appears in the outliner — armature, meshes, and cloth cages.
Import Options
| Option | Default | Effect |
|---|---|---|
| Import LODs | Off | Also imports LOD1–LOD3 |
| Import Cloth | On | Imports cloth cage meshes |
| Auto Apply Material | On | Loads and assigns the .MATI on import |
| Load Render Material | Off | Builds the Cycles/EEVEE node tree with decoded textures |
Materials
Click the mesh object in the viewport.
Panel → Materials → Load .MATI → navigate to the extracted .MATI file.
The material is assigned and texture slots populated from the linked .TEXT/.TEXD files.
.MATI.Render Materials
Builds a PBR node tree for Cycles or EEVEE — diffuse, normal, SRM, and emissive decoded from .TEXT/.TEXD.
Select a mesh with a .MATI loaded → Panel → Materials → Build Render Material.
Texture channels
| Slot | Channels | Format |
|---|---|---|
| Diffuse | RGB + Alpha | BC1 / BC3 |
| Normal | X → R, Y → G | BC5 |
| SRM | Spec R, Rough G, Metal B | BC1 / BC4 |
| Emissive | RGB | BC1 / BC3 |
Render Source
Links a .prim to its source RPKG chunk so the exporter generates correct hash filenames. Set this before exporting.
Click the armature or root collection object.
Panel → Export → Set Render Source → pick the source .rpkg chunk the .prim came from.
Edit a Material
Select the mesh → Properties → Material Properties.
Click the image field in the slot you want to replace and load your new texture (PNG or TGA).
The exporter encodes your texture to the correct BC format automatically.
Swap a Material
Replaces which .MATI a mesh references — useful for applying a material from another character or prop.
Must have a material loaded via the toolkit.
Panel → Materials → Swap Material → pick the replacement .MATI.
Run Build Render Material again to update the viewport.
Texture Tools
Decode to image
Panel → Texture Tools → Decode .TEXT → pick the .TEXT file. The .TEXD loads from the same folder.
A PNG (or TGA for normal maps) is written next to the source and opened in the Image Editor.
Encode back
Paint or replace the decoded PNG in any image editor.
Panel → Encode .TEXT → pick the edited PNG. Writes .TEXT + .TEXD in the correct BC format.
| Format | Used for |
|---|---|
BC1 | Opaque diffuse / SRM |
BC3 | Diffuse with alpha |
BC4 | Single-channel (AO, mask) |
BC5 | Normal maps (RG) |
BC7 | High-quality diffuse (RGBA) |
LOD Levels
Meshes can have up to four LOD levels (LOD0–LOD3). LOD0 is full detail. Enable Import LODs in the import options to bring in all levels — each is a separate mesh object in the collection.
Edit the Mesh
UPDATED v2.9.3Move existing vertices
Sculpt Mode, Edit Mode, or any modifier that doesn't change vertex count. The exporter byte-patches positions in-place — skin data, bone remap, and aux clusters are copied verbatim from the original. Safest path.
Custom topology (different vertex count)
Fixed in v2.9.3. The all-0xFF bone remap that caused in-game vertex explosions is corrected. See §16 Custom Model Swap for the full workflow.
Export
Click the armature or root collection object.
Panel → Export → Output Folder.
Enable Pack RPKG to auto-generate a patch archive. Enable Custom Mesh only if the vertex count changed.
Panel → Export Prim. Writes .prim, encodes textures, and — if enabled — generates patch_xxx.rpkg.
Copy patch_xxx.rpkg to [Game Install]\Runtime\. Launch the game.
| Option | Default | Effect |
|---|---|---|
| Pack RPKG | Off | Wraps output into a deployable patch archive |
| Experimental: Custom Mesh | Off | Full prim rebuild — required when vertex count changed |
| Export Textures | On | Encodes and includes modified textures |
| Export Materials | On | Writes modified .MATI files |
Full Walkthrough
End-to-end: replace a character mesh and export a deployable patch.
RPKG-Tool → use the built-in chunk browser or CLI to find and extract the .prim, .borg, .MATI, and textures to a work folder.
Panel → Import Prim. Enable Load Render Material to see the textured result in the viewport.
Sculpt / reshape the mesh, or follow §16 to swap in a custom model.
Decode a .TEXT, repaint in any editor, encode back.
Armature selected → Panel → Export → Set Render Source → pick the original .rpkg chunk.
Enable Pack RPKG → Export Prim.
Copy patch_xxx.rpkg to [Game]\Runtime\ and launch.
Troubleshooting
Import
| Symptom | Fix |
|---|---|
| Skeleton not imported | Extract the .borg alongside the .prim |
| Textures show as pink | Extract .TEXT/.TEXD into the same folder as the .MATI |
| Collection is empty | Make sure you're pointing at a .prim, not a .borg |
Export
| Symptom | Fix |
|---|---|
| Game crashes on load | The patch .rpkg must be in [Game]\Runtime\ — not a subfolder |
| Mesh invisible in-game | Set Render Source before exporting |
| Custom rebuild failed | Run Transfer Weights to Selected before Make Custom Mesh Exportable |
| RPKG packer not found | Re-install from the latest zip — native DLLs are included |
Custom mesh
| Symptom | Fix |
|---|---|
| Skinned mesh exploded (pre v2.9.3) | Update to v2.9.3 — bone-remap bug is fixed |
| Weights look wrong after transfer | Move your mesh to overlap the game mesh before transferring, then move it back |
| Cloth breaks after mesh swap | Keep cloth cage vertex count identical; only move existing vertices |
| UVs distorted after Snap | Enable Transfer UVs from Custom Mesh in the Snap operator options |
Reference
File types
| Extension | Contents |
|---|---|
.prim | Vertices, normals, UVs, skin weights, LODs, cloth cages |
.borg | Bone hierarchy, bind poses, cloth rig |
.MATI | Material instance — texture bindings and shader class |
.MATB | Shader class definition |
.TEXT | Texture header — format, dimensions, mip count |
.TEXD | BCn-compressed pixel data |
.rpkg | Package archive — patch archives replace originals at load |
Version history
| Version | Changes |
|---|---|
| 2.9.3 | Fixed bone-remap explosion bug. Added Snap Game Mesh to Custom Shape operator. |
| 2.8.0 | Fixed null-pointer crash from missing aux cull-cluster block on custom topology exports. |
| 2.7.x | RPKG packer integrated into the export panel. |
| 2.6.x | Cloth import / export added. |
Custom Model Swap
v2.9.3Replace a game mesh with your own model — different topology, different vertex count — and get it in-game with rigging and UVs intact.
Method A — Custom Topology
Use when your mesh has a different vertex count. Triggers a full PRIM rebuild. Fixed in v2.9.3.
Steps
Panel → Import Prim.
File → Import (OBJ, FBX, etc.). Position it to overlap the game mesh.
Select your mesh → shift-click the game mesh (active) → Panel → Transfer Weights to Selected.
Select your mesh → Panel → Make Custom Mesh Exportable.
Hide / delete the original game mesh → Panel → Export → enable Experimental: Custom Mesh → Export Prim.
Method B — Snap to Game Slot
Use when you want your custom shape but need to keep the original vertex count. Shrinkwrap projects the game mesh's verts onto your custom surface. Rigging stays completely untouched.
Steps
Panel → Import Prim.
Scale and position it to match the game mesh proportionally.
Click your custom mesh first → shift-click the game mesh (active).
Panel → Mesh Tools → Snap Game Mesh to Custom Shape. Enable Transfer UVs if you want your custom UVs.
Panel → Make Custom Mesh Exportable.
No Custom Mesh flag needed — vertex count is unchanged. Panel → Export Prim.
Comparison
| Method A | Method B | |
|---|---|---|
| Vertex count | Any | Same as original |
| Rigging | Transferred | Original — untouched |
| UV | Custom UVs | Original or transferred |
| Cloth | Dropped | Intact |
| Aux clusters | Empty block | Original kept |
Troubleshooting
| Symptom | Fix |
|---|---|
| Still exploding after v2.9.3 | Re-run Transfer Weights and Make Exportable — old metadata may have carried over |
| Snap result is lumpy | Your custom model needs more polygons near the game mesh's silhouette edges |
| UVs garbled after Snap | Enable Transfer UVs from Custom Mesh in the operator options panel (bottom-left after clicking) |
| Weights all zero | Meshes were too far apart during transfer — overlap them, transfer, then move back |