Troubleshooting

The export does not exist

  • Confirm that the installed folder is named exactly jex_interactions.
  • Confirm that ensure jex_interactions appears before the calling resource.
  • Confirm that the export is called from a client script.
  • Check the FiveM client console for resource startup errors.

A prompt does not appear

  • Ensure label contains non-empty text.
  • Ensure the resource is started and the call is made client-side.
  • If many prompts are active, increase the prompt's priority or Config.MaxVisible.
  • If duration is used, confirm that it is long enough and is not limited by Config.MaxDuration.

A prompt remains visible

  • Call hide with the same ID used by show, from the same resource.
  • When using an automatically generated ID, pass the full handle returned by show.
  • For ox_lib, ensure every open call is paired with lib.hideTextUI() and that the compatibility block calls releaseTextUI().
  • For QBX, ensure the resource stops calling qbx.drawText3d after the player leaves the interaction area.

Both the custom HUD and the original UI appear

  • In the QBX bridge, confirm that the function returns when the compatibility export reports that it handled the prompt.
  • In the ox_lib bridge, confirm that the native TextUI is hidden when the prompt is accepted.
  • Restart the entire server after changing ox_lib or qbx_core.

A supported QBX prompt remains in 3D

  • Confirm Config.InterceptDrawText3D = true.
  • Confirm that jex_interactions starts before the resource using the QBX module.
  • Confirm that the text uses one of the supported E-key formats.
  • Restart the entire server so every consumer reloads the modified QBX module.

Configuration changes do not appear

  • Restart jex_interactions, or the whole server when an optional bridge was also changed.
  • Confirm that you edited the config.lua belonging to the running copy of the resource.