Skip to content

Net Mesh

michelMK45 edited this page Nov 1, 2026 · 1 revision

Net Mesh Packs

Since v1.7.1, a stadium can swap the hole pattern of its goal net (square, hexagonal, small or large holes) with a Net Mesh pack. It is independent of Goalpost Model & Texture Packs and of the Stadium Net Values (physics): any combination of the three works.

A net's pattern is not geometry, it is a texture: a color image whose alpha channel cuts the holes, plus a normal map. A pack only has to provide that image.

Video tutorial:

Net Mesh video (click to watch on YouTube)

Pack layout

FSW/NetMesh/
  <name>/
    net.png          the pattern: strands in color, holes transparent
    net_nm.png       (optional) normal map
    preview.png      (optional) image shown in the pickers
  • Pattern image: net.png (.bmp, .jpg and .jpeg also work). If the folder has no net.*, the only image that is neither the normal map nor preview.* is used. For .jpg/.bmp, which have no alpha, the holes can't be cut, so use .png.
  • Normal map: net_nm.png or normal.png. If the pack has none, one is generated from the pattern's alpha (strands raised), so the vanilla normal map doesn't keep shading the old pattern's strands across the new holes.
  • Ready-made .rx3: instead of images, a pack can hold a finished goal net .rx3 (the first one by name is used). It is installed as-is.
  • Preview: preview.png/.jpg/.jpeg if present, otherwise the pattern image itself. A pack that only holds an .rx3 shows the "no preview" placeholder.
  • Images are resized to the vanilla texture size (256×256 for the pattern), so any resolution works.

The pack name is the folder name; it is what you pick and what is saved in settings.ini.

How it is applied

When the stadium loads, the pattern is turned into an .rx3 by building over the vanilla goalnet_0.rx3, and installed in the game's goalnet folder under the stadium's slot name (specificgoalnet_0_<slot>.rx3), the same way per-stadium goalpost packs are. The engine checks that name before the regular goalnet_<netID>.rx3, so the pattern changes whichever net ID the stadium uses. The file is removed when the next stadium is applied, together with the goalpost files.

  • The vanilla template comes from FSW/GoalNet, filled by Setup → GoalNet Models. Without it, a pack made of loose images can't be built (the log says to run Setup). Ready-made .rx3 packs don't need it.
  • Building takes a few seconds the first time. The result is cached under runtime/net_mesh_cache/ and reused until the images change.
  • If a pack can't be built or installed, the stadium still loads with its own net, and the reason is written to the log (Net mesh NOT applied for …).
  • A toast named Net Mesh shows when a pack is applied.

Assigning a pack

Pick the Net Mesh per stadium name in any of these places; they all write the same stadium-name-keyed [stadiumnetmesh] setting:

  • The Assign Stadium dialog's Visual Details card (with a preview and a grid picker button).
  • The Settings Editor's Stadium Settings tab, or its Net Meshes By Stadium Name section.
  • The F12 overlay's Stadiums wizard: the step right after Goalpost Texture, before Entrance Camera, with a preview of the pattern.

Leaving it on None keeps the stadium's own net.

Module switch

Packs are only applied while the Net Mesh module is on (Dashboard → Modules → Stadium). It has its own switch, independent of Goalposts. It is on by default, including on installs that predate it. With it off the stadium's own net is used, the picks stay saved, and a Net Mesh (OFF) warning toast shows when the stadium has a pack assigned that was skipped.

Sample packs

Setup → Extra assets → Net Mesh Packs copies seven sample patterns into FSW/NetMesh (unchecked by default; it merges beside your own packs, never over them): Square, Square Small, Square Default, Hex 1, Hex 2, Hex Small and Hex Default.

Clone this wiki locally