enum Color:byte { red, green, blue } union Equipment { Weapon } // Optionally add more tables. struct Vec3 { x:float; y:float; } table Monster { pos:Vec3; color:Color = Blue; mana:short = 150; hp:short = 100; name:string; equipped:Equipment; weapons:[Weapon]; path:[Vec3]; } table Weapon { name:string; damage:short; } root_type Monster; // flatc --swift monster.fbs