Skip to content

Troubleshooting

89pleasure edited this page Jul 18, 2026 · 4 revisions

Troubleshooting

PleasureLib is required but could not be loaded

Check all of the following:

  • The folder is exactly Mods/PleasureLib, not Mods/PleasureLib/PleasureLib.
  • Mods/PleasureLib/Scripts/pleasure_lib.lua exists.
  • Mods/PleasureLib/Scripts/pleasure_lib_settings.lua exists.
  • The consuming mod's loader is next to its main.lua.
  • The loader fallback path has not been changed.
  • UE4SS can run other Lua mods successfully.

Use the full Recommended Loader rather than depending only on require("pleasure_lib").

No [PleasureLib] loaded line appears

Verify that enabled.txt exists in the PleasureLib folder. Optionally add PleasureLib : 1 to Mods/mods.txt while diagnosing the installation.

An object lookup returns nil

find_object only finds objects that are available to StaticFindObject at that time. The path may be wrong or the asset may not be loaded yet.

  • Turn on runtime debug logging.
  • Retry after the relevant menu, level, or asset has loaded.
  • Use delay_game_thread for a known lifecycle delay.
  • Use capture_new_objects to discover objects created by a specific action.

A delayed callback never runs

Check the boolean return value from delay or delay_game_thread. A false return means the required UE4SS scheduling helper was unavailable or the callback was invalid.

A hook does not run

  • Check the return value from register_hook.
  • Confirm the exact Unreal function path.
  • For a true native post-hook, pass the callback as the third argument.
  • Inspect the UE4SS log for PleasureLib's registration error.

A native setting does not appear

  • Confirm id, get, and set are present.
  • Use a globally unique ID such as MyMod.SettingName.
  • Check the UE4SS log for registration or widget creation errors.
  • Open Settings -> Mods; PleasureLib exposes a dedicated native Mods page.
  • Keep get() and set(value) protected from mod-specific initialization order problems.
  • For Int and Float settings, ensure maximum is greater than minimum.
  • For Float settings, ensure step is greater than zero.
  • For Enum settings, provide a non-empty values list and use widget = "spinner" or widget = "dropdown".

An INI key is missing after parsing

parse_ini converts keys to uppercase. Read ini.ENABLED, not ini.Enabled. The parser intentionally ignores section headers and does not create nested tables.

Reporting a problem

Open an issue with:

  • PleasureLib version
  • UE4SS version
  • Relevant UE4SS log lines
  • Minimal code that reproduces the problem
  • The object or hook path, when applicable

Clone this wiki locally