KitForma field notes

Read VMT texture references without executing a material

Separate literal texture paths from inherited values, runtime behavior and missing-file assumptions.

Add the material alongside the texture

A VMT describes a material, while a VTF stores texture pixels and related metadata. Add an optional UTF-8 VMT file when you want to inspect literal texture references alongside a supported VTF. The material remains local and is read as bounded text. No shader is run, no referenced image is requested and no external path is opened.

For example, a $basetexture value of kitforma/panel is reported as materials/kitforma/panel.vtf. This is an expected relative path derived from a literal value. It is not proof that a file exists at that location, that the uploaded texture has the same full path or that the material can load successfully in a particular game.

Read paths in the context of the material

The table identifies common texture-bearing keys such as $basetexture, $bumpmap, $detail and $envmapmask. Ordinary quoted or unquoted KeyValues pairs and nested blocks are parsed within limits. Absolute paths, traversal components and unsuitable path characters are marked rather than followed. Reference values and shader names are displayed as text, not executable markup.

Patch materials can inherit values through include and change them through replacement blocks. Proxies can change material behavior at runtime. The desk flags these constructs without resolving inheritance or executing proxies, so the listed literals are not a complete evaluated material. Conditional syntax or a malformed KeyValues structure can also be refused instead of guessed.

Keep path changes separate from pixel edits

Downloading an edited VTF does not rewrite the uploaded VMT. If you rename the output or move it to another materials subdirectory, update the appropriate texture reference in your own material editor. Check every relevant texture key, because a material may use more than one texture for color, detail, masks or normal data.

Use the JSON report to retain the literal references and the limits of this inspection. Then test the material in the intended Source 1 environment with the actual folder structure. An alpha preview shows stored pixels, while shader parameters decide how those channels are used. This distinction is especially useful when a correctly decoded image still appears opaque, unexpectedly shiny or otherwise different in the game. The report is evidence for your review, not a declaration that the material is complete.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-17. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.