Platform / Language / Feature support {#flatbuffers_support}

FlatBuffers is actively being worked on, which means that certain platform / language / feature combinations may not be available yet.

This page tries to track those issues, to make informed decisions easier. In general:

  • Languages: language support beyond the ones created by the original FlatBuffer authors typically depends on community contributions.
  • Features: C++ was the first language supported, since our original target was high performance game development. It thus has the richest feature set, and is likely most robust. Other languages are catching up however.
  • Platforms: All language implementations are typically portable to most platforms, unless where noted otherwise.

NOTE: this table is a start, it needs to be extended.

FeatureC++JavaC#GoPythonJSTSCPHPDartLobsterRustSwift
Codegen for all basic featuresYesYesYesYesYesYesYesYesWiPYesYesYesYes
JSON parsingYesNoNoNoNoNoNoYesNoNoYesNoNo
Simple mutationYesYesYesYesNoNoNoNoNoNoNoNoYes
ReflectionYesNoNoNoNoNoNoBasicNoNoNoNoNo
Buffer verifierYesNoNoNoNoNoNoYesNoNoNoNoNo
Native Object APIYesNoYesYesYesYesYesNoNoYesNoNoNo
Optional ScalarsYesYesYesNoNoYesYesYesNoNoYesYesYes
FlexbuffersYesYes?????????Yes?
Testing: basicYesYesYesYesYesYesYesYes?YesYesYesYes
Testing: fuzzYesNoNoYesYesNoNoNo?NoNoYesNo
Performance:SuperbGreatGreatGreatOk??Superb??GreatSuperbGreat
Platform: WindowsVS2010YesYes???YesVS2010?YesYesYesNo
Platform: LinuxGCC282Yes?YesYes?YesYes?YesYesYesYes
Platform: OS XXcode4???Yes?YesYes?YesYesYesYes
Platform: AndroidNDK10dYes???????FlutterYes?No
Platform: iOS?????????FlutterYes?Yes
Engine: Unity??Yes???????No?No
Primary authors (github)aardaardev/js/dfrwrwew/evkrmikchdfaardrw/cnmi/mz
AboveGithub username
aardaardappel (previously: gwvo)
chchobie
cncaspern
dfdnfield
evevolutional
ewevanw
jsjonsimantov
krkrojew
mimustiikhalil
mikmikkelfj
mzmzaks
rwrw