GodotCookies 1.1.0
dotnet add package GodotCookies --version 1.1.0
NuGet\Install-Package GodotCookies -Version 1.1.0
<PackageReference Include="GodotCookies" Version="1.1.0" />
paket add GodotCookies --version 1.1.0
#r "nuget: GodotCookies, 1.1.0"
// Install GodotCookies as a Cake Addin #addin nuget:?package=GodotCookies&version=1.1.0 // Install GodotCookies as a Cake Tool #tool nuget:?package=GodotCookies&version=1.1.0
Godot Cookies
Easily store options on-device in Godot 4. This is useful for storing user settings such as volume and keybindings.
Godot Cookies stores data as indented JSON making it easy to understand and edit manually.
[!NOTE] Godot Cookies v1.1+ only supports Godot 4.4+ due to a breaking change with FileAccess.StoreString.
Usage
Set a cookie:
Cookies.User.Set("Health", 50);
Get a cookie:
int Health = Cookies.User.Get<int>("Health");
Get all cookies:
Dictionary<string, object?> Cookies = Cookies.User.GetAll();
Remove all cookies:
Cookies.User.SetAll([]);
Cookies.User.Delete();
Notes
- Cookies can be removed by setting them to
null
. - Cookie files are automatically created upon setting the first cookie.
- Cookie files are locked while in use to prevent data corruption.
- Cookie files should not contain large amounts of data because the entire file is read and rewritten every time a cookie is set.
- Godot types (such as
Color
) don't work well withSystem.Text.Json
, so you should use a[JsonConverter]
attribute.
About the name
Godot Cookies is inspired by browser cookies, which are small pieces of data stored in the user's browser. However, they are unrelated.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- GlobalMutexSharp (>= 1.2.0)
- GodotSharp (>= 4.4.0-beta.2)
- System.Text.Json (>= 9.0.1)
-
net9.0
- GlobalMutexSharp (>= 1.2.0)
- GodotSharp (>= 4.4.0-beta.2)
- System.Text.Json (>= 9.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.