Skip to content

Facepunch/Rust.Polyfill

Repository files navigation

Rust.Polyfill

A specialized repository containing auto-generated ProtoBuf classes and Unity Polyfills for the game Rust.

Overview

Rust.Polyfill provides a standalone environment for working with Rust's data structures and network protocols outside of a full Unity application.

Why this exists

Attempting to load certain components from Rust.Data.dll (the official game data assembly) often results in failures because they lean heavily on Unity native methods. These native methods are only available when running within an actual Unity Engine process.

This project solves that issue by:

  1. Providing Polyfills: Re-implementing essential UnityEngine types (such as Vector3, Quaternion, Color, etc.) and utility classes in pure C# so they can be used in any .NET environment.
  2. Auto-generated ProtoBufs: Including the protocol buffer classes used by Rust for serialization and network communication.

Contents

  • Rust.Data/generated/: Contains the protocol buffer classes generated from the game's .proto definitions.
  • Facepunch.System/: Core utility libraries and collection types used by the Facepunch engine.
  • UnityPolyfill.cs: A comprehensive collection of Unity-compatible structural types and math utilities designed to mirror UnityEngine behavior without the engine dependency.

Maintenance

This repository is intended to be updated with each protocol change of the Rust server. It should be regularly updated to ensure compatibility with the latest game version and its data formats.

License

This project is intended for use with game data from Rust. Please respect Facepunch Studios' terms of service and intellectual property rights when using these files.

About

An automatically updated package for Deserializing raw packets sent from the game Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages