# 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](/documentation/developer-guide/welcome.md).

## Getting Help

If you run into issues or have questions:

* Check the [FAQ & Troubleshooting](broken://pages/D9PcDQvmZcyP9f8YACB2) section
* Join the [Spark Discord community](https://discord.gg/fYzpuYwPwJ)
* Watch the [official tutorial videos on YouTube](https://www.youtube.com/@SparkUnityFramework)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sparkframework.dev/documentation/user-guide/welcome.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
