# Welcome

Spark is a modular game framework for Unity that lets you build RPGs, survival games, and action games without writing code. It provides a complete set of interconnected systems for characters, items, combat, quests, crafting, progression, and more, all managed through a visual editor inside Unity.

## What You Can Build

With Spark and its plugins, you can create games that include:

* Playable characters with customizable stats, equipment, and abilities
* Full inventory and equipment systems with loot tables and item rarities
* Combat with multiple ability types, stat modifiers, and status effects
* Quest systems with objectives, rewards, and NPC interactions
* Crafting recipes with ingredient requirements
* Currency and wallet systems
* Character progression with experience and leveling
* Class and profession systems
* Character customization with presets and color options
* Save/load functionality
* Configurable game settings (audio, video, keybinds)

## How Spark Works

Everything in Spark revolves around **Database Entries**. These are the building blocks of your game: every item, character, ability, quest, recipe, and currency is defined as a database entry inside the Spark Editor window.

You create and configure these entries visually. Then, in your scenes, you place **Entities** (GameObjects with Spark components) that reference those entries. At runtime, Spark connects everything together automatically.

## Spark Editor

The Spark Editor is a custom Unity window where you manage all of your game data. Each plugin adds its own tabs to the editor, giving you a centralized place to create and edit every aspect of your game.

To open it, go to the Unity menu bar and look for the Spark Editor window.

## Plugins

Spark is built as a collection of plugins. Some are included with the core framework, and others are available as optional add-ons from the Unity Asset Store.

**Core Plugins** (always included): Character, Player, GameSettings, Inputs, Playables, Requirements, Rules, Save, Scenes, ScreenTexts, Triggers, UI.

**Optional Plugins** (sold separately): CharacterCustomization, Classes, Combat, Crafting, Currency, Interactables, ItemBar, Items, Professions, Progression, Quests, Races, Spellbooks.

Each plugin is self-contained but can interact with other plugins through Spark's extension system. For example, the Quests plugin can define objectives that track items collected (Items plugin) or enemies defeated (Combat plugin).

## Who This Guide Is For

This User Guide is written for people who want to build games using Spark's visual tools without writing code. Every feature is explained in terms of what you do in the Spark Editor and Unity Inspector.

If you are a programmer looking to create custom plugins, extend Spark's systems, or work with the API directly, see the [Developer Guide](https://docs.sparkframework.dev/documentation/developer-guide/welcome).

## Getting Help

If you run into issues or have questions:

* Check the [FAQ & Troubleshooting](https://docs.sparkframework.dev/documentation/user-guide/broken-reference) section
* Join the [Spark Discord community](https://discord.gg/fYzpuYwPwJ)
* Watch the [official tutorial videos on YouTube](https://www.youtube.com/@SparkUnityFramework)
