First, identify what has stopped
If NFS Underground 2 is not working in your browser, keep the exact error message and identify the stage: the project website, the game module, graphics initialization, a loading screen, or a running game. A reachable website does not prove that its game service is healthy, and an available WebGPU API does not prove that the browser obtained a usable graphics adapter.
This checklist concerns the PC browser recompiler documented by nfsu2-web. A GBA or NDS emulator may need different fixes. Check the version and launch guide if you are unsure which one you opened.
Before changing anything destructive, protect progress. Do not start with “clear all site data.” The project documents local browser saves, so that action may remove the very progress you are trying to recover. Export a backup through the project’s Saves area when possible.
1. The game is stuck loading
Check whether the page names a missing game module, unavailable data, or a network problem. The project’s guide explains that code and game data come from the selected server; a loading screen can be waiting for data even after the start page opened successfully.
Try a stable connection, keep the tab in front, and allow a first load to finish. Avoid starting several copies in parallel. If the project’s Retry button is available, use it once and observe the new result. A server-side missing module is a host problem; repeatedly changing your display resolution will not supply it.
If a running game will not leave a loading screen, use its page menu to quit. The documented menu offers progressively stronger close options when normal quitting does not finish. Forced stopping may interrupt a save, so prefer a normal exit first.
2. A black screen or WebGPU error appears
Read the error code before assuming all black screens have one cause. Confirm a current supported browser, the correct HTTPS address and working graphics acceleration. Update the browser and graphics driver through their normal supported update routes, then restart the browser completely.
The project distinguishes missing WebGPU from an adapter that cannot be used, and from a graphics device lost during play. On an older machine, the GPU may lack the required support. Do not assume more RAM or an extension will fix an unsupported graphics device.
Keep the project’s error or log before reloading if you want to report it. For a device-loss problem, restarting or reloading can change the diagnostic evidence. Our requirements page explains which checks belong to the device and which belong to the hosting server.
3. There is no sound
Start with a direct click on the game or a keyboard key. Browser audio policies can require that interaction even when a controller is connected. Then check whether the browser tab is muted, the game sound is enabled and the operating system is using the intended speakers or headphones.
Check the external project’s own sound and latency settings if it exposes them. Change one option at a time, relaunch as its instructions require, and compare the result. Do not install an unrelated “audio fix” download to troubleshoot a browser game.
4. Keyboard or controller input does nothing
Click inside the game before testing movement. A key typed into the address bar or a settings field will not steer. Use a simple documented movement key and the pause action, rather than judging input from a special action that requires an in-game upgrade.
For a controller, connect it, press a button, and check the project’s controller settings. Try the keyboard to separate a controller-mapping issue from a game that has stopped altogether. Browser and operating-system shortcuts can intercept keys or a controller’s Home button.
Open the controls reference for the current documented mapping. A second tab can also matter: the project’s guide says one game runs per browser at a time, with another tab reporting that it is open elsewhere.
5. Touch controls are missing
The project supplies its own touch controls. Their visibility can depend on whether you are driving, in a menu, or using a keyboard/controller. Tap the game and check the project’s Controls settings rather than looking for a control overlay on this guide.
On a phone, inspect both landscape and portrait layout. If the page is too cramped, use its supported control-size or display settings. A browser name by itself does not confirm that the phone’s GPU supports the required path. If graphics initialization fails, solve that before trying to rearrange touch buttons.
6. Fullscreen or orientation behaves unexpectedly
Fullscreen belongs to the external game page and the browser. Use the project’s page menu or its fullscreen setting. If the browser refuses the request, continue in the normal window and check whether the request followed a user click or tap.
The documented exit behavior differs by browser. In particular, Firefox can use Escape to leave fullscreen immediately; the player guide recommends its alternate pause key for that situation. Rotate the device and wait for the layout to settle before entering another command. This site does not force orientation or promise fullscreen on every mobile browser.
7. The game runs slowly or other cars jump
First distinguish your own rendering speed from network movement. Reduce the project’s resolution scale or graphics options, keep the game tab foregrounded and close other heavy applications. Compare the same scene after one change; do not assume an arbitrary “best settings” preset fits every GPU.
If your own controls remain responsive but remote cars freeze or jump, the connection or multiplayer host may be the problem. The project documentation recommends a stable connection and a capable host for network races. Changing local steering sensitivity will not repair delayed network updates.
8. A save is missing or did not update
Return to the same game address, browser and browser profile used earlier. Check whether the last session was private, whether storage was cleared, and whether the game showed a save confirmation. Do not import a backup over the current profiles until you understand what will be replaced.
Use the project’s save backup and restore interface, and keep an untouched copy of the file first. Optional cloud saving, if enabled on that deployment, has its own recovery procedure. We cannot retrieve a third-party recovery phrase or inspect another origin’s local storage.
What to include in a useful report
Record the project URL, device and operating system, browser version, exact error, input method, and the smallest set of steps that reproduces it. If the project offers a downloadable log, review it before sharing it and follow its reporting instructions. For an error in this guide, contact us with the page link; do not email game files, passwords, recovery phrases or private saves.
Sources and scope
This independent guide distinguishes project documentation from device testing. External projects can change after our review.
Found something different? Send a correction with the page, project and browser version.