FlatSharp.Runtime
7.8.0
dotnet add package FlatSharp.Runtime --version 7.8.0
NuGet\Install-Package FlatSharp.Runtime -Version 7.8.0
<PackageReference Include="FlatSharp.Runtime" Version="7.8.0" />
paket add FlatSharp.Runtime --version 7.8.0
#r "nuget: FlatSharp.Runtime, 7.8.0"
// Install FlatSharp.Runtime as a Cake Addin #addin nuget:?package=FlatSharp.Runtime&version=7.8.0 // Install FlatSharp.Runtime as a Cake Tool #tool nuget:?package=FlatSharp.Runtime&version=7.8.0
Welcome to FlatSharp!
Thanks for using FlatSharp! FlatSharp is a C# FlatBuffers implementation designed to be secure, fast, and easy to use.
Quick Resources
Issues, Contributions, and Feedback
FlatSharp is open source. Find it on GitHub! Issues, contributions, and other feedback are always welcome. Don't be a stranger! If you have feedback to share, please consider filling out the form here!
Sponsorship
FlatSharp is free and always will be. However, the project does take a significant amount of time to maintain. If you or your organization find the project useful, please consider a Github sponsorship. Any amount is appreciated!
Quick Start
1. Reference FlatSharp
Reference both FlatSharp.Runtime
and FlatSharp.Compiler
. Use the same version for them both.
2. Define a Schema
// all FlatSharp FBS attributes start with the 'fs_' prefix.
attribute "fs_serializer";
namespace MyNamespace;
enum Color : ubyte { Red = 1, Green, Blue }
table Person (fs_serializer) {
Id:int;
Name:string;
Parent:Person (deprecated);
Children:[Person];
FavoriteColor:Color = Blue;
Position:Location;
}
struct Location {
Latitude:float;
Longitude:float;
}
3. Update Your csproj
<ItemGroup>
<FlatSharpSchema Include="YourSchema.fbs" />
</ItemGroup>
4. Serialize Your Data
Person person = new Person(...);
int maxBytesNeeded = Person.Serializer.GetMaxSize(person);
byte[] buffer = new byte[maxBytesNeeded];
int bytesWritten = Person.Serializer.Serialize(buffer, person);
5. Parse Your Data
Person p = Person.Serializer.Parse(data);
License
FlatSharp is licensed under Apache 2.0. Have fun 😃
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Memory (>= 4.5.5)
-
.NETStandard 2.1
- System.Memory (>= 4.5.5)
-
net6.0
- System.Memory (>= 4.5.5)
-
net7.0
- System.Memory (>= 4.5.5)
-
net8.0
- System.Memory (>= 4.5.5)
-
net9.0
- System.Memory (>= 4.5.5)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on FlatSharp.Runtime:
Package | Downloads |
---|---|
FlatSharp
FlatSharp is an idiomatic C# implementation of the FlatBuffer serialization format. Use attributes to declare your data contracts! |
|
FlatSharp.Unsafe
Performance-optimized unsafe extensions to the FlatSharp package. |
|
LeagueToolkit
Library for Parsing and Editing file formats from League of Legends |
|
OpenShock.Serialization.Flatbuffers
Contains flatbuffers source files with flatbuffers compiler setup to generate useable flatbuffer bindings |
GitHub repositories (7)
Showing the top 5 popular GitHub repositories that depend on FlatSharp.Runtime:
Repository | Stars |
---|---|
Nexus-Mods/NexusMods.App
Home of the development of the Nexus Mods App
|
|
jamescourtney/FlatSharp
Fast, idiomatic C# implementation of Flatbuffers
|
|
kwsch/pkNX
Pokémon (Nintendo Switch) ROM Editor & Randomizer
|
|
Manu098vm/Tera-Finder
This is a PKHeX.Core based program that allows to view, edit and calculate Raids and Mass Outbreaks for Pokémon Scarlet & Violet.
|
|
LegoFigure11/RaidCrawler
Raid Viewer for Pokémon Scarlet and Violet
|
Version | Downloads | Last updated | |
---|---|---|---|
7.8.0 | 189 | 11/14/2024 | |
7.7.0 | 21,659 | 5/31/2024 | |
7.6.0 | 152,542 | 3/14/2024 | |
7.5.1 | 924 | 2/25/2024 | |
7.5.0 | 280 | 2/23/2024 | |
7.4.0 | 44,452 | 12/2/2023 | |
7.3.0 | 9,678 | 9/12/2023 | |
7.2.3 | 15,813 | 8/11/2023 | |
7.2.1 | 845 | 8/4/2023 | |
7.2.0 | 255 | 8/3/2023 | |
7.1.1 | 9,665 | 3/17/2023 | |
7.1.0 | 4,586 | 1/31/2023 | |
7.0.2 | 18,204 | 11/25/2022 | |
7.0.1 | 1,373 | 11/18/2022 | |
7.0.0 | 475 | 11/17/2022 | |
6.3.5 | 8,421 | 11/4/2022 | |
6.3.3 | 4,994 | 10/1/2022 | |
6.3.2 | 1,538 | 9/21/2022 | |
6.3.1 | 31,280 | 4/26/2022 | |
6.3.0 | 796 | 4/24/2022 | |
6.2.1 | 1,971 | 3/15/2022 | |
6.2.0 | 2,369 | 2/17/2022 | |
6.1.1 | 782 | 2/7/2022 | |
6.1.0 | 789 | 2/4/2022 | |
6.0.5 | 2,251 | 1/6/2022 | |
6.0.4 | 11,461 | 12/16/2021 | |
6.0.3 | 506 | 12/14/2021 | |
6.0.2 | 1,286 | 12/8/2021 | |
6.0.1 | 812 | 12/5/2021 | |
6.0.0 | 17,279 | 9/18/2021 | |
6.0.0-beta3 | 295 | 9/16/2021 | |
6.0.0-beta2 | 287 | 9/13/2021 | |
6.0.0-beta1 | 318 | 9/13/2021 | |
5.7.1 | 3,910 | 8/26/2021 | |
5.7.0 | 8,096 | 8/24/2021 | |
5.6.0 | 801 | 7/27/2021 | |
5.5.0 | 822 | 7/1/2021 | |
5.4.1 | 695 | 6/22/2021 | |
5.4.0 | 886 | 6/9/2021 | |
5.3.1 | 806 | 5/30/2021 | |
5.3.0 | 716 | 5/23/2021 | |
5.2.1 | 1,441 | 5/7/2021 | |
5.2.0 | 1,590 | 4/12/2021 | |
5.1.0 | 1,651 | 3/18/2021 | |
5.0.1 | 785 | 3/14/2021 | |
5.0.0 | 1,932 | 3/10/2021 | |
4.2.4 | 21,311 | 2/22/2021 | |
4.2.3 | 1,649 | 2/16/2021 | |
4.2.2 | 751 | 2/14/2021 | |
4.2.1 | 703 | 2/14/2021 | |
4.2.0 | 661 | 2/14/2021 | |
4.1.0 | 2,753 | 10/17/2020 | |
4.0.2 | 1,050 | 10/11/2020 | |
4.0.1 | 836 | 10/8/2020 | |
4.0.0 | 866 | 10/7/2020 | |
3.3.1 | 8,759 | 9/7/2020 | |
3.3.0 | 913 | 8/20/2020 | |
3.2.0 | 1,158 | 7/30/2020 | |
3.1.1 | 859 | 7/28/2020 | |
3.1.0 | 933 | 7/27/2020 | |
3.0.0 | 2,041 | 3/30/2020 | |
2.1.0 | 4,065 | 2/9/2020 | |
2.0.0 | 862 | 2/2/2020 | |
1.2.0 | 952 | 1/30/2020 |
Release notes at https://github.com/jamescourtney/FlatSharp/releases