How to keep those GlobalScene Data persistent?

System itself →

class_name SaveSystemClass
extends Node

const SETTINGS_PATH := "user://settings.cfg"
var config = ConfigFile.new()

func _ready() -> void:
	load_data()

func save_data() -> void:
	var err = config.save(SETTINGS_PATH)
	if err != OK:
		push_warning("Failed to save: %s" % err)

func load_data() -> void:
	var err = config.load(SETTINGS_PATH)
	if err != OK:
		return
		
func set_setting(section: String, key: String, value: Variant) -> void:
	config.set_value(section, key, value)
	save_data()
	
func get_setting(section: String, key: String, value: Variant) -> Variant:
	return config.get_value(section, key, value)

Mouse →

extends MarginContainer

signal exit()

@export_category("Mouse Sensitivity")
@export var very_low_sens: float = 0.00025
@export var low_sens: float = 0.0005
@export var medium_sens: float = 0.00075
@export var high_sens: float = 0.001
@export var very_high_sens: float = 0.00125
var _sensitivity_values: Array[float]



func focus() -> void:
	button.grab_focus()

func _ready() -> void:

	_sensitivity_values = [very_low_sens, low_sens, medium_sens, high_sens, very_high_sens]

	var saved_sens_index: int = SavingSytem.get_setting("mouse", "sensitivity_index", 2)
	sensitivity_dropdown.select(saved_sens_index)
	_apply_sensitivity(saved_sens_index)

#signal part
func _on_option_button_item_selected(index: int) -> void:
	_apply_sensitivity(index)
	SavingSytem.set_setting("mouse", "sensitivity_index", index)

# function to apply sensitivity for index 
func _apply_sensitivity(index: int) -> void:
	if _player:
		_player.mouse_sensitivity = _sensitivity_values[index]
	
# when return back to level it will be applied already to player 
func update_player(player_in: Player) -> void:
	_player = player_in
	_apply_sensitivity(sensitivity_dropdown.selected)