Skip to content
This repository was archived by the owner on Oct 15, 2026. It is now read-only.

About

C# parser for VALORANT replay files (.vrf)

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

ValorantReplayParser

Build Test Quality Gate Status

C# parser for VALORANT replay files (.vrf).

Usage

Note: This project is early in development and API behaviour is likely to change in the future.

class TestReplayEventSink : IReplayEventSink
{
    public void Emit(ReplayEvent replayEvent)
    {
        switch (replayEvent)
        {
            case ActorSpawned spawned:
                Console.WriteLine("Actor spawned");
                break;

            case ActorClosed closed:
                Console.WriteLine("Actor destroyed");
                break;

            case ExportGroupReceived exportGroup:
                Console.WriteLine("Export group received");
                break;

            case RpcReceived rpc:
                Console.WriteLine("RPC received");
                break;

            case RemoteCharacterMovementReceived movement:
                Console.WriteLine("Player movement received");
                break;
        }
    }
}

using var file = File.OpenRead("path/to/replay.vrf");
using var archive = new FBinaryArchive(file);

ValorantReplayReader reader = ValorantReplayReader.CreateDefault(
        loggerFactory,
        new TestReplayEventSink(),
        ParseProfile.Default); // Default behaviour: Parse everything

reader.Read(archive);

Progress

Area Status
Player Movement ✔
Agents ✔
Abilities 🚧
Gunplay ✔
Game State ❌
World State ❌
Stable public API ❌

Projects

  • Replay.Models: shared models, parse results, constants, context contracts, and parser errors.
  • Replay.Encoding: byte/bit archives, FBinaryArchive, payload transforms and oodle decompression
  • Replay.Unreal: replay-info, chunk scanning, replay header parsing, and the parsing pipeline used for VALORANT replays.
  • Replay.Valorant: VALORANT models (export groups, RPCs, and ClassNetCaches).
  • CliReader: minimal CLI/demo reader.
  • *.Tests: NUnit test projects.

Requirements

  • .NET 10 SDK

Build And Test

dotnet build "ValorantReplayParser.sln"
dotnet test "ValorantReplayParser.sln"

CLI

Log decoded replay activity and a parse summary:

dotnet run --project "src\CliReader\CliReader.csproj" -- log "C:\path\to\replay.vrf"

Export replay events and movement as JSON:

dotnet run --project "src\CliReader\CliReader.csproj" -- export "C:\path\to\replay.vrf" --output "C:\path\to\export"

Show the full command or subcommand help:

dotnet run --project "src\CliReader\CliReader.csproj" -- --help
dotnet run --project "src\CliReader\CliReader.csproj" -- export --help

Special Thanks

  • To the folks from FortniteReplayDecompressor for their amazing work and documentation of the replay system
  • GPT 5.5 for reverse engineering VALORANT payload transformation & movement encoding

Disclaimer

This project is an independent, community-developed tool and is not affiliated with, endorsed by, sponsored by, or approved by Riot Games. VALORANT, Riot Games, and all related trademarks are the property of Riot Games, Inc.

About

C# parser for VALORANT replay files (.vrf)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages