ValveResourceFormat 18.0.5805
Prefix Reserveddotnet add package ValveResourceFormat --version 18.0.5805
NuGet\Install-Package ValveResourceFormat -Version 18.0.5805
<PackageReference Include="ValveResourceFormat" Version="18.0.5805" />
<PackageVersion Include="ValveResourceFormat" Version="18.0.5805" />
<PackageReference Include="ValveResourceFormat" />
paket add ValveResourceFormat --version 18.0.5805
#r "nuget: ValveResourceFormat, 18.0.5805"
#:package ValveResourceFormat@18.0.5805
#addin nuget:?package=ValveResourceFormat&version=18.0.5805
#tool nuget:?package=ValveResourceFormat&version=18.0.5805
VRF / Valve Resource Format
🔗 View VRF website
Valve's Source 2 resource file format parser, decompiler, and exporter.
Source 2 files usually files end with _c, for example .vmdl_c.
⚠️ Breaking Changes Notice
The primary user of this library is the Source 2 Viewer. As such, updates may contain breaking changes and backwards incompatible API changes, as the viewer does not require backwards compatibility with older library versions. Additionally, Source 2 games themselves may update and change file formats at any time, which may necessitate breaking changes in this library. If you need to support newer file formats, you will need to update the library. That said, we do aim to support older file formats going back to the very first Source 2 project.
Basic usage
var file = "textures/debug.vtex_c";
using var resource = new Resource();
resource.Read(file);
// You can access blocks and data on `resource` object
Extract a texture as png bytes:
using var bitmap = ((Texture)resource.DataBlock).GenerateBitmap();
var bytes = TextureExtract.ToPngImage(bitmap);
Or use file extract helper which works for various resource types:
using var contentFile = FileExtract.Extract(resource, null);
var outFilePath = "dump";
DumpContentFile(outFilePath, contentFile);
void DumpContentFile(string path, ContentFile contentFile)
{
DumpFile(path, contentFile.Data);
foreach (var contentSubFile in contentFile.SubFiles)
{
DumpFile(Path.Combine(Path.GetDirectoryName(path), contentSubFile.FileName), contentSubFile.Extract.Invoke());
}
}
void DumpFile(string path, ReadOnlySpan<byte> data)
{
Directory.CreateDirectory(Path.GetDirectoryName(path));
File.WriteAllBytes(path, data.ToArray());
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- K4os.Compression.LZ4 (>= 1.3.8)
- KeyValues2 (>= 0.8.0)
- SharpGLTF.Toolkit (>= 1.0.5)
- SkiaSharp (>= 3.119.1)
- SkiaSharp.NativeAssets.Linux.NoDependencies (>= 3.119.1)
- System.IO.Hashing (>= 10.0.1)
- TinyBCSharp (>= 0.1.2)
- TinyEXR.NET (>= 0.3.11)
- ValveKeyValue (>= 0.20.0.417)
- ValvePak (>= 4.0.0.142)
- Vortice.SpirvCross (>= 1.5.3)
- ZstdSharp.Port (>= 0.8.6)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ValveResourceFormat:
| Package | Downloads |
|---|---|
|
CS2CalloutExtractor
A library for extracting callouts from Counter-Strike 2 `.vpk` files. |
|
|
ValveResourceFormat.Renderer
Library to render Source 2 resources based. This library powers the |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on ValveResourceFormat:
| Repository | Stars |
|---|---|
|
MontagueM/Charm
Destiny 2 reverse engineering tool for extracting cool things from game files.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 18.0.5805 | 0 | 2/5/2026 |
| 17.0.5499 | 161 | 1/2/2026 |
| 16.0.5103 | 628 | 11/20/2025 |
| 15.0.4937 | 285 | 9/26/2025 |
| 14.1.4764 | 421 | 8/1/2025 |
| 14.1.4763 | 122 | 8/1/2025 |
| 14.0.4733 | 551 | 7/24/2025 |
| 13.0.4499 | 956 | 6/3/2025 |
| 12.0.4261 | 442 | 4/18/2025 |
| 11.1.4050 | 918 | 12/19/2024 |
| 11.0.3961 | 255 | 12/3/2024 |
| 10.2.3850 | 582 | 9/3/2024 |
| 10.1.3729 | 4,362 | 7/13/2024 |
| 10.0.3595 | 239 | 5/27/2024 |
| 9.2.3481 | 243 | 4/26/2024 |
| 9.1.3441 | 233 | 4/16/2024 |
| 9.0.3293 | 248 | 3/14/2024 |
| 8.1.3021 | 260 | 2/6/2024 |
| 8.0.2968 | 185 | 1/31/2024 |
| 7.0.2479 | 809 | 11/17/2023 |
| 6.0.2421 | 415 | 10/12/2023 |
| 5.0.2120 | 380 | 8/8/2023 |
| 0.4.0.1839 | 513 | 6/25/2023 |
| 0.3.2.1621 | 481 | 4/4/2023 |
| 0.3.1.1553 | 358 | 3/23/2023 |
| 0.3.0.1412 | 461 | 12/29/2022 |
| 0.2.2.1057 | 598 | 9/5/2022 |
| 0.2.1.963 | 354 | 4/7/2022 |
| 0.2.0.864 | 516 | 12/29/2021 |
| 0.1.10.766 | 651 | 8/3/2021 |
| 0.1.9.731 | 579 | 6/28/2021 |
| 0.1.6.515 | 749 | 9/16/2020 |
| 0.1.5.1316 | 721 | 8/15/2020 |
| 0.1.4.1244 | 755 | 7/12/2020 |
| 0.1.3.1226 | 698 | 6/23/2020 |
| 0.1.3.1215 | 720 | 5/16/2020 |
| 0.1.2.1122 | 493 | 3/30/2020 |
| 0.1.1.1058 | 747 | 3/9/2020 |
| 0.1.0.1006 | 722 | 3/2/2020 |
| 0.0.16.828 | 841 | 9/19/2019 |
| 0.0.15.777 | 804 | 6/22/2019 |
| 0.0.13.685 | 841 | 5/31/2019 |
| 0.0.11.553-AppVeyor | 1,282 | 1/20/2018 |
| 0.0.10.450 | 1,486 | 6/11/2017 |
| 0.0.9.401 | 1,701 | 7/4/2016 |
| 0.0.6.317 | 1,679 | 4/6/2016 |
| 0.0.0.34849 | 1,682 | 2/9/2016 |
View release notes at https://github.com/ValveResourceFormat/ValveResourceFormat/releases