Troubleshooting
Solutions for common issues with oxide-carplay
Solutions for common issues with oxide-carplay.
Startup and Dependency Issues
Resource fails to start
Check startup order:
ensure ox_lib
ensure o-link
ensure xsound
ensure oxide-carplay
Confirm the manifest dependencies exist and are started before oxide-carplay.
o-link features are missing
This resource expects working o-link modules for:
- character lookup
- usable items
- inventory
- progress bar
- notifications
- weather/time
If CarPlay starts but item use, notifications, or map weather/time are missing, verify your o-link integration first.
Audio Issues
No sound at all
Checks:
- Verify
xsoundis started. - Confirm the pasted URL is a standard YouTube video URL.
- Check client
F8forxsoundor NUI errors. - Confirm the resource started after
xsound.
Audio is too quiet outside the car
Review:
Config.CarPlay.AudioRange = 12.0
Config.CarPlay.AudioRangeClosed = 2.0
Config.CarPlay.VolumeMultClosed = 0.15
Remember:
- closed vehicles intentionally sound muffled
- sound becomes louder and carries further when doors or windows are open
- speed also increases effective range
Music keeps playing after leaving a vehicle
Current behavior:
- local state is cleared when you switch vehicles
- on foot, playback remains until you move far enough away or the vehicle playback state ends
If cleanup seems stuck:
- Walk farther from the vehicle.
- Wait for the proximity scan to reconcile state.
- Restart
oxide-carplayif the state is clearly desynced.
Playback and URL Issues
YouTube URL does not play
Checks:
- Use a standard
youtube.com/watchoryoutu.beURL. - Enable
Config.Debug = trueand watch server output. - Confirm outbound HTTP requests are allowed from the server.
External lookups used by the resource:
noembed.compipedapi.kavin.rocksinv.nadeko.net
Playlist import fails
Checks:
- Confirm the URL includes a
list=parameter. - Verify the external playlist providers are reachable.
- Confirm the queue is not already full.
Queue stops advancing
Auto-advance depends on xsound end callbacks.
Checks:
- Make sure the queue still contains tracks.
- Check
F8for playback errors. - Restart the resource if a specific playback instance is stuck.
UI and Map Issues
CarPlay does not open
Checks:
- Confirm you are inside a vehicle.
- Confirm
Config.CarPlay.Enabled = true. - Check for keybind conflicts in FiveM settings.
- Verify the resource is actually running.
Mini-player does not appear
Checks:
- Make sure music is still playing when the main UI closes.
- Confirm
Config.CarPlay.MiniPlayer.Enabled = true. - Confirm the player's saved
miniPlayerEnabledsetting was not turned off in the Settings screen.
Settings are not persisting
Checks:
- Confirm
o-link.character.GetIdentifieris returning a character ID on your server. - Check server console for callback or KVP-related errors.
- Verify the player is using a valid character session before testing saved settings or playlists.
Map loads blank or incomplete
Checks:
- Confirm
ui_page 'web/dist/index.html'is present in the manifest. - Confirm the packaged
web/dist/map-tiles/images exist. - Check
F8for NUI errors. - Verify
o-linkweather/time modules are working if labels are missing.
Sync Issues
Passengers do not hear the same track
Checks:
- Verify
xsoundis working on all clients. - Confirm the vehicle has an
oxide:carplaystatebag while music is playing. - Wait for the proximity scan to resync nearby clients.
- Check for client errors on both driver and passenger.
Repeat mode or queue state seems inconsistent
Repeat mode and queue are stored in the vehicle statebag. If clients disagree:
- Have all occupants leave and re-enter the vehicle.
- Restart playback from the controlling client.
- Restart the resource if the statebag is clearly stuck.
Jailbreak Issues
USB item does nothing
Checks:
- Confirm
Config.Jailbreak.Enabled = true. - Confirm the item name matches
Config.Jailbreak.RequiredItem. - Verify your
o-linkusable-item registration is working. - Confirm the player is seated in a vehicle.
Progress bar does not open
Checks:
- Verify the
o-linkprogress bar module is installed and working. - Check for client errors during item use.
- Confirm the animation dictionary can load.
Item is not removed on success
Checks:
- Confirm
Config.Jailbreak.RemoveItem = true. - Verify the
o-linkinventory module supportsHasItemandRemoveItemfor your current setup. - Confirm the player still has the item at result time.
Success or failure notification does not show
Notifications are sent through olink.notify.Send.
If they are missing:
- Verify the
o-linknotify module is configured. - Test another resource that uses the same notify path.
Weather/time or POIs are missing on the map after jailbreak
Checks:
- Confirm the vehicle was actually marked jailbroken.
- Confirm
Config.Jailbreak.POIscontains valid coordinates. - Remember the default POIs in config are placeholders intended to be replaced.
Performance Tuning
If you need lower client overhead, review:
Config.CarPlay.PositionUpdateInterval = 150
Config.CarPlay.ProximityScanInterval = 2000
Config.CarPlay.MapUpdateInterval = 500
Higher intervals reduce update frequency and can lower CPU use at the cost of responsiveness.
You can also reduce:
Config.CarPlay.AudioRange = 12.0
Lower audio range means fewer nearby playback instances need to stay active.
Debug Mode
Enable debug output:
Config.Debug = true
Current debug prefix:
[oxide-carplay]
Use this when validating:
- startup flow
- metadata lookups
- playlist persistence
- playback sync
- jailbreak behavior
Getting Help
If issues persist:
- Enable
Config.Debug. - Collect server console output during the issue.
- Check client
F8output for NUI or playback errors. - Verify
xsoundis working. - Verify the required
o-linkmodules are functioning for your server. - Test with a reduced resource set to isolate conflicts.
Support
Need more help?
- Discord: https://discord.gg/dZ6q8FyGhm
- Website: https://www.oxidestudios.dev/
- o-link (required abstraction layer): https://github.com/WHEREISDAN/o-link