Introduction

After loading a level, open Edit → Models to launch the Model Editor. It browses and edits the level's mesh package under RENDERABLE (e.g. LEVEL_MODELS.PAK / MODELS_LEVEL.BIN) — CS2 models used by ModelReference entities and other renderables.

The same window can open as a picker (with Select This Model) from a renderable instance's Change Model button.

Browsing & Preview

The left tree lists models in the loaded level. Use Search / Clear to filter. Select an entry to preview it in the centre 3D view.

  • Use Material Data — textured preview when possible (same preference as Options → Misc → Use Textured Model View); materials come from the Material Editor package, textures from the Texture Editor.
  • Preview Render Filter — show/hide LOD groups and individual submeshes (Show All / Hide All). The i button opens submesh info (verts, indices, vertex format).

Import & Export

Supported mesh formats: FBX, glTF (.gltf / .glb), COLLADA (.dae) and Wavefront OBJ.

FBX and glTF are written by OpenCAGE itself rather than through Assimp, because Assimp's exporters mangle exactly the things you care about — it resamples animation down to a handful of keys in FBX, and damages animated content badly in glTF. Those two carry everything OpenCAGE writes; COLLADA and OBJ go through Assimp and carry progressively less (OBJ has no skinning and only one UV set).

Models export at their real size. FBX, COLLADA and OBJ all treat one unit as a centimetre while CATHODE and glTF work in metres, so OpenCAGE applies the right unit scale per format — a model no longer arrives in Blender at a hundredth of its size.

Import New

Click Import New, pick a file, then use the import preview to choose which meshes to bring in. You settle the model's name and any folders it should live in here too, with clashes checked as you type — nothing gets silently renamed after the fact.

Optionally Pick material for selected meshes (opens the Material Editor), then Import.

If a .cs2meta.json sidecar sits beside the file (see below), OpenCAGE reads it and rebuilds the model with the structure it had when it was exported.

Imports need triangles (Assimp triangulates where needed), a usable bounding box, and under 32,768 vertices per converted mesh. Models are keyed by name when a level is read back, so a name that already exists is adjusted and you're told what it became — anything already placed still points at the original.

Export & Delete

  • Export — writes the selected model out, with normals and skin weights carried across in the formats that support them. Related textures (diffuse, normal, and so on) can be written beside the file under a textures folder (sourced via the model's materials — see the Texture Editor).
  • Delete — removes the model from the level after confirmation.

Exporting a skinned model asks which skeleton to bind it to first, before the file dialog — a skinned model is only half a model without the rig its weights point at. The chosen skeleton is written into the file with the mesh bound to it.

Every export also writes a .cs2meta.json sidecar next to the model, holding everything the mesh formats can't carry: the component / LOD / submesh structure, render flags, vertex formats, and skinning data. Keep it beside the model and leave the object names intact, and the model can be imported straight back in as it was.

Editing

Render Flags

On the main window, Model Render Flags toggles flags for the previewed model (for example LOD / shadow / dynamic geom style options). Changes apply in memory immediately.

Geometry Editor

Select a model and click Edit to open a second window for that CS2's hierarchy: components → LODs → submeshes.

  • Replace Selected — replace a submesh with the first mesh from an FBX/GLTF/OBJ file
  • Edit Material — assign a material via the Material Editor
  • Add New Component / Add New LOD / Add New Submesh — grow the hierarchy from an imported mesh (first mesh in the file)
  • Delete Selected — remove a component, LOD, or submesh
  • Scale and other info fields for the selected submesh appear in the info panel

For multi-mesh sources, prefer Import New with the mesh checkboxes; the per-submesh add/replace path only uses the first mesh in the file.

Saving

The Model Editor has no separate Save button. Persist changes with File → Save Level (Ctrl+S), which writes the level's model PAK/BIN (and related assets) back to disk.

Saving closes the game if it's running so install files aren't locked.

Related Tools

  • Material Editor — materials assigned to submeshes and used during textured preview / import
  • Texture Editor — textures sampled by those materials
  • Animation Editor — the clips that play on these models, and the rigs they use
  • Save and Build — giving newly imported geometry lighting, collision and navmesh
  • Material Mapping Editor — From→To remaps that can swap materials on model instances
  • Viewport — in-level 3D view of ModelReferences (separate from this editor window)
  • Renderable Instance Change Model — picks a CS2 from this editor for script/renderable placement