Skip to content

ForzaTech

ForzaTechApplies toFH6

ForzaTech is the engine of the Forza Motorsport and Forza Horizon games. Forza Horizon 6 (2026, Playground Games) is the only game of it this wiki records, and its Tokyo track Brio the only world. Observed

Nearly everything in the world is data in a few shared containers. The track’s geometry and textures are four streaming PGZP archives that name nothing themselves; the typed container inside is the Grub bundle. Models are .modelbin files with FH6’s own mesh record, split into LOD files. The world is placed by rule in .pgeo files through template libraries, and by hand in one .pvs file. Gameplay places are in a small GameObjs.xml and ambient effects in .particlebin files. Observed

Materials are a chain of parameter lists ending at a shader family, and the compiled DXIL of the family decides the look, which is why most of the knowledge on the shader pages was read from the shaders themselves. Observed

Some numbers on these pages come from a recorded census of the Tokyo track in a build that is no longer installed, so they cannot be re-checked today; they are real measurements over every file of the stated kind, marked Observed with their scope. Pages whose readers have since been run over every file of the installed build mark what held on all of them Proven, and say so in the sentence. Third-party tool knowledge (the FH5 readers) is Sourced; reasoning from the compiled shaders where no readable value exists is Inferred. Observed

Area State Confidence
Archive container and file typing complete for the GeoChunks Observed
Models, placements, hand-placed instances, template libraries every file of GeoChunk0 read to its end; later .plib and .pvs sections not decoded Observed
Materials and the major shader families parameters and formulas read from the compiled shaders; run-time constants unknown Observed
Terrain colour (far and near field), water, decals formulas known; the per-ring megatexture switches are in the encrypted settings, the ring sizes and blend states in no file Observed
Cars, liveries, saves formats decoded; make, year, wheel size and default colours are in the encrypted database Observed
Encrypted files (database, settings, profile) white-box AES; no key is published in the open. With the keys, every encrypted zip entry decrypts and inflates, and the database decrypts to SQLite Observed

The zip archives are on Zip archives. The encrypted files and the values only the running game holds are on Encrypted files and Values only the running game holds. The hashed shader and material names in a track’s bin.zip are mapped to their sources by its asset manifest. Games: Forza Horizon 6.

The render settings in the encrypted Rendering.zip are DatabaseFile XML. Proven

What is in the other encrypted settings archives?

Rules.zip, Camera.zip, RenderScenarios.zip, stateflow.zip and the engine-sound archives store their entries with zip method 22 (TFIT) too; their XML has other root elements (DynamicRenderSettings, WeatherSettings, PropCollection, …), not described yet.

Pages

Archives and files

  • Encrypted files and keys — Which Forza Horizon 6 files are encrypted with Arxan TransformIT, the envelope they share, and what is known about the key.
  • PGZP minizip archives — The GeoChunk streaming archives of a Forza Horizon 6 track, their header, entry table, compression methods, and the companion files that name and type the entries.
  • Zip archives — The PKWARE zip archives Forza Horizon 6 keeps its settings, cars, shaders, audio and libraries in, the three compression methods they use, and the encrypted method 22.

Data model

  • Asset manifests (AssetManifest.xml) — The XML manifests that map Forza Horizon 6's hashed shader and material names back to their sources and list the Tokyo track's textures, models and instances, their four copies, attributes and the rules that tie them to bin.zip, the swatch path hash and the hand-placed instance file.
  • Grub bundles — The container that holds Forza Horizon 6 models, materials, textures and shader data, and its blob and metadata records.
  • Settings files (DatabaseFile) — The DatabaseFile XML that holds Forza Horizon 6's render and data-manager settings, its Data and Settings blocks, properties, lists and maps, and the tags that select per-platform and per-scenario values.
  • String tables (.str) — The localised string tables of Forza Horizon 6, their layout, the key hash, and how car names link to car archives.

World and streaming

  • Coordinates, cells and the map — The Forza Horizon 6 world frame, the cell grids of terrain and placements, how object reach crosses cell edges, the track locators and the pause-menu map.
  • Game objects (GameObjs.xml) — The named places Forza Horizon 6 gameplay refers to by id, kept in a small XML file per track and per open world, and what the file holds.
  • Hand-placed instances (.pvs) — The ribbon file that places everything not placed by a .pgeo rule in Forza Horizon 6, its sections, transform and instance records, gameplay records and model bounds.
  • Particle instances (.particlebin) — The particle effects Forza Horizon 6 places in a track and along its routes, the Grub bundle that holds them and the 129-byte instance records.
  • Placement files (.pgeo) — The per-cell placement files of Forza Horizon 6, their file grammar, the 80-byte instance record, curve records, gameplay gating and season masks.
  • Seasons — How Forza Horizon 6 selects spring, summer, autumn or winter content for placements, materials, textures, terrain and water, and which parts of the selection are certain.
  • Template libraries (.plib) — The instance template libraries that map a placement block name to a model, its draw behaviour and its LOD distance bands.

Geometry

  • LODs and clusters — How Forza Horizon 6 splits a template into model files, how a file's level of detail is stored, and where the switch distances are kept.
  • Models (.modelbin) — The Forza Horizon 6 model container, its mesh record, vertex layouts, quantisation, draw buckets and how a mesh decodes to triangles.

Materials

  • Materials (.materialbin and MatI) — How Forza Horizon 6 stores material parameters, how a parameter value is resolved up the parent chain, how texture paths are hashed, and the parameter hashes used most.

Shaders

  • Car materials and shaders — The Forza Horizon 6 car shader families (standard, paint, glass, coat, tyres and the rest), their parameters, what each writes, and the run-time layers that are the identity on a clean car.
  • Environment shaders — What the Forza Horizon 6 environment family computes for city buildings and props, the swatch tint, signage, the triplanar modulate, deposits and ambient occlusion, as read from its compiled shaders.
  • Other world shader families — Albedo, opacity, roughness, metalness, normal and emissive outputs of the Forza Horizon 6 world families other than environment, rock and water, as read from their compiled shaders.
  • Rock and animated-prop shaders — The uber_rock and uber_rock_array families of Forza Horizon 6 (retaining walls, boulders, rock faces) and the animated-prop families, as read from their compiled shaders.
  • Shader containers (.shaderbin) — How Forza Horizon 6 packs shader families, their parameter names, variant tables, register maps and compiled DXIL permutations, and how a material picks its permutation.
  • Spline deform — How Forza Horizon 6 bends guard rails, walls, railings and railway track along a curve in the instanced vertex shader, and what the engine does not store.

Textures

  • Swatch textures (.pb and .swatchbin) — The Forza Horizon 6 texture container, its header, pixel formats, quality tiers, sampling rules, the normal map convention and the placeholder textures the data contains.

Lighting and sky

  • Time-of-day presets and light units — Forza Horizon 6's sky presets (media/TimeOfDay/*.ppr): the file format (names, groups, leaves, curves), the physical light units, the sun's illuminance and the emissive scales, and where the lighting passes consume them.

Terrain

  • Far-field ground colour — The per-cell baked ground colour of Forza Horizon 6, split over a mainmap and a submap swatch, and the formula the terr_mega shader applies.
  • Near-field ground (megatexture) — How Forza Horizon 6 writes the ground colour near the camera with compute shaders from per-cell splat maps and per-layer textures, the file formats involved, the shader maths, and what only the running game holds.
  • Terrain clusters — How Forza Horizon 6 stores its ground, roads and water as 512 m heightfield cluster models, which clusters the game draws, and the material families on them.

Water

  • Water — How Forza Horizon 6 colours rivers, lakes, rice paddies and the sea (uber_water, ocean, ocean_shoreline, ocean_vista), the colour model, the season presets and what is not traced.

Effects and decals

  • Decals and road markings — How Forza Horizon 6 draws road paint and facade decals as lifted alpha-tested meshes, the projected box decals, and the depth and blend state the files do not hold.

Gameplay data

  • Cars and the .carbin scene — Where Forza Horizon 6 keeps its 682 cars, the car archive layout, the version-7 carbin scene with its part groups and instances, and how a configuration of parts is assembled.
  • Factory paints (ManufacturerColors) — The per-car factory colour list of Forza Horizon 6 and how a material's customisation slot hash links to a paint layer.
  • Liveries and vinyl designs — The Forza Horizon 6 livery container, the group and layer grammar, vinyl and decal shapes, and how the layers are composited into the paint canvas.
  • Saves, tunes and the thumbnail cache — Where Forza Horizon 6 keeps the player's saved designs, tunes and profile, which containers are plain and which protected, and the layout of a saved tune.
  • Wheels and tyres — How Forza Horizon 6 sizes its normalised wheel and tyre models with morph targets, which slots do what, and the stock tyre and rim sizes the game database holds.

Runtime and limits

  • Data volume of the Tokyo track — How much geometry, how many textures and placements the Forza Horizon 6 Tokyo track holds, per area, per LOD and per season.
  • Values only the running game holds — Per-frame constants, encrypted settings and protected CPU code in Forza Horizon 6 that no readable file stores, with where each is consumed.