From 334f299e0e5307e467be1e29eabf8c4884ef6040 Mon Sep 17 00:00:00 2001 From: Yusarina Date: Mon, 31 Mar 2025 13:03:37 +0100 Subject: [PATCH] User Preferences should save in blenders user dictionary not in the Plugins Dictionary --- core/addon_preferences.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/addon_preferences.py b/core/addon_preferences.py index 1bea83a..31f580d 100644 --- a/core/addon_preferences.py +++ b/core/addon_preferences.py @@ -6,9 +6,14 @@ from ..core.logging_setup import logger from bpy.types import AddonPreferences from typing import Any, Dict -# Get the directory of the current file -PREFERENCES_DIR = os.path.dirname(os.path.abspath(__file__)) -PREFERENCES_FILE = os.path.join(PREFERENCES_DIR, "preferences.json") +# Get the user preferences directory instead of addon directory +def get_preferences_path(): + user_path = bpy.utils.resource_path('USER') + addon_prefs_dir = os.path.join(user_path, "config", "avatar_toolkit_prefs") + os.makedirs(addon_prefs_dir, exist_ok=True) + return os.path.join(addon_prefs_dir, "preferences.json") + +PREFERENCES_FILE = get_preferences_path() def get_current_version(): main_dir = os.path.dirname(os.path.dirname(__file__)) @@ -60,4 +65,4 @@ if not os.path.exists(PREFERENCES_FILE): save_preference("language", 0) # Set default language to 0 (auto) save_preference("validation_mode", "STRICT") # Set default validation mode save_preference("enable_logging", False) # Set default logging mode - save_preference("highlight_problem_bones", True) # Set default bone highlighting \ No newline at end of file + save_preference("highlight_problem_bones", True) # Set default bone highlighting