Common Issues
These are the problems that come up most often, along with their solutions. If you are stuck on something, start here — there is a good chance your issue is one of these.
My database did not generate
After clicking Generate, the toolkit writes new script files to your project. Unity must recompile these scripts before the database asset can be created. This happens automatically through a process called domain reload — you will see a small spinner in the bottom-right corner of the Unity Editor while it is working.
If the spinner seems stuck or the database asset never appears, try forcing a refresh: go to Assets → Refresh (or press Ctrl+R). This tells Unity to re-scan for new files and trigger compilation. In most cases, this resolves the issue immediately.
If the database still does not appear after a refresh, check the Console window (Window → General → Console) for red error messages. A compilation error in any script — even one unrelated to Simple Idle Forge — will block the domain reload and prevent the database from being created. Fix the compilation error first, then try generating again.
The Generate button is greyed out
The Generate button stays disabled until your wizard data passes all validation checks. Look at the validation panel above the Generate button — it lists every issue that needs to be resolved. The most common causes are:
- Empty database name. Go back to Step 1 and give your database a name. The name is used to generate file names and class names, so it cannot be blank.
- No entries. You need at least one entry to generate a database. Go to Step 3 and create at least one entry, or import entries from JSON in Step 2.
- Duplicate codes. Every entry must have a unique code. If two entries share the same code, the validation will flag both of them. Go to Step 3, find the duplicates (the validation message tells you which codes are duplicated), and rename one of them.
- Invalid characters in codes. Codes must use
UPPER_SNAKE_CASE— uppercase letters, digits, and underscores only. No spaces, no hyphens, no special characters. A code likeGold Mineorgold-minewill fail validation. UseGOLD_MINEinstead.
My resource codes do not appear in the Generator Forge
The Generator Forge does not scan your entire project for resource databases. It only knows about databases that you have explicitly linked in Step 1 of the Generator Forge wizard. Open the Generator Forge, go to Step 1, and scroll down to the Linked Resource Databases section. Drag your generated resource database asset into the list. Once linked, every resource code from that database will appear in the resource code dropdowns throughout the Generator Forge's builder.
The same applies to the Upgrade Forge (which needs both resource and generator databases linked), the Prestige Forge (resource, generator, and upgrade databases), and the Achievement Forge (all four). Each forge only sees the databases you have explicitly connected.
Timer production does not show progress bars
Timer production requires two things to work correctly. First, the generator's Production Mode must be set to Timer (not Continuous) in the Generator Forge builder. Second, the Production Interval must be greater than zero — this is the number of seconds each production cycle takes. If the interval is zero, there is no timer to display.
If you have set both correctly and still do not see progress bars, check your runtime UI code. The demo games read each generator's production mode from the database and only render a progress bar for Timer generators. Your UI needs to check the production mode and render accordingly. Look at any demo's runtime manager for an example of how this is handled.
The prestige button is always disabled
The prestige system requires two conditions to be met before a prestige can be executed. First, the source resource amount (the resource the prestige formula reads from) must exceed the Minimum to Prestige value defined in the Prestige Forge. If your minimum is set to 1,000,000 and the player only has 500,000, the prestige is unavailable.
Second, the calculated reward from the prestige formula must be greater than zero. Even if the player has enough of the source resource to exceed the minimum, a formula with a very high base divisor might produce a reward of zero at that level. Open the Prestige Forge builder, look at the formula preview slider, and check what reward the formula produces at the source amounts your players are reaching. If the reward is 0 at realistic source amounts, your formula needs tuning — try lowering the divisor or switching to a more generous formula type.
Achievements are not completing
Achievement conditions are evaluated periodically, not continuously. In the demo games, the milestone tracker checks conditions every 0.5 seconds. If your own implementation uses a different interval, or if conditions are only checked on specific events, make sure the checking is actually happening.
Beyond timing, the most common issue is a mismatch between the condition's comparison operator and
the intended threshold. If your achievement says "Reach 1,000,000 Gold" and uses
Greater Than (>) as the operator, the player needs more than 1,000,000
— exactly 1,000,000 will not trigger it. Use Greater or Equal (>=) if you
want exact thresholds to count. Also verify that the condition type and target code are correct —
a condition checking GeneratorLevel against a resource code, for example, will never
evaluate to true.
Cross-forge codes do not appear
Cross-forge integration requires two things. First, the companion package must be installed in your project. Simple Idle Forge detects companion packages automatically through both UPM version defines and reflection-based type probing — you do not need to enable anything manually. If the companion package is installed and Unity has recompiled, the bridge is active.
Second, you must link the companion's databases in the Cross-Forge Databases section of Step 1 in the forge wizard you are working in. Bridges are detected automatically, but databases must be linked manually. Drag the companion database into the appropriate slot, and its codes will appear in the relevant dropdowns throughout the builder.
My JSON import has errors
The import validation checks every cross-reference in your JSON against the databases you have linked
in the forge wizard. The most common cause of import errors is resource codes in your JSON that do not
match any code in your linked resource databases. For example, if your generator JSON references a
resource code GEMS, but your linked resource database does not contain an entry with the
code GEMS, the import will flag it.
Check the error messages — they tell you exactly which entry, which field, and which code failed validation. Common fixes include:
- Correcting typos in resource codes (the JSON says
GOLDD, the database hasGOLD) - Linking missing databases in Step 1 before importing
- Fixing invalid enum values (the JSON says
Exponetial, the valid value isExponential) - Adding missing required fields (every entry needs at least a
codeand aname)
Numbers display as scientific notation
If your resource amounts are showing up as values like 1.5E+06 instead of
1.5M, the resource's display format is set to Scientific. Open the Resource Forge
wizard, go to Step 3 (Builder), find the resource, and change its Display Format
from Scientific to Short. The Short format uses the K/M/B/T/Qa/Qi
suffix system that players expect in idle games. Regenerate the database after making the change.
The domain reload takes too long
The first time you generate from any forge, Unity needs to compile entirely new script files (the enum, the database class, and the custom editor class). This triggers a full domain reload, which can take several seconds depending on the size of your project. This is normal.
Subsequent generations are faster because the script files already exist — Unity only needs to recompile the changed files and update the database asset. If domain reloads are consistently slow, it is usually because your overall project has many scripts that Unity recompiles on every change. This is a Unity-wide issue, not specific to Simple Idle Forge. Reducing your project's total script count or using assembly definitions to isolate frequently-changing code can help.
Frequently Asked Questions
Can I modify generated databases after generation?
Yes. Your generated database is a standard Unity asset that you can select in the Project window and edit directly in the Inspector. The custom editor provides search, filtering, and pagination to make this comfortable even for large databases. Any changes you make in the Inspector are saved to the asset immediately.
However, if you regenerate from the forge wizard, your Inspector changes will be overwritten with whatever is currently in the wizard. The wizard is the source of truth during generation. If you want a change to persist through regeneration, make it in the wizard data (Step 3) and regenerate. For quick one-off tweaks that you do not plan to regenerate over, editing in the Inspector is perfectly fine.
Can I use multiple resource databases in one game?
Yes. All runtime components — the resource pool, generator manager, upgrade tracker, prestige
manager, and milestone tracker — support initialization from multiple databases. When you initialize
a component with multiple databases, their entries are merged into a single working set. Resources are
deduplicated by code, so if two databases both define a GOLD resource, only one will be
used (the first one encountered).
This is useful when you want to split your game data into logical modules — one database for base game resources, another for expansion resources, another for seasonal event resources. Each can be authored and managed independently in its own forge wizard, then merged at runtime.
Do I need all five forges?
No. Use only the forges your game needs. The forges are designed to work independently, with optional connections between them.
A simple clicker game might only need the Resource Forge (to define currencies) and the Generator Forge (to define producers). An idle game with upgrades adds the Upgrade Forge. A game with reset mechanics adds the Prestige Forge. And achievements are always optional — add the Achievement Forge when you want milestone goals and challenges.
You can also add forges later. Start with Resources and Generators, build your core loop, play-test it, and then add Upgrades and Prestige when you are ready to deepen the progression. Each new forge links to your existing databases and builds on what you have already created.
Does Simple Idle Forge handle save and load?
It handles the data side — every runtime component (resource pool, generator manager, upgrade tracker, prestige manager, milestone tracker, buff manager, auto-purchaser, and statistics tracker) can export its complete state as a snapshot object and restore from one. Snapshots are plain data structures that are easy to serialize.
The actual persistence — where the save data goes and how it gets there — is up to you.
The toolkit defines the IIdleSaveHandler interface with Save, Load, Delete, and HasSave
methods that you implement with whatever storage backend your game uses: PlayerPrefs for simple games,
a JSON file for portability, cloud saves for cross-device sync, or any other approach. The toolkit
never makes assumptions about your save infrastructure.
Can I use this for a non-idle game?
The toolkit is designed and optimized for idle and incremental games, but many of its components are generic enough to work in other genres. The resource tracking system works in any game with currencies or inventories. The upgrade system works in any game with purchasable boosts. The achievement system works anywhere you want milestone-based goals. The number formatting and cost scaling utilities are useful whenever you have large numbers or escalating costs.
What makes it specifically "idle" is the combination of offline progress calculation, prestige reset cycles, auto-purchase automation, continuous and timer production modes, and the bonus stacking pipeline. If your game uses some of these mechanics (RPGs with idle farming, tycoon games, strategy games with production chains), Simple Idle Forge will feel right at home. If your game has none of these mechanics, you might be better served by a more general-purpose data toolkit.
What Unity versions are supported?
Simple Idle Forge supports Unity 2021.3 (the Long-Term Support release) and every version after it, including Unity 2022, Unity 2023, and Unity 6. The toolkit uses stable, well-tested Unity features and avoids experimental or version-specific functionality. If your project compiles on Unity 2021.3 or later, Simple Idle Forge will work.
Both the Mono and IL2CPP scripting backends are fully supported, on every platform Unity targets — Windows, macOS, Linux, Android, iOS, WebGL, and consoles.
Are there any dependencies?
None. Simple Idle Forge is completely standalone. It does not depend on any third-party plugins, any Unity packages beyond the core engine, or any paid add-ons. Import it and it works.
The five companion forge packages (Simple Attribute Forge, Simple Item Forge, Simple Enemy Forge, Simple Quest Forge, and Simple Skill Forge) are entirely optional. They enrich the wizard dropdowns with cross-forge codes when present, but Simple Idle Forge has full functionality without any of them installed. The bridges detect companion packages at compile time and gracefully do nothing when they are absent.
Getting Help
If you have run through the troubleshooting list and the FAQ and your issue is not covered, here is how to get support.
Email Support
Reach out directly at livingfailuregames@gmail.com. Include the following information to help resolve your issue quickly:
- Your Unity version (e.g., 2022.3.18f1)
- Your Simple Idle Forge version (check
package.jsonin the package folder) - Which forge you are working with (Resource, Generator, Upgrade, Prestige, or Achievement)
- What step you are on (Setup, Definitions, Builder, Settings, or Generate)
- What you expected to happen and what happened instead
- Any error messages from the Unity Console (copy the full text, not just the first line)
Asset Store Reviews
If Simple Idle Forge helped you build something, consider leaving a review on the Unity Asset Store page. Reviews help other developers find the toolkit and let us know what is working well. If something is not working, a review is also a valid way to flag it — but emailing directly will get you a faster response.
Documentation
You are already here, but just in case: the full documentation is included offline in the package and is always available without an internet connection. Start at the Home page for an overview, follow the Quick Start for a hands-on tutorial, read the individual forge pages (Resources, Generators, Upgrades, Prestige, Achievements) for detailed feature guides, and check the API Reference for runtime component documentation.