Skip to main content

Playerprofile

Based on game build 714014 | Last updated: 2026-03-10

Overview

The playerprofile component stores and manages the entire persistent profile state for a player, including unlocked world generation areas, customization presets, skin ownership, clothing preferences, UI settings (HUD, volume, bloom, sensitivity), input controls, popup visibility flags, mod preferences, and platform-specific settings. It acts as the central authority for data that survives across sessions, using JSON-based persistence with optional cloud saves, and supports both settings-file and profile-file configuration depending on runtime flags like USE_SETTINGS_FILE.

Usage example

-- Load profile data
TheWorld:PushEvent("ms_loadprofile", { callback = function() end })
PlayerProfile:Load(function()
-- Set and persist a skin preference
PlayerProfile:SetSkinsForCharacter("wilson", { base = "wilson_beard2" })

-- Check if a worldgen area is unlocked
if PlayerProfile:IsWorldGenUnlocked("forest", "bee") then
-- Unlock more content
PlayerProfile:UnlockWorldGen("cave", "bluemushroom")
end

-- Get and apply audio settings
local ambient, sfx, music = PlayerProfile:GetVolume()
TheSim:SetSetting("ambient_volume", ambient)
TheSim:SetSetting("sfx_volume", sfx)
TheSim:SetSetting("music_volume", music)
end)

Dependencies & tags

Components used: None identified
Tags: None identified

Properties

PropertyTypeDefault ValueDescription
persistdatatableGenerated default setHolds all persistent data loaded from disk or created on first run
dirtybooleantrue after initIndicates unsaved changes requiring a save operation

Main functions

Reset()

  • Description: Resets all persistent profile data (unlocked worldgen, popup flags, customization presets, skins, mod settings, etc.) to default values. Does not save if USE_SETTINGS_FILE is true (system-managed settings are left intact). Marks profile as dirty and triggers a save.
  • Parameters: None
  • Returns: None

SoftReset()

  • Description: Performs the same data reset as Reset() but skips saving to disk and instead encodes persistdata as JSON and passes it to Set(). Useful for reinitializing in-memory state without write I/O.
  • Parameters: None
  • Returns: None

GetSkins()

  • Description: Returns a flat array of all owned skins for all prefabs by aggregating skin data from PREFAB_SKINS. Always includes "prefab_none" for each prefab.
  • Parameters: None
  • Returns: Array of skin strings (e.g., "wilson_none", "woodie_beard2")

GetSkinsForPrefab(prefab)

  • Description: Returns a list of owned skins for a given prefab. Always includes "prefab_none", and filters out "backpack_mushy" if owned. Uses TheInventory:CheckOwnership.
  • Parameters: prefab (string) — prefab name
  • Returns: Array of owned skin strings for the prefab

GetClothingOptionsForType(type)

  • Description: Returns a list of owned clothing items of a given type (e.g., "armor", "hat"). Always includes "" to represent "no clothing".
  • Parameters: type (string) — clothing type
  • Returns: Array of owned clothing item names

GetLastSelectedCharacter()

  • Description: Returns the last selected official character. Falls back to the first entry in DST_CHARACTERLIST, then "wilson".
  • Parameters: None
  • Returns: String character name

SetLastSelectedCharacter(character)

  • Description: Records the given character as the last selected character, but only if it exists in DST_CHARACTERLIST.
  • Parameters: character (string) — character prefab name
  • Returns: None

GetSkinPresetForCharacter(character, preset_index)

  • Description: Returns a shallow copy of the skin preset for a character at a given preset index. Returns empty table {} if none exists.
  • Parameters:
    character (string) — character name
    preset_index (number) — preset index
  • Returns: Table of skin data or {}

SetSkinPresetForCharacter(character, preset_index, skin_list)

  • Description: Sets a skin preset for a character at a given index and saves the profile.
  • Parameters:
    character (string)
    preset_index (number)
    skin_list (table) — skin data
  • Returns: None

GetSkinsForCharacter(character)

  • Description: Returns a shallow copy of the skin list for a character, including a "base" key. Migrates legacy "characterskins" data and strips empty strings.
  • Parameters: character (string)
  • Returns: Table with skin data (including "base" key) or fallback { base = "character_none" }

SetSkinsForCharacter(character, skinList)

  • Description: Sets the skin list for a character and saves the profile.
  • Parameters:
    character (string)
    skinList (table) — skin data
  • Returns: None

SetCustomizationItemState(customization_type, item_key, is_active)

  • Description: Sets whether a customization item (by type and key) is active. Updates last_item_key if is_active is true.
  • Parameters:
    customization_type (string)
    item_key (string/number)
    is_active (boolean)
  • Returns: None

GetCustomizationItemState(customization_type, item_key)

  • Description: Returns whether the item is active for the given type and key.
  • Parameters:
    customization_type (string)
    item_key (string/number)
  • Returns: Boolean or nil if not found

GetCustomizationItemsForType(customization_type)

  • Description: Returns a shallow copy of all stored items for the type, excluding "last_item_key".
  • Parameters: customization_type (string)
  • Returns: Table of { item_key → boolean } or {} if missing

GetStoredCustomizationItemTypes()

  • Description: Returns a list of all stored customization types.
  • Parameters: None
  • Returns: Array of type names (strings) or {}

SetItemSortMode(sort_mode)

  • Description: Sets the item explorer sort mode (e.g., "name", "rarity").
  • Parameters: sort_mode — any serializable value
  • Returns: None

GetItemSortMode()

  • Description: Returns the stored item explorer sort mode.
  • Parameters: None
  • Returns: Value stored or nil

SetServerSortMode(sort_mode)

  • Description: Sets the save explorer sort mode.
  • Parameters: sort_mode — any value
  • Returns: None

GetServerSortMode()

  • Description: Returns the stored save explorer sort mode.
  • Parameters: None
  • Returns: Value or nil

SetCustomizationFilterState(customize_screen, customize_filter, filter_state)

  • Description: Stores a filter state (e.g., "show"/"hide") for a screen/filter pair.
  • Parameters:
    customize_screen (string)
    customize_filter (string)
    filter_state (any)
  • Returns: None

GetCustomizationFilterState(customize_screen, customize_filter)

  • Description: Returns the stored filter state for the given screen/filter pair.
  • Parameters:
    customize_screen (string)
    customize_filter (string)
  • Returns: Stored value or nil

SetCollectionTimestamp(time)

  • Description: Sets the timestamp when the collection was last modified.
  • Parameters: time (number)
  • Returns: None

GetCollectionTimestamp()

  • Description: Returns the collection timestamp, defaulting to -10000 if unset.
  • Parameters: None
  • Returns: Number

SetShopHash(_hash)

  • Description: Stores a hash for the purchase screen (likely used for cache invalidation).
  • Parameters: _hash (any)
  • Returns: None

GetShopHash()

  • Description: Returns the shop hash, defaulting to 0.
  • Parameters: None
  • Returns: Number

SetRecipeTimestamp(recipe, time)

  • Description: Records the last time a recipe was crafted/unlocked.
  • Parameters:
    recipe (string)
    time (number) — timestamp
  • Returns: None

GetRecipeTimestamp(recipe)

  • Description: Returns the stored timestamp for a recipe, defaulting to -10000.
  • Parameters: recipe (string)
  • Returns: Number

GetLastUsedSkinForItem(item)

  • Description: Returns the last used skin for a given item.
  • Parameters: item (string)
  • Returns: Skin name (string) or nil

SetLastUsedSkinForItem(item, skin)

  • Description: Records the skin last used for an item.
  • Parameters:
    item (string)
    skin (string)
  • Returns: None

SetCollectionName(name)

  • Description: Sets the player's collection name.
  • Parameters: name (string)
  • Returns: None

GetCollectionName()

  • Description: Returns the collection name, or nil if unset.
  • Parameters: None
  • Returns: String or nil

SetModFavorited(modname, favorite)

  • Description: Sets whether a mod is favorited. Removes the entry if favorite is falsy.
  • Parameters:
    modname (string)
    favorite (boolean)
  • Returns: None

IsModFavorited(modname)

  • Description: Returns whether the mod is favorited.
  • Parameters: modname (string)
  • Returns: Boolean (defaults to false)

SetValue(name, value)

  • Description: Sets a top-level persistdata value. Marks dirty only if changed.
  • Parameters:
    name (string) — key
    value (any)
  • Returns: None

GetValue(name)

  • Description: Returns the value for the key, or nil.
  • Parameters: name (string)
  • Returns: Stored value or nil

SetVolume(ambient, sfx, music)

  • Description: Sets audio volumes. Delegates to TheSim:SetSetting if USE_SETTINGS_FILE, otherwise stores in persistdata.
  • Parameters:
    ambient, sfx, music (numbers)
  • Returns: None

SetMuteOnFocusLost(value)

  • Description: Sets whether audio mutes on focus loss.
  • Parameters: value (boolean)
  • Returns: None

SetScreenFlash(value)

  • Description: Sets screen flash intensity.
  • Parameters: value (number)
  • Returns: None

GetScreenFlash()

  • Description: Gets screen flash intensity.
  • Parameters: None
  • Returns: Number (default 1)

SetBloomEnabled(enabled)

  • Description: Enables/disables bloom effect.
  • Parameters: enabled (boolean)
  • Returns: None

GetBloomEnabled()

  • Description: Gets bloom status.
  • Parameters: None
  • Returns: Boolean

SetHUDSize(size)

  • Description: Sets HUD size. Delegates appropriately.
  • Parameters: size (number)
  • Returns: None

GetHUDSize()

  • Description: Gets HUD size.
  • Parameters: None
  • Returns: Number (default 5)

SetCraftingMenuSize(size)

  • Description: Sets crafting menu size. Delegates appropriately.
  • Parameters: size (number)
  • Returns: None

GetCraftingMenuSize()

  • Description: Gets crafting menu size.
  • Parameters: None
  • Returns: Number (default 5)

SetCraftingMenuNumPinPages(size)

  • Description: Sets number of pinned crafting pages.
  • Parameters: size (number)
  • Returns: None

GetCraftingNumPinnedPages()

  • Description: Gets number of pinned pages.
  • Parameters: None
  • Returns: Number (default 3)

GetScrapbookHudDisplay()

  • Description: Gets scrapbook HUD display setting.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetScrapbookHudDisplay(enabled)

  • Description: Sets scrapbook HUD display.
  • Parameters: enabled (boolean)
  • Returns: None

GetPOIDisplay()

  • Description: Gets POI display setting.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetPOIDisplay(enabled)

  • Description: Sets POI display.
  • Parameters: enabled (boolean)
  • Returns: None

GetScrapbookColumnsSetting()

  • Description: Gets scrapbook column count.
  • Parameters: None
  • Returns: Number (default 3)

SetScrapbookColumnsSetting(setting)

  • Description: Sets scrapbook column count.
  • Parameters: setting (number)
  • Returns: None

SetCraftingMenuSensitivity(sensitivity)

  • Description: Sets crafting menu sensitivity.
  • Parameters: sensitivity (number)
  • Returns: None

GetCraftingMenuSensitivity()

  • Description: Gets crafting menu sensitivity.
  • Parameters: None
  • Returns: Number (default 12)

SetInventorySensitivity(sensitivity)

  • Description: Sets inventory sensitivity.
  • Parameters: sensitivity (number)
  • Returns: None

GetInventorySensitivity()

  • Description: Gets inventory sensitivity.
  • Parameters: None
  • Returns: Number (default 16)

SetMiniMapZoomSensitivity(sensitivity)

  • Description: Sets minimap zoom sensitivity.
  • Parameters: sensitivity (number)
  • Returns: None

GetMiniMapZoomSensitivity()

  • Description: Gets minimap zoom sensitivity.
  • Parameters: None
  • Returns: Number (default 15)

GetBoatHopDelay()

  • Description: Gets boat hop delay.
  • Parameters: None
  • Returns: Number (default 8)

SetBoatHopDelay(delay)

  • Description: Sets boat hop delay and syncs to client if ThePlayer exists.
  • Parameters: delay (number)
  • Returns: None

SetDistortionEnabled(enabled)

  • Description: Enables/disables distortion effect.
  • Parameters: enabled (boolean)
  • Returns: None

GetDistortionEnabled()

  • Description: Gets distortion status.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetDistortionModifier(modifier)

  • Description: Sets distortion modifier.
  • Parameters: modifier (number)
  • Returns: None

GetDistortionModifier()

  • Description: Gets distortion modifier.
  • Parameters: None
  • Returns: Number (default 0.75)

SetScreenShakeEnabled(enabled)

  • Description: Sets screen shake.
  • Parameters: enabled (boolean)
  • Returns: None

IsScreenShakeEnabled()

  • Description: Gets screen shake status.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetWathgrithrFontEnabled(enabled)

  • Description: Sets Wathgrithr font.
  • Parameters: enabled (boolean)
  • Returns: None

IsWathgrithrFontEnabled()

  • Description: Gets Wathgrithr font status.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetInvertCameraRotation(enabled)

  • Description: Sets camera rotation inversion.
  • Parameters: enabled (boolean)
  • Returns: None

GetInvertCameraRotation()

  • Description: Gets camera rotation inversion.
  • Parameters: None
  • Returns: Boolean (default false)

SetBoatCameraEnabled(enabled)

  • Description: Sets boat camera toggle.
  • Parameters: enabled (boolean)
  • Returns: None

IsBoatCameraEnabled()

  • Description: Gets boat camera toggle.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetCampfireStoryCameraEnabled(enabled)

  • Description: Sets campfire story camera toggle.
  • Parameters: enabled (boolean)
  • Returns: None

IsCampfireStoryCameraEnabled()

  • Description: Gets campfire story camera toggle.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetMinimapZoomCursorEnabled(enabled)

  • Description: Sets whether minimap zoom follows cursor.
  • Parameters: enabled (boolean)
  • Returns: None

IsMinimapZoomCursorFollowing()

  • Description: Gets minimap zoom cursor follow status.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetHaveWarnedDifficultyRoG()

  • Description: Marks the difficulty RoG warning as shown.
  • Parameters: None
  • Returns: None

HaveWarnedDifficultyRoG()

  • Description: Gets whether difficulty RoG warning has been shown.
  • Parameters: None
  • Returns: Boolean

SetVibrationEnabled(enabled)

  • Description: Sets controller vibration.
  • Parameters: enabled (boolean)
  • Returns: None

GetVibrationEnabled()

  • Description: Gets vibration setting.
  • Parameters: None
  • Returns: Boolean

SetShowPasswordEnabled(enabled)

  • Description: Sets whether password is shown in UI.
  • Parameters: enabled (boolean)
  • Returns: None

GetShowPasswordEnabled()

  • Description: Gets show password setting.
  • Parameters: None
  • Returns: Boolean

SetMovementPredictionEnabled(enabled)

  • Description: Sets movement prediction (client-side).
  • Parameters: enabled (boolean)
  • Returns: None

SetTextureStreamingEnabled(enabled)

  • Description: Sets texture streaming.
  • Parameters: enabled (boolean)
  • Returns: None

SetThreadedRenderEnabled(enabled)

  • Description: Sets threaded renderer.
  • Parameters: enabled (boolean)
  • Returns: None

SetDynamicTreeShadowsEnabled(enabled)

  • Description: Sets dynamic tree shadows.
  • Parameters: enabled (boolean)
  • Returns: None

SetAutopauseEnabled(enabled)

  • Description: Sets autopause (pause on alt-tab).
  • Parameters: enabled (boolean)
  • Returns: None

SetConsoleAutopauseEnabled(enabled)

  • Description: Sets console-specific autopause.
  • Parameters: enabled (boolean)
  • Returns: None

SetCraftingAutopauseEnabled(enabled)

  • Description: Sets crafting menu-specific autopause.
  • Parameters: enabled (boolean)
  • Returns: None

GetCraftingAutopauseEnabled()

  • Description: Gets crafting menu autopause.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetCraftingMenuBufferedBuildAutoClose(enabled)

  • Description: Sets buffered build auto-close in crafting menu.
  • Parameters: enabled (boolean)
  • Returns: None

GetCraftingMenuBufferedBuildAutoClose()

  • Description: Gets buffered build auto-close.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetCraftingHintAllRecipesEnabled(enabled)

  • Description: Sets crafting hint for all recipes.
  • Parameters: enabled (boolean)
  • Returns: None

GetCraftingHintAllRecipesEnabled()

  • Description: Gets crafting hint setting.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetLoadingTipsOption(setting)

  • Description: Sets loading tips setting.
  • Parameters: setting (number) — see LOADING_SCREEN_TIP_OPTIONS
  • Returns: None

SetDefaultCloudSaves(enabled)

  • Description: Sets default cloud saves option.
  • Parameters: enabled (boolean)
  • Returns: None

SetUseZipFileForNormalSaves(enabled)

  • Description: Sets whether normal saves use ZIP files.
  • Parameters: enabled (boolean)
  • Returns: None

SetHidePauseUnderlay(hide)

  • Description: Sets whether to hide the pause underlay.
  • Parameters: hide (boolean)
  • Returns: None

GetMovementPredictionEnabled()

  • Description: Gets movement prediction status.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetProfanityFilterServerNamesEanbled(enabled)

  • Description: Sets profanity filter for server names.
  • Parameters: enabled (boolean)
  • Returns: None

GetProfanityFilterServerNamesEnabled()

  • Description: Gets server name profanity filter.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetProfanityFilterChatEanbled(enabled)

  • Description: Sets profanity filter for chat.
  • Parameters: enabled (boolean)
  • Returns: None

GetProfanityFilterChatEnabled()

  • Description: Gets chat profanity filter.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetTargetLockingEnabled(enabled)

  • Description: Sets target locking.
  • Parameters: enabled (boolean)
  • Returns: None

GetTargetLockingEnabled()

  • Description: Gets target locking.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetAutoSubscribeModsEnabled(enabled)

  • Description: Sets auto-subscribe to mods.
  • Parameters: enabled (boolean)
  • Returns: None

GetAutoSubscribeModsEnabled()

  • Description: Gets auto-subscribe mods.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetAutoLoginEnabled(enabled)

  • Description: Sets auto-login.
  • Parameters: enabled (boolean)
  • Returns: None

GetAutoLoginEnabled()

  • Description: Gets auto-login.
  • Parameters: None
  • Returns: Boolean (defaults to true)

GetAxisAlignedPlacement()

  • Description: Gets axis-aligned placement mode.
  • Parameters: None
  • Returns: Boolean

SetAxisAlignedPlacement(enabled)

  • Description: Sets axis-aligned placement.
  • Parameters: enabled (boolean)
  • Returns: None

GetAxisAlignedPlacementIntervals()

  • Description: Gets axis-aligned placement intervals.
  • Parameters: None
  • Returns: Number (default 1)

SetAxisAlignedPlacementIntervals(intervals)

  • Description: Sets intervals and calls UpdateAxisAlignmentValues.
  • Parameters: intervals (number)
  • Returns: None

SetNPCChatLevel(level)

  • Description: Sets NPC chat level.
  • Parameters: level (number)
  • Returns: None

GetNPCChatLevel()

  • Description: Gets NPC chat level.
  • Parameters: None
  • Returns: Number (defaults to CHATPRIORITIES.LOW)

GetNPCChatEnabled()

  • Description: Gets whether NPC chat is enabled (level > 0).
  • Parameters: None
  • Returns: Boolean

SetAnimatedHeadsEnabled(enabled)

  • Description: Sets animated heads.
  • Parameters: enabled (boolean)
  • Returns: None

GetAnimatedHeadsEnabled()

  • Description: Gets animated heads.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetAutoCavesEnabled(enabled)

  • Description: Sets auto caves entry.
  • Parameters: enabled (boolean)
  • Returns: None

GetAutoCavesEnabled()

  • Description: Gets auto caves.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetCavesStateRemembered()

  • Description: Marks that caves state was remembered.
  • Parameters: None
  • Returns: None

GetCavesStateRemembered()

  • Description: Gets caves state remembered flag.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetModsWarning(enabled)

  • Description: Sets mod warning popup visibility.
  • Parameters: enabled (boolean)
  • Returns: None

GetModsWarning()

  • Description: Gets mod warning.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetPresetMode(mode)

  • Description: Sets preset mode (e.g., "combined", "worldgen", "custom").
  • Parameters: mode (string)
  • Returns: None

GetPresetMode()

  • Description: Gets preset mode.
  • Parameters: None
  • Returns: String (defaults to "combined")

SetIntegratedBackpack(enabled)

  • Description: Sets integrated backpack mode.
  • Parameters: enabled (boolean)
  • Returns: None

GetIntegratedBackpack()

  • Description: Gets integrated backpack.
  • Parameters: None
  • Returns: Boolean (defaults to false)

GetTextureStreamingEnabled()

  • Description: Gets texture streaming setting.
  • Parameters: None
  • Returns: Boolean

GetThreadedRenderEnabled()

  • Description: Gets threaded renderer setting.
  • Parameters: None
  • Returns: Boolean

GetDynamicTreeShadowsEnabled()

  • Description: Gets dynamic tree shadows.
  • Parameters: None
  • Returns: Boolean (defaults to true)

GetAutopauseEnabled()

  • Description: Gets autopause.
  • Parameters: None
  • Returns: Boolean (defaults to true)

GetConsoleAutopauseEnabled()

  • Description: Gets console autopause.
  • Parameters: None
  • Returns: Boolean (defaults to true)

GetLoadingTipsOption()

  • Description: Gets loading tips option. Returns NONE on dedicated server.
  • Parameters: None
  • Returns: Number

GetUseZipFileForNormalSaves()

  • Description: Gets ZIP saves flag.
  • Parameters: None
  • Returns: Boolean

GetDefaultCloudSaves()

  • Description: Gets default cloud saves flag.
  • Parameters: None
  • Returns: Boolean

GetHidePauseUnderlay()

  • Description: Gets hide pause underlay flag.
  • Parameters: None
  • Returns: Boolean

GetConsoleAutocompleteMode()

  • Description: Gets console autocomplete mode.
  • Parameters: None
  • Returns: String (defaults to "enter_tab")

GetChatAutocompleteMode()

  • Description: Gets chat autocomplete mode.
  • Parameters: None
  • Returns: String (defaults to "enter_tab")

GetWorldCustomizationPresets()

  • Description: Decodes and returns stored world customization presets from JSON.
  • Parameters: None
  • Returns: Array of preset tables or {} on decode failure

AddWorldCustomizationPreset(preset, index)

  • Description: Adds or updates a preset in the stored list.
  • Parameters:
    preset (table)
    index (number?, optional) — insertion index
  • Returns: None

GetSavedFilters()

  • Description: Decodes and returns stored server filters.
  • Parameters: None
  • Returns: Array of filter tables or {}

SetFilters(filters)

  • Description: Stores server filters (JSON-encoded).
  • Parameters: filters (array)
  • Returns: None

SaveFilters(filters)

  • Description: DEPRECATED. Calls SetFilters + Save.
  • Parameters: filters (array)
  • Returns: None

GetSavedWorldProgressionFilters()

  • Description: Decodes and returns stored world progression filters.
  • Parameters: None
  • Returns: Array or {}

SetWorldProgressionFilters(filters)

  • Description: Stores world progression filters.
  • Parameters: filters (array)
  • Returns: None

GetVolume()

  • Description: Gets audio volumes. Delegates to TheSim:GetSetting if USE_SETTINGS_FILE, otherwise from persistdata.
  • Parameters: None
  • Returns: Three numbers (ambient, sfx, music)

GetMuteOnFocusLost()

  • Description: Gets mute-on-focus-lost flag.
  • Parameters: None
  • Returns: Boolean

SetRenderQuality(quality)

  • Description: Sets render quality (e.g., RENDER_QUALITY.DEFAULT).
  • Parameters: quality (enum/value)
  • Returns: None

GetRenderQuality()

  • Description: Gets render quality.
  • Parameters: None
  • Returns: Value

GetInstallID()

  • Description: Returns a unique install ID (timestamp at install time).
  • Parameters: None
  • Returns: Number

GetPlayInstance()

  • Description: Returns and increments the play instance count.
  • Parameters: None
  • Returns: Number

IsWorldGenUnlocked(area, item)

  • Description: Checks if a worldgen area/item is unlocked ([area][item] == true).
  • Parameters:
    area (string)
    item (string?, optional)
  • Returns: Boolean

UnlockWorldGen(area, item)

  • Description: Marks an area/item combination as unlocked.
  • Parameters:
    area (string)
    item (string)
  • Returns: None

GetUnlockedWorldGen()

  • Description: Returns the full unlocked_worldgen table.
  • Parameters: None
  • Returns: Nested table

GetSaveName()

  • Description: Returns the save filename ("profile" or "profile_branch").
  • Parameters: None
  • Returns: String

Save(callback)

  • Description: Saves persistdata as JSON to persistent storage if dirty. Calls callback if provided.
  • Parameters: callback (function?, optional)
  • Returns: None

Load(callback, minimal_load)

  • Description: Loads persistent string and delegates to Set.
  • Parameters:
    callback (function?, optional)
    minimal_load (boolean?, optional)
  • Returns: None

Set(str, callback, minimal_load)

  • Description: Parses JSON string into persistdata, performs legacy migrations and defaults, applies settings, and calls callback.
  • Parameters:
    str (string) — JSON string
    callback (function?, optional)
    minimal_load (boolean?, optional)
  • Returns: None

SetDirty(dirty)

  • Description: Sets the dirty flag directly.
  • Parameters: dirty (boolean)
  • Returns: None

GetControls(guid)

  • Description: Retrieves controls data and enabled state for a given device GUID.
  • Parameters: guid (string)
  • Returns: Two values: controls (table), enabled (boolean)

SetControls(guid, data, enabled)

  • Description: Updates or adds control data for a device GUID.
  • Parameters:
    guid (string)
    data (table)
    enabled (boolean)
  • Returns: None

SetControlScheme(id, value)

  • Description: Sets a control scheme entry.
  • Parameters:
    id (string/key)
    value (any)
  • Returns: None

GetControlScheme(id)

  • Description: Gets a control scheme entry.
  • Parameters: id (string/key)
  • Returns: Value or nil

SawDisplayAdjustmentPopup()

  • Description: Returns whether display adjustment popup was seen.
  • Parameters: None
  • Returns: Boolean

ShowedDisplayAdjustmentPopup()

  • Description: Marks display adjustment popup as shown.
  • Parameters: None
  • Returns: None

SawControllerPopup()

  • Description: Returns whether controller popup was seen.
  • Parameters: None
  • Returns: Boolean

ShowedControllerPopup()

  • Description: Marks controller popup as shown.
  • Parameters: None
  • Returns: None

ShouldWarnModsEnabled()

  • Description: Returns whether to show mods-enabled warning.
  • Parameters: None
  • Returns: Boolean (defaults to true)

SetWarnModsEnabled(do_warning)

  • Description: Sets the mods-enabled warning flag.
  • Parameters: do_warning (boolean)
  • Returns: None

IsEntitlementReceived(entitlement)

  • Description: Checks if a specific entitlement has been received (keys include branch/user ID).
  • Parameters: entitlement (string)
  • Returns: Boolean

SetEntitlementReceived(entitlement)

  • Description: Marks an entitlement as received and saves the profile.
  • Parameters: entitlement (string)
  • Returns: None

SawNewUserPopup()

  • Description: Returns whether new user popup was seen.
  • Parameters: None
  • Returns: Boolean

ShowedNewUserPopup()

  • Description: Marks new user popup as shown (idempotent).
  • Parameters: None
  • Returns: None

SawControlSchemePopup()

  • Description: Returns whether control scheme popup was seen.
  • Parameters: None
  • Returns: Boolean

ShowedControlSchemePopup()

  • Description: Marks control scheme popup as shown (idempotent).
  • Parameters: None
  • Returns: None

SawNewHostPicker()

  • Description: Returns whether new host picker was seen.
  • Parameters: None
  • Returns: Boolean

ShowedNewHostPicker()

  • Description: Marks host picker as shown (idempotent).
  • Parameters: None
  • Returns: None

SaveKlumpCipher(file, cipher)

  • Description: Saves a cipher for a klump file (ignored on consoles).
  • Parameters:
    file (string)
    cipher (string)
  • Returns: None

GetKlumpCipher(file)

  • Description: Gets a cipher for a klump file (errors on console).
  • Parameters: file (string)
  • Returns: String cipher or nil

GetRedbirdGameHighScore(score_version)

  • Description: Gets high score for Redbird game.
  • Parameters: score_version (string) — suffix (e.g., season/difficulty)
  • Returns: Number (default 0)

SetRedbirdGameHighScore(score, score_version)

  • Description: Sets Redbird game high score and saves.
  • Parameters:
    score (number)
    score_version (string)
  • Returns: None

GetSnowbirdGameHighScore(score_version)

  • Description: Gets high score for Snowbird game.
  • Parameters: score_version (string)
  • Returns: Number (default 0)

SetSnowbirdGameHighScore(score, score_version)

  • Description: Sets Snowbird game high score and saves.
  • Parameters:
    score (number)
    score_version (string)
  • Returns: None

GetCrowGameHighScore(score_version)

  • Description: Gets high score for Crow game.
  • Parameters: score_version (string)
  • Returns: Number (default 0)

SetCrowGameHighScore(score, score_version)

  • Description: Sets the high score for a specific Crow Game variant and saves the profile.
  • Parameters:
    score (number)
    score_version (string) — suffix
  • Returns: nil

GetKitSize()

  • Description: Returns the stored kit size (custom build dimensions), or 0.
  • Parameters: None
  • Returns: Number

SetKitSize(size)

  • Description: Stores the kit size and saves.
  • Parameters: size (number)
  • Returns: None

GetKitBuild()

  • Description: Returns the stored kit build string, or empty string.
  • Parameters: None
  • Returns: String

SetKitBuild(build)

  • Description: Stores the kit build string and saves.
  • Parameters: build (string)
  • Returns: None

GetKitLastTime()

  • Description: Returns the last time the kit was used (timestamp), or 0.
  • Parameters: None
  • Returns: Number

SetKitLastTime(last_time)

  • Description: Stores the kit last usage time and saves.
  • Parameters: last_time (number)
  • Returns: None

GetKitHunger()

  • Description: Returns the kit’s hunger value, or 0.
  • Parameters: None
  • Returns: Number

SetKitHunger(hunger)

  • Description: Stores the kit’s hunger value and saves.
  • Parameters: hunger (number)
  • Returns: None

GetKitHappiness()

  • Description: Returns the kit’s happiness value, or 0.
  • Parameters: None
  • Returns: Number

SetKitHappiness(happiness)

  • Description: Stores the kit’s happiness value and saves.
  • Parameters: happiness (number)
  • Returns: None

GetKitBirthTime()

  • Description: Returns the kit’s birth timestamp, or 0.
  • Parameters: None
  • Returns: Number

SetKitBirthTime(birth_time)

  • Description: Stores the kit’s birth timestamp and saves.
  • Parameters: birth_time (number)
  • Returns: None

GetKitName()

  • Description: Returns the kit’s name, or empty string.
  • Parameters: None
  • Returns: String

SetKitName(name)

  • Description: Stores the kit’s name and saves.
  • Parameters: name (string)
  • Returns: None

GetKitPoops()

  • Description: Returns the kit’s poops count, or 0.
  • Parameters: None
  • Returns: Number

SetKitPoops(poops)

  • Description: Stores the kit’s poops count and saves.
  • Parameters: poops (number)
  • Returns: None

GetKitAbandonedMessage()

  • Description: Returns whether the abandoned message was shown for the kit.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetKitAbandonedMessage(abandoned)

  • Description: Stores the abandoned message flag and saves.
  • Parameters: abandoned (boolean)
  • Returns: None

GetKitIsHibernating()

  • Description: Returns whether the kit is hibernating.
  • Parameters: None
  • Returns: Boolean (defaults to false)

SetKitIsHibernating(hibernating)

  • Description: Stores the hibernation state and saves.
  • Parameters: hibernating (boolean)
  • Returns: None

GetKitHibernationStart()

  • Description: Returns the hibernation start timestamp, or 0.
  • Parameters: None
  • Returns: Number

SetKitHibernationStart(time)

  • Description: Stores the hibernation start timestamp and saves.
  • Parameters: time (number)
  • Returns: None

GetLanguageID()

  • Description: Returns the user’s selected language ID. Falls back to system language (console) or LANGUAGE.ENGLISH.
  • Parameters: None
  • Returns: String (e.g., "ENGLISH")

SetLanguageID(language_id, cb)

  • Description: Sets the language ID, saves profile, and calls callback (if provided).
  • Parameters:
    language_id (string)
    cb (function?, optional)
  • Returns: None

GetWobyIsLocked()

  • Description: Returns true if Woby is locked (i.e., not unlocked yet). Uses inverted logic (woby_unlocked stores not locked).
  • Parameters: None
  • Returns: Boolean

SetWobyIsLocked(locked)

  • Description: Updates the Woby unlock status. Stores not locked as woby_unlocked.
  • Parameters: locked (boolean)
  • Returns: None

GetCommandWheelAllowsGameplay()

  • Description: Returns whether the command wheel is allowed during gameplay.
  • Parameters: None
  • Returns: Boolean (defaults to false if missing and using settings file)

SetCommandWheelAllowsGameplay(enabled)

  • Description: Sets the command wheel gameplay permission.
  • Parameters: enabled (boolean)
  • Returns: None

Events & listeners

  • Listens to: None identified
  • Pushes: None identified