Creation of asset "YARD - Yet Another Resource Database" New
| New/Edit | |
|---|---|
| Title | YARD - Yet Another Resource Database |
| Description |
YARD is an editor plugin for Godot to manage resources and query them at runtime, with a table view in the editor as the cherry on top. OVERVIEW -------- YARD has two complementary aspects: A table-based resource editor. The YARD editor tab lets you create and manage registries: catalogues of resources grouped by class. Each registry provides a spreadsheet-like view of your resources and their properties. A lightweight runtime API. At runtime, a Registry is just a small .tres file holding UIDs and string IDs. It does not load the resources it references. You control when loading happens, and how. FEATURES -------- - Reference resources by stable, human-readable string IDs instead of file paths or UIDs lying around in some autoload - Restrict a registry to a specific class — only matching resources can be added - Sync a registry from a directory — entries are added and removed automatically as resource files appear or disappear - Bake a property index in the editor for zero-cost runtime queries by resource property values - Load entries individually, all at once (blocking), or asynchronously via threaded loading - No runtime overhead beyond what you explicitly request INSTALLATION ------------ 1. Copy the addons/yard folder into your project's addons/ directory 2. Enable the plugin in Project > Project Settings > Plugins USAGE ----- Creating a registry: Open the Registry tab in the editor, click File > New Registry, and configure: - Class restriction: only resources of this class will be accepted - Scan directory: the registry stays in sync with files in this folder - Indexed properties: property names to bake for runtime filtering Loading an entry: var skeleton: Enemy = ENEMIES.load_entry(&"skeleton") Loading all entries (blocking): var all_enemies := ENEMIES.load_all_blocking() Loading all entries (threaded): var tracker := ENEMIES.load_all_threaded_request() Querying the index: var legendaries := WEAPONS.filter_by_value(&"rarity", Rarity.LEGENDARY) var high_level := WEAPONS.filter_by(&"level", func(v): return v >= 10) var results := WEAPONS.filter_by_values({ &"rarity": Rarity.LEGENDARY, &"type": &"sword", }) LICENSE ------- MIT |
| Category | Tools |
| License | MIT |
| Repository Provider | GitHub |
| Repository Url | https://github.com/elliotfontaine/yard-godot |
| Issues Url | https://github.com/elliotfontaine/yard-godot/issues |
| Godot version | Godot 4.5 |
| Version String | 1.0.0 |
| Download Commit | b05f179df3355e3db6cb41bfe3588f0a4600eb97 |
| Download Url (Computed) | https://github.com/elliotfontaine/yard-godot/archive/b05f179df3355e3db6cb41bfe3588f0a4600eb97.zip |
| Icon Url |
https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/icon.png
|
| Preview Insert | ||
|---|---|---|
| Type | image | |
| Image/Video URL |
https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/etc/preview_2.png
|
|
| Thumbnail |
|
|
| Preview Insert | ||
|---|---|---|
| Type | image | |
| Image/Video URL |
https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/etc/preview_1.png
|
|
| Thumbnail |
|
|