Cryengine-Converter

A c# program to convert Crytek files to Collada (XML) format

C# 279 71
Latest Release: v2.0.0 - USD Export and Animation Support

## Cryengine Converter v2.0.0 — USD Export & Animation Support The biggest release yet. v2.0 reworks the conversion pipeline around **USD as the default output format** and adds full **skeletal animation** support across formats, plus broader game coverage including Star Citizen's `#ivo` binary format. ### Highlights - **USD is the new default output** (`.usda`) — imports natively into Blender with materials, skeletons, and animations intact. Also great for Houdini and other USD-aware tools. - **Animation support** — `.caf`, `.dba`, and `.cal` animation files. Multi-clip assets export as separate files for Blender's NLA editor. - **glTF / GLB** are first-class outputs alongside Collada — multi-material models, skinning, and animation. - **Star Citizen `#ivo` format** — support for current SC builds (4.5+). - **Wider game coverage** — Kingdom Come: Deliverance 1 & 2, ArcheAge (controller 0x827/0x828, CAL animation lists), Hunt: Showdown, Pandemic Express, and more. - **Texture pipeline** — combine split Star Citizen DDS textures (`-unsplittextures` / `-ut`); optional PNG/TIFF/TGA conversion for glTF. - **Multiple UV layers, vertex colors, and full skeletal rigs** all export correctly. ### Downloads - **`cgf-converter-setup-2.0.0.exe`** (recommended) — Windows installer. Per-user, no admin required, adds the tool to your `PATH`. - **`cgf-converter.exe`** — single self-contained Windows x64 executable; no .NET install required. - `cgf-converter.pdb` / `CgfConverter.pdb` — debug symbols (only needed for diagnosing crash reports). The installer and executable are **code-signed** (certificate by the [SignPath Foundation](https://signpath.org)). On a fresh release you may still see a Microsoft Defender SmartScreen prompt until the download builds reputation — click **More info → Run anyway** and confirm the publisher reads **SignPath Foundation**. See the [README](https://github.com/Markemp/Cryengine-Converter#installation) for full install and usage instructions. ### Getting started ``` cgf-converter <asset-file> -objectdir <path-to-extracted-game-data> ``` The single most important argument is `-objectdir` — point it at the root of your extracted game data so materials and textures resolve correctly. ### Reporting issues Found a bug? Please [open an issue](https://github.com/Markemp/Cryengine-Converter/issues) — including the exact command and a sample asset helps enormously.

View Release
Heffay Presents

Cryengine Converter

Cryengine Converter is a C# command-line tool that converts Cryengine game assets — .cgf, .cga, .chr, .skin, animation files — into portable 3D formats. It supports the major Cryengine variants, including traditional Cryengine games (MechWarrior Online, Crysis, Hunt: Showdown, Kingdom Come Deliverance, ArcheAge) and Star Citizen's proprietary #ivo binary format.

What's new in v2

  • USD is the new default output format — Universal Scene Description (.usda / .usdc). Blender imports it natively with materials, skeletons, and animations intact.
  • glTF and GLB are first-class outputs alongside Collada.
  • Star Citizen #ivo format support — This app only supports the latest versions (currently 4.5+) as the game files change frequently while it's in ‘alpha’.
  • Animations — full support for .caf, .dba, and .cal animation files. Multi-clip assets export as separate files for Blender's NLA editor.
  • Texture pipeline — DDS combine for split SC textures (-unsplittextures, or -ut for short), optional conversion to PNG/TIFF/TGA for glTF.
  • Multiple UV layers, vertex colors, full skeletal rigs all export correctly.

Installation

Two options on the Releases page. Pick whichever fits.

Download cgf-converter-setup-<version>.exe and run it. The wizard installs to %LocalAppData%\Programs\Cryengine Converter (per-user, no UAC) by default and adds the install directory to your PATH. Uninstall via Settings → Apps cleans up everything including the PATH entry.

Option B — Loose executable

Download cgf-converter.exe directly and drop it into a folder that's already on your PATH (e.g. D:\scripts\). It's a single self-contained Windows executable (~120 MB) — no .NET install required.

“Windows protected your PC” — SmartScreen warning

The installer is code-signed (certificate by the SignPath Foundation), but Microsoft Defender SmartScreen still shows an “unrecognized app” warning until enough people have installed a given release for it to build reputation. This is expected for a new open-source release and does not mean the download is unsafe — you can confirm the signature yourself in the next step.

To proceed, click More info:

SmartScreen warning — click More info

Then verify the publisher reads SignPath Foundation and click Run anyway:

SmartScreen — verify publisher, then click Run anyway

If you'd rather not see this at all, use Option B — the loose .exe still triggers SmartScreen on first run but you can also right-click it → Properties → Unblock before launching.

After install

Open a new terminal window — existing ones won't see the PATH change. We recommend Windows Terminal with a PowerShell tab for the best command-line experience. Verify with:

cgf-converter -usage

Silent install (CI / Docker / pipelines)

The installer is built with Inno Setup and supports the standard Inno silent-install switches:

# Silent, per-user, adds to PATH (recommended for CI runners)
cgf-converter-setup-2.0.0.exe /VERYSILENT /CURRENTUSER

# Silent, all users (requires elevation)
cgf-converter-setup-2.0.0.exe /VERYSILENT /ALLUSERS

# Silent, no PATH edit (when CI manages its own PATH)
cgf-converter-setup-2.0.0.exe /VERYSILENT /CURRENTUSER /TASKS=""

# Silent uninstall
& "$env:LOCALAPPDATA\Programs\Cryengine Converter\unins000.exe" /VERYSILENT

Useful additional switches:

Switch Effect
/SILENT Progress bar only, no wizard dialogs
/VERYSILENT No UI at all
/SUPPRESSMSGBOXES Auto-accept any popup prompts (combine with /SILENT)
/DIR="path" Override install directory
/LOG="path" Write install log to file (useful for pipeline debugging)
/? Show all available switches

Inno Setup broadcasts the PATH change immediately, but the current process still has the old environment. In CI, this rarely matters because each step typically starts a fresh shell. If a single step needs to install and then run cgf-converter immediately, append the install dir to $env:Path manually:

.\cgf-converter-setup-2.0.0.exe /VERYSILENT /CURRENTUSER
$env:Path += ";$env:LOCALAPPDATA\Programs\Cryengine Converter"
cgf-converter -usage

Quick start

You'll need a Cryengine game with the .pak files extracted (use 7-Zip — right-click → “7-Zip → Extract Here”). After extracting, you'll have a directory tree with Objects/, Textures/, Materials/ at the top — we'll call this the data directory.

PS> cgf-converter <asset-file> -objectdir <path-to-data-directory>

Concrete example, converting an Adder mech body part from MechWarrior Online:

PS D:\depot\mwo\Objects\mechs\adder\body> cgf-converter adder_torso.cga -objectdir D:\depot\mwo

This produces adder_torso.usda next to the source file, ready to import into Blender via File → Import → Universal Scene Description.

The single most important argument is -objectdir. Cryengine assets reference materials and textures using paths relative to the data directory. Without -objectdir, the converter can't find them and falls back to default materials. Pass it on every conversion.

Output formats

Format Flag When to use
USD -usd Default. Recommended for Blender. Materials, skeletons, animations.
glTF -gltf Game engines (Unity, Unreal, Godot), web viewers. Folder of files.
GLB -glb Same as glTF, single self-contained file with embedded textures.
Collada -dae Maya / 3DS Max workflows, anything that won't take USD.
Wavefront -obj Deprecated. No skinning, no animation, limited materials.

Recommendation: start with USD. Switch to something else only if you hit a specific problem.

Common workflows

Convert all assets in a directory

PS> cgf-converter *.cga -objectdir D:\depot\mwo

Recursive conversion across a subtree

PS> Get-ChildItem -Recurse -Include *.cga,*.cgf,*.chr,*.skin |
      ForEach-Object { cgf-converter $_.FullName -objectdir D:\depot\mwo }

Heads up: running this on the entire Objects folder of a real Cryengine game will produce tens of gigabytes of output and take an hour or more. Pick the subdirectory you actually need.

Convert a skeletal asset with animations

PS> cgf-converter boar.chr -anim -objectdir D:\depot\KCD2

The -anim flag pulls in .chrparams, .dba, .caf, and .cal animation files. Multi-clip assets emit one USD file per animation, which can be loaded as separate actions in Blender's NLA editor.

Split textures - combining split DDS textures

Many modern CryEngine games ship their DDS textures split across multiple files (*.dds.0, *.dds.1, ...). Pass -unsplittextures (or -ut) to combine them before materials are written:

PS> cgf-converter AEGS_Avenger.cga -ut -objectdir D:\depot\SC4.6\Data

Full CLI reference

cgf-converter [-usage] | <.cgf file> [options]

Required-ish:
  <input-file>          .cgf, .cga, .chr, .skin, .anim, .dba (wildcards supported)
  -objectdir <path>     Path to the extracted game's data directory (highly recommended)
  -mtl/-mat <file>      Override material file resolution

Output formats:
  -usd / -usda          USD (default)
  -dae                  Collada
  -gltf                 glTF (text + .bin)
  -glb                  glTF binary, single file with embedded textures
  -obj                  Wavefront (deprecated, not supported)

Texture options:
  -notex                Don't include textures in output
  -ut / -unsplittextures Combine split SC DDS files
  -png / -tif / -tga    Reference converted texture format (glTF text only)
  -embedtextures        Embed textures into glTF text output

Filtering:
  -en / -excludenode <regex>     Exclude matching nodes
  -em / -excludemat <regex>      Exclude meshes with matching materials
  -es / -excludeshader <regex>   Exclude meshes by shader name

Animation:
  -anim / -animations   Include .caf/.dba/.cal animation data

Other:
  -out / -outdir <path> Write output to this directory (default: next to the source file)
  -noconflict           Append _out to output filenames
  -pp / -preservepath   Preserve directory hierarchy in output
  -mt / -maxthreads <n> Limit thread count (0 = all cores)
  -loglevel <level>     verbose | debug | info | warn | error | critical | none

Run cgf-converter -usage for the always-current list.

Tutorial videos

A new v2 tutorial series is in production. The earlier 2017 series uses an older version of the tool (Collada-only, no animation) and shouldn't be used as a guide for v2 workflows — but the asset extraction and Blender setup parts are still relevant:

Reporting bugs and contributing

Code Signing Policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

Role Members
Approvers Owners
Committers Contributors

Privacy policy: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. See also the Heffay Presents Privacy Policy.

License

See the LICENSE file for license details.