com.xmobitea.changx.mini-storeprefs
v1.5.2
Published
Static key-value prefs facade with swappable backend for Unity.
Downloads
63
Readme
XmobiTea StorePrefs
Static key-value prefs facade with swappable backend for Unity.
Need-Based Routing
Choose by current need. Open only the smallest file that answers it.
| Need | Use |
| --- | --- |
| Generate normal read/write code | AI_USAGE.md |
| Answer setup or integration questions | AI_SETUP.md |
| Replace the built-in backend | AI_USE_CUSTOM_BACKEND.md |
| Check exact supported API | AI_API_REFERENCE.md |
| Understand backend swap, defaults, and delete behavior | AI_BEHAVIOR.md |
| Package guardrails for agents | AGENTS.md |
Contract
- Namespace:
XmobiTea.MiniStoreRefs - Main entry point:
StorePrefs - Default backend:
UnityPlayerPrefs - Default backend storage:
UnityEngine.PlayerPrefs - Scene setup: none
- Initialization: none
- Settings asset: none
- MenuItem or MCP entrypoint: none
- Supported value types:
int,float,string,bool,long,double - Backend override:
StorePrefs.SetPrefs(IPrefs)
Use this package when code needs a single static prefs API or a swappable storage backend behind that API.
Setup
None.
- No scene object
- No initialization call
- No settings asset
- No editor menu workflow
- No MCP setup
Correct Usage
using XmobiTea.MiniStoreRefs;
StorePrefs.SetString("player_name", "Alex");
StorePrefs.SetInt("coins", 120);
StorePrefs.SetBool("music_enabled", true);
StorePrefs.Save();
var playerName = StorePrefs.GetString("player_name");
var coins = StorePrefs.GetInt("coins", 0);
var musicEnabled = StorePrefs.GetBool("music_enabled", true);Backend Replacement
Open AI_USE_CUSTOM_BACKEND.md only when the task explicitly needs a custom IPrefs implementation or a test double.
Critical Constraints
StorePrefs.DeleteAll()clears all data in the active backend. With the built-in backend, this isPlayerPrefs.DeleteAll().StorePrefs.SetPrefs(...)replaces the global backend for all laterStorePrefscalls.StorePrefs.SetPrefs(null)compiles, but the next delegated call will throw because the package does not guard against a null backend.StorePrefs.GetString(key)returns""when the key is missing and no default is provided.StorePrefswrite methods do not callSave()automatically.UnityPlayerPrefsstoresboolasPlayerPrefsint1or0.UnityPlayerPrefsstoreslonganddoublethroughPlayerPrefsstrings.UnityPlayerPrefs.SetDouble(...)writesvalue.ToString("R")using current culture, whileGetDouble(...)parses withCultureInfo.InvariantCulture.UnityPlayerPrefs.GetDouble(...)also converts the missing-key default throughdefaultValue.ToString("R")before parsing, so comma-decimal locales can affect double defaults and stored values.- There is no built-in support for objects, JSON, encryption, or key namespacing.
Package Files
Runtime/StorePrefs.cs: public static facadeRuntime/IPrefs.cs: backend interfaceRuntime/UnityPlayerPrefs.cs: built-inPlayerPrefsbackendAI_USAGE.md: common read/write tasksAI_SETUP.md: setup answerAI_USE_CUSTOM_BACKEND.md: backend replacement workflowRuntime/com.xmobitea.changx.mini-storeprefs.runtime.asmdef: runtime assembly
Package Metadata
- Package name:
com.xmobitea.changx.mini-storeprefs - Unity version:
2022.3+ - License:
Apache-2.0
