Templates & Sample Assets¶
The Mod Tools ship thirteen ready-made firework templates, covering the common firework types. Starting from a template is the fastest way to get a working firework — you swap in your own model, point it at your own definition, and you are done.
What a Template Is¶
A template is a fully wired firework prefab that lives inside the Mod Tools package. You create one from the Hierarchy:
- Right-click in the Hierarchy (or use the GameObject menu).
- Choose Fireworks Mania → Templates → Fireworks → …
The template is instantiated into the open scene — or into the prefab you currently have open in Prefab Mode — and immediately unpacked.
Templates are auto-unpacked — this is deliberate
Right after the template is created, the Mod Tools unpack the outermost root, so the new GameObject has no prefab link back to the shipped template. It is yours: rename it, delete components, restructure children, and drag it into your own mod folder to make it your own prefab.
Only the outermost root is unpacked. Nested prefab instances inside the template — the Dummy model, FuseStandardPrefab, the mortar tube parts and so on — stay linked to the package prefabs, which is why they still show the blue prefab icon in the Hierarchy.
A few practical details:
- The new object is parented to whatever you right-clicked in the Hierarchy, and lands at that parent's origin (or world origin if you right-clicked empty space). It is not placed at the Scene view pivot.
- It is created with Undo support and selected for you.
- It is still named
<Type>_Template_Prefab. Rename it before you save it as your prefab.
The Template Menu¶
All entries live under GameObject > Fireworks Mania > Templates.
Fireworks¶
| Menu item | Main component | Notes |
|---|---|---|
| Mortar 3 Inch Template | MortarBehavior |
One MortarTube; diameter set to Diameter_3_Inch |
| Mortar Rack 6 Inch Template | MortarBehavior |
Three tubes (MortarTube01, (1), (2)); diameter Diameter_6_Inch |
| Cake Template | CakeBehavior |
ParticleSystemExplosion, ParticleSystemSound, ParticleSystemObserver |
| Firecracker Template | FirecrackerBehavior |
Also carries ExplosionBehavior |
| Fountains Template | FountainBehavior |
Creates Fountain_Template_Prefab (menu says "Fountains", asset is singular) |
| PreloadedTube Template | PreloadedTubeBehavior |
Same particle trio as the Cake, plus the launch muzzle and smoke-trail effects |
| Rocket Template | RocketBehavior |
Also carries Thruster and ExplosionBehavior |
| Roman Candle Template | RomanCandleBehavior |
Same particle trio as the Cake |
| Smoke Bomb Template | SmokeBombBehavior |
|
| Whistler Template | WhistlerBehavior |
Also carries Thruster and ExplosionBehavior |
| Zipper Template | ZipperBehavior |
Two ParticleSystemObservers |
| Shell 3 Inch Template | ShellBehavior |
ParticleSystemShellSound; diameter Diameter_3_Inch |
| Shell 6 Inch Template | ShellBehavior |
Same components as Shell 3 Inch; diameter Diameter_6_Inch |
Parts¶
| Menu item | Main component |
|---|---|
| Unwrapped Shell Fuse Template | UnwrappedShellFuse (with an IgnitePosition child) |
This one is a part, not an inventory item — it has no definition and no networking components.
What Every Firework Template Carries¶
Beyond the type-specific behaviour, every firework template comes with:
| Component | Why it is there |
|---|---|
SaveableEntity |
Lets the firework be stored in and restored from blueprints |
ErasableBehavior |
Lets the player remove it with the eraser tool |
NetworkObject |
Netcode identity — required for multiplayer |
NetworkRigidbody |
Netcode physics sync |
ClientNetworkTransform |
Fireworks Mania's client-authoritative transform sync |
Most templates additionally carry Fuse and ExplosionPhysicsForceEffect. The two mortar templates do not — they hold other fireworks rather than exploding themselves.
Do not strip the networking components
NetworkObject, NetworkRigidbody and ClientNetworkTransform are pre-wired on every firework template. Removing them will break your firework in multiplayer, even if it looks fine in singleplayer. If you ever build a firework from scratch, GameObject → Fireworks Mania → Add Network Components adds the equivalents for you.
Templates use NetworkRigidbody, the menu adds ClientNetworkRigidbody
The shipped templates reference Netcode's own NetworkRigidbody, while Add Network Components adds Fireworks Mania's ClientNetworkRigidbody (and only when the object already has a Rigidbody). Both ship in the Mod Tools; leave whichever one your object already has alone rather than swapping it.
See Behaviors and Firework Parts for what each of these components actually does.
Swapping In Your Own Model¶
Eleven of the thirteen firework templates have a child GameObject literally named Model. That is where the grey-box Dummy mesh sits, and it is the one thing you are expected to replace.
- Expand the created object in the Hierarchy and select the
Modelchild. - Delete it and drag your own
.fbxin as a child in its place, keeping the same name and local position so the rest of the wiring stays readable. - Check the colliders still match your new mesh — the Dummy meshes are simple grey-box placeholders, and your model probably is not.
- Check the particle systems and effect transforms still sit where you want them (nozzle, muzzle, fuse tip).
The other two have no Model child and are laid out differently:
| Template | Where the visuals live |
|---|---|
| Mortar 3 Inch / Mortar Rack 6 Inch | MortarTube (3 inch) or MortarTube01, MortarTube01 (1), MortarTube01 (2) (6 inch), plus a Colliders/Collider child |
Keep the fuse
Eleven of the thirteen firework templates nest the shipped FuseStandardPrefab — everything except the two mortars. It stays a linked prefab instance after the template is unpacked, so you get the standard Fuse and FuseConnectionPoint setup for free. Move and rotate it to fit your model rather than deleting it.
Replace the Dummy Definition — Always¶
Every firework template ships pre-wired to one of the sample Dummy FireworkEntityDefinition assets that live inside the Mod Tools package.
Shipping a mod that still points at a Dummy definition will collide with every other mod that did the same
The definition Id is what blueprints save. If two mods ship entities claiming Cake_DummyCake, they fight over the same id and players' blueprints break. Your item would also show up in the inventory as "Dummy Cake" with the sample's grey-box icon, since the name, icon and category all come from the definition.
Create your own definition, give it a globally unique Id (prefix it with your nick), and re-point the firework behaviour on the prefab root at it before you build.
The mapping, so you know what you are replacing and which category the samples use:
| Template | Dummy definition it ships with | Entity Definition Type |
|---|---|---|
| Cake | Cake_DummyCake |
Fireworks_Cake |
| Firecracker | Firecracker_DummyFirecracker |
Fireworks_Firecracker |
| Fountains | Fountain_DummyFountain |
Fireworks_Novelty |
| Mortar 3 Inch | Mortar_3inch_DummyMortar |
Fireworks_Mortar |
| Mortar Rack 6 Inch | Mortar_6inch_DummyMortarRack |
Fireworks_Mortar |
| PreloadedTube | PreloadedTube_DummyPreloadedTube |
Fireworks_Tube |
| Rocket | Rocket_DummyRocket |
Fireworks_Rocket |
| Roman Candle | RomanCandle_DummyRomanCandle |
Fireworks_Novelty |
| Shell 3 Inch | Shell_3inch_DummyShell |
Fireworks_Shell |
| Shell 6 Inch | Shell_6inch_DummyShell |
Fireworks_Shell |
| Smoke Bomb | SmokeBomb_DummySmokeBomb |
Fireworks_Smoke |
| Whistler | Whistler_DummyWhistler |
Fireworks_Novelty |
| Zipper | Zipper_DummyZipper |
Fireworks_Novelty |
The mod build validates this both ways: your definition must reference your prefab and the behaviour on your prefab root must reference that same definition, otherwise the build fails. See Troubleshooting & Build Errors for the exact messages, and Definitions for every field on the definition itself.
Ready-Made Parts¶
Separate from templates, GameObject > Fireworks Mania also creates individual parts. Unlike templates these are not unpacked — they stay connected prefab instances of the shipped package prefab, so your changes show up as prefab overrides and Mod Tools updates flow straight into them.
| Menu item | What you get |
|---|---|
| Parts → Common → Standard Fuse Prefab | Fuse + FuseConnectionPoint — the standard burnable fuse |
| Parts → Mortar → Mortar Top Prefab | MortarTubeTop |
| Parts → Mortar → Mortar Bottom Prefab | MortarTubeBottom |
| Parts → Mortar → Unwrapped Shell Fuse Pivot Position Prefab | UnwrappedShellFusePivotPosition |
| Parts → Character → Character Camera Position Prefab | CharacterCameraPosition — first-person camera position on a character |
| Maps → Player Spawn Location Prefab | PlayerSpawnLocation — see Custom Maps |
Note that Maps is a sibling of Parts, not a child of it.
The ModSamples Folder¶
The Dummy assets behind the templates live in the package at:
FireworksMania/Resources/ModSamples/
├── Definitions/ 13 Dummy FireworkEntityDefinition assets
├── Icons/ 12 icon PNGs
├── Models/ 13 grey-box Dummy .fbx models
└── Prefabs/ 14 template prefabs (13 fireworks + 1 part)
They are worth opening to see how a finished firework is put together — and they are also the reason "Dummy" keeps showing up in your Hierarchy.
Do not edit or ship the ModSamples assets
They live inside the Mod Tools package, not in your mod folder. Editing them changes them for every mod in the project, and package updates will overwrite your changes. Copy what you need into your own Assets/Mods/YourNick_ModName/ folder instead.
The samples are placeholders, not a style guide
There are a few known quirks in them: the Firecracker sample points at the Fountain icon, the 6 inch shell reuses the 3 inch icon, and a couple of the definition assets were saved by an older version of the Mod Tools and still contain long-removed fields. They load fine — but do not treat them as the canonical example of a tidy mod.
The PrefabEditorScene¶
By default, Unity opens prefabs in a featureless grey void, which makes it very hard to judge the size of a firework. The Mod Tools ship a purpose-built editing environment instead:
It contains a grid floor and reference cubes labelled 1 m, 2 m, 5 m, 10 m and 50 m, so you can see at a glance whether your cake is the size of a shoebox or the size of a car.
It is not wired up for you
A fresh Mod Tools project does not have this scene set as the prefab editing environment. You have to point Unity at it yourself, once per project.
Setting it up¶
- Go to Edit → Project Settings → Editor → Prefab Mode → Editing Environment → Regular Environment.
- Drag
PrefabEditorSceneinto the field, or click the small circle selector and search for it.
From then on, every prefab in the project opens inside this scene in Prefab Mode — not just Fireworks Mania ones.
The first time the scene opens you may get the TextMesh Pro "import essentials" popup. Accept it; the reference cube labels need it.
Fixing "my mod looks too bright"¶
The other complaint that shows up the moment you open a prefab is that everything looks washed out: a new Unity project renders in Gamma color space and the game renders in Linear. FireworksMania/Scenes/Editor/Readme.txt, next to the scene, says the same thing. Getting Started has the fix — do it early, because changing color space after you have hand-tuned a lot of materials means re-tuning them.
Real Examples Worth Opening¶
Beyond the templates, the package ships prefabs that are not in a Resources folder and have no menu item — drag them straight from the Project window.
| Folder | What is in it |
|---|---|
FireworksMania/Prefabs/Fireworks/Effects/ |
FX_ExplosionSmoke_Prefab, FX_LaunchMuzzleAndSmoke_Prefab, FX_ParticlesLight_Prefab, FX_SmokeTrail_Prefab — pure particle/light prefabs with no Fireworks Mania scripts on them, so they drop into anything |
FireworksMania/Prefabs/Fireworks/Parts/ |
FuseConnectionPointPrefab, Thruster_Rocket_Default, Thruster_Whistler_Default |
FireworksMania/Prefabs/Fireworks/Shells/ |
UnwrappedShellFuse_3inch_01_Prefab |
FireworksMania/Prefabs/Fireworks/Shells/Effects/ |
Shell_2inch_Launch_Effect_Prefab through Shell_6inch_Launch_Effect_Prefab — launch flashes, no scripts |
Opening these is the quickest way to learn how the shipped fireworks tune their particle systems.
Can't see package assets in an object picker?
Unity's object picker can hide assets that live inside a package. If the Fireworks Mania prefabs and definitions do not show up when you click a field's circle selector, switch the picker to include package assets using the toggles in the picker window's own toolbar.
From Template to Finished Firework¶
- Create the template from the Hierarchy menu
- Rename it from
*_Template_Prefabto your own name - Replace the mesh under the
Modelchild (or the tube/rack children) - Fix up colliders, particle positions and the fuse position
- Drag it into your mod folder to make it your own prefab
- Create your own
FireworkEntityDefinitionwith a uniqueIdand assign the prefab - Assign that definition on the firework behaviour on the prefab root
- Generate an icon and pick your sounds — see Icons & Sounds
- Build with Mod Tools → Build Mod (Ctrl+Shift+B) and test in game
New to all this? Getting Started walks through the surrounding setup — mod folder, export settings and the build itself.