Skip to content
PN Scripts

Game dev tools

Stowling

Inventory, equipment and crafting rules for Unity in plain, tested C#: stacking, weight limits, filters, drag and drop moves, typed equipment slots, tag-based recipes and JSON saves.

  • Unity
  • C#
  • .NET Standard 2.1
  • xUnit
  • Coming soon

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Diagram of a 24-slot backpack, a 12-slot chest and ten equipment slots with items, weight and stats after the demo run

What it solves

The gap

Inventory code tends to grow inside UI scripts: stack limits, weight, filters, swaps and crafting checks get duplicated, edge cases lose items, and nothing can be tested without running the game.

What it is

Stowling keeps the rules in a small C# core with clear operations, events and load reports, tested outside Unity, and wraps it in ScriptableObjects and components for Unity projects.

How you use it

Drop-in inventory rules with the edge cases already handled, so the time goes into the UI and the game instead.

For Unity developers who build their own inventory UI and want the rules underneath to be solid, tested and engine-independent.

Who it is for

Use it when

  • An RPG backpack with equipment slots, a weight limit and a quiver that only takes ammo
  • A survival game with crafting at workbenches from the player's bag and nearby chests
  • A server or tool that validates inventories and recipes without running Unity

Built for

  • Unity developers building RPG, survival or crafting games
  • Programmers who want inventory logic they can unit test

What is inside

Inventories that keep their rules

Each inventory has a slot count, an optional weight limit and filters for the whole inventory or single slots. Items stack up to their MaxStack, stacks with different per-item data stay apart, and Add returns how many really fit. Split, Merge, Swap, Sort, TransferTo and Inventory.Move cover what players do with a mouse, and an operation that cannot complete changes nothing.

Equipment

Equipment slots have a name and a type, so ring_left and ring_right both accept rings and main_hand accepts weapons. Equip takes one item from a stack, returns the previous item to the bag when there is room and refuses otherwise. SumStat adds up values such as armor or luck over everything equipped.

Crafting

Recipes list ingredients by item id or by tag, outputs and an optional station. The Crafter checks one or more source inventories, reports missing ingredients with counts, reserves specific items before tag ingredients and takes the ingredients only when the result fits, counting the room the ingredients free. MaxCraftable and Craftable feed crafting menus.

Saves and Unity integration

InventoryJson writes inventories and equipment to versioned JSON and reads them back into the current game, listing every unknown item, missing slot or oversized stack and moving overflow to free slots. In Unity, items, catalogs and recipes are ScriptableObjects, and Inventory, Equipment and Crafting Station components expose the same core with UnityEvents and save helpers.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Package
Pricing
One-time purchase Price to be announced.
License
Proprietary
Deployment
Download (Unity package as .tgz and .zip, with C# sources and tests)
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Unity (compiled against) 2021.3 or newer 6000.5.4
.NET netstandard2.1 or newer 8.0

Stack

  • Unity
  • C#
  • .NET Standard 2.1
  • xUnit

Stowling is coming soon

It is finished and tested. It is not on sale yet; this page will say where to get it when it is.

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Questions

An inventory, equipment and crafting core for Unity: plain C# rules for slots, stacking, weight, filters, moves, equipment, recipes and JSON saves, with ScriptableObjects, components, inspectors and a sample in a Unity package.

A Unity project; the package declares Unity 2021.3 as the minimum and was compiled against Unity 6000.5.4. The core also works in any .NET project that supports netstandard2.1 and was tested on .NET 8. There are no other dependencies.

There is no finished uGUI or UI Toolkit inventory screen (the sample uses IMGUI to show the API), no grid-shaped recipes, crafting timers or networking. The Unity editor was not run during testing, so the components and sample were compiled but not tried in Play mode.

It is written in C#. 41 xUnit tests cover inventory operations, weight and filters, events, equipment, crafting and JSON saves, a demo program produced the gallery data, and the built package was unpacked and compiled assembly by assembly against Unity's own DLLs. Created with AI assistance; the core was checked by PN Scripts with 41 xUnit tests on .NET 8 and the Unity package by compiling the built tarball against the Unity 6000.5.4 assemblies.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.