Skip to main content

Overview

WPM Typing Tutor is available as a web application powered by Unity WebGL. Play directly in your browser without any downloads or installations required.
The web version uses Unity WebGL 2019.4.41f2 and requires a modern browser with WebGL support.

Browser Requirements

Supported Browsers

  • Google Chrome (recommended)
  • Mozilla Firefox
  • Microsoft Edge
  • Safari (macOS)

Graphics API

  • WebGL 2.0 (preferred)
  • WebGL 1.0 (fallback)

Minimum Requirements

  • Browser: Any modern browser with WebGL enabled
  • RAM: 4GB minimum, 8GB recommended
  • Internet: Broadband connection for initial load
  • JavaScript: Must be enabled
Mobile browsers may have limited WebGL support. For mobile devices, use the native Android or iOS apps for best performance.

How to Access

1

Open Your Browser

Launch any supported web browser (Chrome recommended for best performance).
2

Navigate to the Game

Go to the WPM Typing Tutor web application URL or open index.html if running locally.
3

Wait for Unity to Load

The Unity WebGL runtime will automatically initialize. You’ll see a loading progress bar while the game assets download.
4

Start Playing

Once loaded, click the “start_game —now” button to begin typing!

Technical Details

Unity WebGL Architecture

The web version loads several critical files:
UnityLoader.instantiate("unityContainer", "Build/INTEGRADORA.json", {
  onProgress: UnityProgress
});

Build Files

The following files are loaded from the Build/ directory:
FilePurpose
INTEGRADORA.jsonBuild configuration and asset manifest
INTEGRADORA.data.unitywebGame data and assets
INTEGRADORA.wasm.code.unitywebWebAssembly compiled game code
INTEGRADORA.wasm.framework.unitywebUnity WebGL runtime framework
UnityLoader.jsUnity initialization script
{
  "companyName": "DefaultCompany",
  "productName": "mecanografia",
  "productVersion": "0.1",
  "dataUrl": "INTEGRADORA.data.unityweb",
  "wasmCodeUrl": "INTEGRADORA.wasm.code.unityweb",
  "wasmFrameworkUrl": "INTEGRADORA.wasm.framework.unityweb",
  "graphicsAPI": ["WebGL 2.0", "WebGL 1.0"],
  "unityVersion": "2019.4.41f2"
}

Performance Optimization

Loading Times

First-time load may take 10-30 seconds depending on your connection speed. Subsequent visits will be faster due to browser caching.
The game implements cache control with the must-revalidate policy to ensure you always have the latest version.

Graphics Settings

The web build automatically selects the best graphics API:
  1. WebGL 2.0 (preferred) - Better performance and features
  2. WebGL 1.0 (fallback) - Broader compatibility

Performance Tips

Close Other Tabs

Free up browser memory by closing unnecessary tabs while playing.

Use Hardware Acceleration

Enable hardware acceleration in your browser settings for smoother gameplay.

Update Your Browser

Keep your browser updated to the latest version for best WebGL performance.

Disable Extensions

Some browser extensions may interfere with WebGL. Try disabling them if you experience issues.

Local Hosting

WPM Typing Tutor is open-source under the GNU General Public License. You can host it locally for testing or integration.

Quick Start

# Clone or download the project
cd wpm-typing-tutor

# Serve with any HTTP server
python -m http.server 8000
# or
npx http-server -p 8000

# Open in browser
open http://localhost:8000
Unity WebGL requires an HTTP server - you cannot simply open index.html directly due to CORS restrictions.

Keyboard Controls

The web version supports all standard keyboard shortcuts:
KeyAction
SPACEStart game
ESCReturn to menu
F + JHome row position (index fingers)

Troubleshooting

  • Check that JavaScript is enabled
  • Verify WebGL is supported: Visit chrome://gpu or about:support in Firefox
  • Clear browser cache and reload
  • Try a different browser
  • Close other applications and browser tabs
  • Enable hardware acceleration in browser settings
  • Update graphics drivers
  • Try reducing browser zoom level to 100%
  • Check browser console for errors (F12)
  • Ensure all files in Build/ directory are accessible
  • Verify you’re using an HTTP server (not file:// protocol)
  • Click inside the game canvas to focus it
  • Check keyboard layout is set to Spanish or English
  • Disable browser extensions that may intercept keystrokes

Browser Compatibility Matrix

BrowserWebGL 2.0WebGL 1.0Status
Chrome 90+Fully Supported
Firefox 88+Fully Supported
Edge 90+Fully Supported
Safari 14+Supported
Opera 76+Supported
Mobile Safari⚠️Limited*
Chrome Mobile⚠️Limited*
*Mobile browsers work but may have performance issues. Native mobile apps provide better experience.

Features

Instant Play

No installation required - just open and play

Cross-Platform

Works on Windows, macOS, and Linux

Auto-Save Progress

Scores saved in browser localStorage

Responsive Design

Adapts to different screen sizes

Next Steps

Get Started

Learn how to play and improve your typing speed

Android App

Install the native Android version via Expo Go

Build docs developers (and LLMs) love