{"doc":"third-party","title":"Third-party tools and assets","markdown":"# Third-party tools and assets\n\nNot everything in a game has to be drawn or built from nothing. This page lists\nopen-source tools and asset packs that suit a sports fan game, what each one\ncosts, and its licence. `lib/third-party-registry.ts` is the one place this\nlist lives; this page is generated from it, so add an entry there rather than\nediting a table here by hand.\n\n## Quickstart: a football pitch in one install\n\n[PitchKit](https://www.pitchkitjs.com) is MIT-licensed, so a game that needs a\npitch to plot shots or heatmaps on can install it and use it with no licence to\nnegotiate:\n\n```sh\nnpm install @pitchkit/react\n```\n\n```jsx\nimport { Pitch, Scatter } from \"@pitchkit/react\";\n\n<Pitch>\n  <Scatter data={shots} x={(s) => s.x} y={(s) => s.y} />\n</Pitch>;\n```\n\nOr take a UI pack from Kenney with no install at all. Every asset on\n[kenney.nl](https://kenney.nl/) is CC0 (public domain), so a button, panel or\nslider pack is a zip you download and drop into `public/`:\n[kenney.nl/assets/ui-pack](https://kenney.nl/assets/ui-pack) has 430 of them.\n\nThe rest of this page is grouped by what the tool does, with a table per\ngroup: what it is, its licence, its cost, when to reach for it, when to skip\nit, and how to add it.\n\n<!-- third-party-registry:start -->\n### Pitch and match visualisation\n\nDraw a pitch and plot data on it, rather than building an SVG renderer from nothing.\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [PitchKit](https://www.pitchkitjs.com) | A React and TypeScript library that draws a football pitch, with layers for shot maps, pass networks, heatmaps and Voronoi diagrams stacked on top of it as children of a `<Pitch>` component. Reads coordinates from StatsBomb, Opta, Wyscout, SkillCorner and UEFA formats, and is responsive by default. | MIT | Free | Your predictor or stats game needs a pitch to place players, shots or a heatmap on, and you already have, or can get, coordinates in one of the formats it reads. | The game has no coordinate data to plot, or plays a sport that is not football: it draws football pitches only. | npm install @pitchkit/react |\n\n### Interface assets\n\nButtons, panels and sounds for a game board, from Kenney, all public domain (CC0).\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [Kenney UI Pack](https://kenney.nl/assets/ui-pack) | 430 flat UI sprites: buttons, panels, sliders and checkboxes in several colour sets, sized for a game board rather than a web form. | CC0 (public domain). No attribution required; crediting \"Kenney\" is welcome, its logo is reserved for its own studio's projects. | Free | A board, a button or a panel needs a game-like look and your own art, or Gamestage UI, is not ready yet. | You are already using Gamestage UI or shadcn/ui on the same screen: mixing three button styles reads as unfinished, not as choice. | Download the pack from https://kenney.nl/assets/ui-pack and copy the sprites you need into public/. There is no package to install. |\n| [Kenney UI Audio](https://kenney.nl/assets/ui-audio) | 50 short sound effects for button presses, switches and menu interactions. | CC0 (public domain). No attribution required. | Free | A button press, a correct answer or a reveal wants a sound and the game has none yet. | The game already has its own sound design, or plays mainly in mobile browsers, where the first sound needs a tap to unlock anyway. | Download the pack from https://kenney.nl/assets/ui-audio and serve the files you need from public/. |\n\n### Sport sprites and icons\n\nGeneric sports art and small interface icons, for a placeholder rather than a brand.\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [Kenney Sports Pack](https://kenney.nl/assets/sports-pack) | 380 top-down sprites across a range of sports: balls, rackets, goals and simple player figures. | CC0 (public domain). No attribution required. | Free | You need a quick sprite for a ball, a goal or a generic sports object while the game's own brand art is not ready. | The game plays a real sport a fan will recognise: this pack is generic, dated 2017, and reads as a placeholder rather than a team's kit. | Download the pack from https://kenney.nl/assets/sports-pack. |\n| [Kenney Game Icons](https://kenney.nl/assets/game-icons) | 105 small icons: gamepad, joystick, arrows and control prompts. | CC0 (public domain). No attribution required. | Free | A control hint or a small interface icon is missing, such as a controller prompt on a taster shown on a big screen. | You need a sport-specific icon such as a trophy or a medal: this pack does not have them. | Download the pack from https://kenney.nl/assets/game-icons. |\n\n### Fonts\n\nDisplay and pixel fonts made for games, not licensed type foundries.\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [Kenney Fonts](https://kenney.nl/assets/kenney-fonts) | 11 pixel and display fonts, as .ttf files, made for game interfaces. | CC0 (public domain). No attribution required. | Free | A scoreboard or a title wants a game-like display font and Studio has not set a brand font for it. | The producer has set a brand font in Studio's theming (see Theming): a second font fights it rather than completing it. | Download from https://kenney.nl/assets/kenney-fonts and self-host the .ttf with an @font-face rule. |\n\n### 3D modelling tools\n\nPaid desktop apps for a quick 3D asset. Gamestage games are 2D browser pages, so reach for these only when a taster genuinely renders 3D.\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [Kenney Asset Forge](https://kenney.nl/tools/asset-forge) | A desktop app that builds a 3D model by snapping together library blocks, then exports it as OBJ, FBX, glTF and more. | The app is paid. Every block, and every model you export, is public domain: no credit needed. | $19.95 (Deluxe $39.95), on Steam and itch.io | The game needs a simple 3D asset, such as a trophy or a stadium prop, and nobody on the team models in a full 3D tool. | The game is a 2D browser page, which is most of them: this is for the rare taster that renders 3D. | Buy and install from https://kenney.nl/tools/asset-forge, export a model, and load its glTF like any other static asset. |\n| [Kenney Shape](https://kenney.nl/tools/kenney-shape) | A desktop app that turns a 2D drawing into a 3D model. | The app is paid. The models you export are yours to use commercially. | $3.99, on Steam and itch.io | You have a 2D icon or logo and want a quick 3D version of it, such as a spinning trophy. | The game is a 2D browser page, which is most of them. | Buy and install from https://kenney.nl/tools/kenney-shape. |\n\n### Placeholder avatars\n\nA free web tool that mixes pixel-art parts into a downloadable image, for a fan slot with no photo yet.\n\n| Tool | What it is | Licence | Cost | Use it when | Skip it when | Add it |\n| --- | --- | --- | --- | --- | --- | --- |\n| [Kenney Avatar Mixer](https://kenney.nl/tools/avatar-mixer) | A web tool that mixes pixel-art faces into a random avatar and lets you download the result as a PNG. | CC0 (public domain). No attribution required. | Free | A leaderboard or a profile slot needs a placeholder face before real fan photos or avatars exist. | The game already has fan photos, or a brand-approved avatar style a producer set in Studio. | Use the tool at https://kenney.nl/tools/avatar-mixer and download the PNG. Nothing to install. |\n<!-- third-party-registry:end -->\n\n## Before you add anything else\n\nKenney's own word is that every asset on kenney.nl is CC0, in full: no\nattribution, no royalty, no restriction, even in a paid product. The only\nthing it reserves is Kenney's own logo, kept for its own studio's projects. A\npaid tool such as Asset Forge is different from a paid asset pack: the app\ncosts money, but what you build with it and export is yours, public domain,\nthe same as everything else here.\n\nAn unofficial data source carries a different warning, covered in\n[Data sources](/docs/data-sources). This page is about code and art, which\ncarry no such caveat once the licence above is met.\n\nIf you add or replace something here and it changes a fan-facing font,\nsound or image, say so in the same commit as the code that uses it: a\nlicence is a fact about a file, and the two should never drift apart.\n"}