### Install FortniteReplayReader Package (Powershell) Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/README.md Installs the FortniteReplayReader NuGet package using the .NET CLI. This is the first step to integrate the library into your .NET project. Ensure you have .NET 8.0 or .NET 9.0 installed. ```powershell dotnet add package FortniteReplayReader ``` -------------------------------- ### Add FortniteReplayReader Nuget Package Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/introduction.md Installs the FortniteReplayReader Nuget package using the .NET CLI. This package is essential for parsing Fortnite replay files. ```powershell dotnet add package FortniteReplayReader ``` -------------------------------- ### Setup ClassNetCache with NetFieldExportClassNetCache Attribute Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/rpc.md Marks C# classes for network coordination using the `NetFieldExportClassNetCache` attribute. This attribute specifies a unique identifier for the ClassNetCache, typically related to Unreal Engine class names. ```csharp [NetFieldExportClassNetCache("PlayerPawn_Athena_C_ClassNetCache")] public class PlayerPawnCache ``` -------------------------------- ### Read Fortnite Replay with Full Parse Mode Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/introduction.md Shows how to initialize the ReplayReader with a specific ParseMode, such as 'Full', to control the level of detail parsed from the replay file. Other modes include 'EventsOnly', 'Minimal', and 'Normal'. ```csharp var replayFile = "your-amazing-fortnite.replay"; var reader = new ReplayReader(parseMode: ParseMode.Full); var replay = reader.ReadReplay(replayFile); ``` -------------------------------- ### Read Fortnite Replay File Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/introduction.md Demonstrates the basic usage of the ReplayReader class to read a Fortnite replay file. It initializes the reader and calls the ReadReplay method with a file path. ```csharp var replayFile = "your-amazing-fortnite.replay"; var reader = new ReplayReader(); var replay = reader.ReadReplay(replayFile); ``` -------------------------------- ### Read Fortnite Replay File (C#) Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/README.md Demonstrates how to use the ReplayReader class to parse a Fortnite replay file. This snippet shows the basic usage pattern: creating a reader instance and calling the ReadReplay method with the replay file path. The result is a replay object containing parsed data. ```csharp var replayFile = "your-amazing-fortnite.replay"; var reader = new ReplayReader(); var replay = reader.ReadReplay(replayFile); ``` -------------------------------- ### Implement OnExportRead for Receiving Exported Data Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/receiving-properties.md Explains how to implement the abstract `OnExportRead` method. This method is invoked after a `NetFieldExportGroup` is fully read during parsing, providing the channel ID and the populated export group. ```csharp public abstract void OnExportRead(uint channel, INetFieldExportGroup exportGroup); ``` -------------------------------- ### Map Properties with NetFieldExport Attribute Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/receiving-properties.md Shows how to map C# properties to Unreal Engine's network fields using the `NetFieldExport` attribute. This attribute requires a second argument, `RepLayoutCmdType`, specifying how to parse the property. ```csharp [NetFieldExport("Role", RepLayoutCmdType.Ignore)] public object Role { get; set; } ``` -------------------------------- ### Map Properties with NetFieldExportHandle Attribute Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/receiving-properties.md Illustrates mapping properties using their handles when names are not available in the replay data. The `NetFieldExportHandleAttribute` takes a handle ID and a `RepLayoutCmdType` to define the property's parsing method. ```csharp [NetFieldExportHandle(1, RepLayoutCmdType.PropertyFloat)] public float HealthCurrentValue { get; set; } ``` -------------------------------- ### Mark Classes with NetFieldExportGroup for Replay Parsing Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/receiving-properties.md Demonstrates how to mark C# classes with the `NetFieldExportGroup` attribute to map them to Unreal Engine's NetFieldExport groups. This is essential for receiving exported properties during replay parsing. ```csharp [NetFieldExportGroup("/Game/Athena/PlayerPawn_Athena.PlayerPawn_Athena_C")] public class PlayerPawn : INetFieldExportGroup ``` -------------------------------- ### Mark Properties/Functions with NetFieldExportRPC Attribute Source: https://github.com/shiqan/fortnitereplaydecompressor/blob/master/docs/rpc.md Marks properties or functions within a class for network synchronization. The `NetFieldExportRPC` attribute takes a name, a type path, and an optional boolean `isFunction` to distinguish between struct properties and functions. ```csharp [NetFieldExportRPC("ClientObservedStats", "/Script/FortniteGame.FortClientObservedStat")] public FortClientObservedStat ClientObservedStats { get; set; } ``` ```csharp [NetFieldExportRPC("NetMulticast_Athena_BatchedDamageCues", "/Script/FortniteGame.FortPawn:NetMulticast_Athena_BatchedDamageCues", isFunction: true)] public BatchedDamageCues FastSharedReplication { get; set; } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.