{"repo":"KoBeWi/Godot-Text-Database","free":true,"listed":false,"github":"https://github.com/KoBeWi/Godot-Text-Database","clone":"git clone https://github.com/KoBeWi/Godot-Text-Database.git","description":"Advanced text resource loader (JSON, CFG) with rich data validation.","language":"GDScript","stars":137,"topics":["godot"],"license":"MIT","category":"game-templates","readme_excerpt":"Godot Text Database TextDatabse is a class that can load custom data files (supported formats are .json and .cfg ) created manually and validate them for you. If comparing to SQL database, imagine you create a schema and then load data and the data tries to fit into the schema. Why? Why TextDatabase When creating a game, you often want to have some data. It can be list of levels, item database, enemy codex, just anything that has some properties and comes in a more or less big number. There are multiple approaches for that. The easiest one is creating a constant Dictionary or Array somewhere in a singleton or any script file, which will hold all your data and then load and access it directly. Another way is to create a custom Resource type and then create all your data as resource instances. The first approach, while it is simple, is actually evil. Scripts aren't meant to hold data. You can store some stuff, but it doesn't scale good. Although GDScript is actually friendly for such usage. The second approach, while I've seen recommended by some people, is actually inconvenient, as you need to edit the resources in the inspector or using text editors. Also with this approach you usually put the resources as separate files (I bet it's recommended), which just creates incredible clutter. Then comes the mother of all data storage, that is, storing data in a format intended for storage (usually JSON, there are better, see below). Depending on your structure, you can conveniently s","default_branch":null,"files":null,"tree":[],"storefront":"/r/KoBeWi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/KoBeWi/Godot-Text-Database/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}