Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ConfigFile¶
Inherits: RefCounted < Object
Helper class to handle INI-style files.
Description¶
This helper class can be used to store Variant values on the filesystem using INI-style formatting. The stored values are identified by a section and a key:
[section]
some_key=42
string_example="Hello World3D!"
a_vector=Vector3(1, 0, 2)
The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem.
The following example shows how to create a simple ConfigFile and save it on disc:
# Create new ConfigFile object.
var config = ConfigFile.new()
# Store some values.
config.set_value("Player1", "player_name", "Steve")
config.set_value("Player1", "best_score", 10)
config.set_value("Player2", "player_name", "V3geta")
config.set_value("Player2", "best_score", 9001)
# Save it to a file (overwrite if already exists).
config.save("user://scores.cfg")
// Create new ConfigFile object.
var config = new ConfigFile();
// Store some values.
config.SetValue("Player1", "player_name", "Steve");
config.SetValue("Player1", "best_score", 10);
config.SetValue("Player2", "player_name", "V3geta");
config.SetValue("Player2", "best_score", 9001);
// Save it to a file (overwrite if already exists).
config.Save("user://scores.cfg");
This example shows how the above file could be loaded:
var score_data = {}
var config = ConfigFile.new()
# Load data from a file.
var err = config.load("user://scores.cfg")
# If the file didn't load, ignore it.
if err != OK:
return
# Iterate over all sections.
for player in config.get_sections():
# Fetch the data for each section.
var player_name = config.get_value(player, "player_name")
var player_score = config.get_value(player, "best_score")
score_data[player_name] = player_score
var score_data = new Godot.Collections.Dictionary();
var config = new ConfigFile();
// Load data from a file.
Error err = config.Load("user://scores.cfg");
// If the file didn't load, ignore it.
if (err != Error.Ok)
{
return;
}
// Iterate over all sections.
foreach (String player in config.GetSections())
{
// Fetch the data for each section.
var player_name = (String)