Start here
Images, sound and models
A pack carries its own files: a logo for a sponsor, a portrait for a player, a backdrop for a venue, a picture above a story, walk-on music, a trophy for the stage. Every field that takes a file works the same way.
Pointing at a file#
A file is a path inside your pack, from the folder that holds mod.json, with forward slashes:
"logo": "assets/sponsors/oche-optics.webp"./assets/x.webpworks too. Any folder layout is fine;assets/is the custom.- No
.., no absolute paths (/…,C:/…), no backslashes and no%2e-style encoding. - No web addresses or other links:
https://…,file://…anddata:are refused. - To use a file from another pack, usually the base game, give its full address:
dtj-asset://core/assets/venues/core.venue.irwell-dome.webp. The Mod Studio writes these when you copy a base game record into your pack.
The game only ever reads a pack’s files from that pack’s own folder.
File types and sizes#
| Kind | Use | Largest |
|---|---|---|
| Pictures | .webp, .png, .jpg / .jpeg | 8 MB each |
| Sound | .mp3, .ogg, .wav | 48 MB each |
| 3D models | .glb | 20 MB; a stage up to 64 MB |
| Data a record points at | .json (a stage’s layout) | 4 MB |
mod.json pictures | as pictures; the icon and banner may also be .svg | icon 1 MB; banner and each screenshot 4 MB |
- WebP is what the base game uses for nearly everything: small files, with transparency. PNG for pictures that need to be exact; JPEG for photographs.
- A transparent ground suits logos and player cut-outs. Backdrops and story pictures fill their frame.
- Make pictures about the size they are shown at. A 4000-pixel logo costs memory on every screen that shows it, which matters on phones.
The pack checks accept .gif, .avif and .svg pictures, but in this version the game draws SVG only for a pack’s icon and banner on the Mods screen and for the game’s wordmark, and does not draw GIF or AVIF at all. Anywhere else such a picture shows the game’s own art in its place. Use WebP, PNG or JPEG for content.
An SVG must only draw: one with <script>, on…= handlers, <foreignObject>, entity declarations, or links to other files (href or url(…) to anything but # ids and embedded PNG, JPEG, WebP or GIF data) is refused.
When something is wrong#
A missing, refused or oversized file is a warning, never an error: the field is dropped, the game draws its own (a monogram, an event mark, initials, the base game’s art) and the rest of the pack loads. The Mods screen lists each one with its file and field:
warning data/sponsors.json [2].logo Asset paths can’t leave the mod folder (".."): ../x.png
warning mod.json screenshots[0] Asset too large: assets/shot.png (5.2 MB; 4 MB at most)Your pack’s own pictures#
icon: square, on the pack’s card, its row in the table and its details. 256 by 256 looks best. Without one, the Mods screen draws your initials on a colour taken from your id.banner: wide, about 3 to 1 (1200 by 400, say), across the top of the card and the details.screenshots: up to eight, in the pack’s details; each opens full size.
These show for packs that are switched off too.
Every field that takes a file#
Patches can set these fields too; the file is read from the patching pack’s folder.
| Content | Fields that take a file |
|---|---|
| Tours | logo |
| Venues | backdrop |
| Events | logo |
| Sponsors | logo |
| Kit items | asset |
| Stories | image |
| Walk-on tracks | asset |
| Players | portrait |
| Faces | file |
| Media outlets | logo |
| Journalists and pundits | portrait |
| Social accounts | avatar |
| Agencies | logo |
| Cards | badge |
| Workshops | logo |
| Shirt cuts | frontImage, backImage |
| Shirt patterns | texture |
| Menu backgrounds | image |
| Nations | flag |
| Logos | logo, chest, wordmark |
| Broadcast looks | logo |
| Trophies | model |
| Stages | model, layout |
| Dart parts | model |
| Organisations | logo |
Walk-on music#
A walk-on track is a walk-on record: a title, an artist, a mood and, optionally, an asset that is a sound file in your pack. A player takes it through their walkonId. With a sound file the game plays the track’s opening as the player walks on; without one (as for every base game track) it plays a stinger in the track’s mood. Sound files must be .mp3, .ogg or .wav: the pack checks also accept .m4a, .flac and .opus, but the game does not play them in this version and plays the mood’s stinger instead.
3D models#
Trophies, stages and the parts of a dart can be models of your own, as .glb files. Each has its own guide: trophy models, stage models and dart models.
Installing a pack from a zip (Import on the Mods screen, and on phones) leaves out .glb files in this version, so a pack’s own models only arrive when its folder is copied into the mods folder on Windows. Without them the game uses its own models.
The game’s own logos#
The game’s marks are content too: two brand records in the base game’s data/brand.json.
| Record | What it is | Where it shows |
|---|---|---|
core.brand.game | the game’s logo | the chest and back of the game’s shirt in the character creator; with a wordmark, the main menu’s title |
core.brand.league | the league’s logo | the league shirt |
logo(required): the mark on a transparent ground, square or near it; 1024 pixels is plenty.chest: the mark with a clear margin round it, so it sits inside a shirt’s piping. Without it the logo is used.wordmark(core.brand.gameonly): a wide title picture on the main menu in place of the drawn title, light lettering on a transparent ground. An SVG is drawn as shapes, sharp at every size; a PNG is shown as it is.- Replace a record with one of the same id in your
data/brand.json, or change one picture with a patch:{ "target": "brand:core.brand.game", "patch": { "wordmark": "assets/wordmark.png" } }.
The example-brand pack does all of this.