The FreeCamera (or Universal Camera) provides first-person movement, ideal for exploration and FPS-style games:

// Create FreeCamera: name, position, scene
const camera = new BABYLON.FreeCamera("camera", 
    new BABYLON.Vector3(0, 2, -10), // Position
    scene);

// Set camera direction
camera.setTarget(BABYLON.Vector3.Zero());

// Enable controls
camera.attachControl(canvas, true);

// Configure keyboard controls
camera.keysUp = [87];    // W key
camera.keysDown = [83];  // S key
camera.keysLeft = [65];  // A key
camera.keysRight = [68]; // D key

// Adjust movement speed
camera.speed = 0.5;
camera.angularSensibility = 1000; // Mouse look sensitivity

// Add WASD movement for FPS style controls
camera.inputs.addKeyboard();