Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>AimY - Aim TrainerNew to Visual Studio Code? Get it now.
AimY - Aim Trainer

AimY - Aim Trainer

Earl Romeo Ordovez

|
12 installs
| (1) | Free
Stop Coding, Start Shooting
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

icon AimY - Aim Trainer

Visual Studio Marketplace Version Downloads Installs Rating

Three.js TypeScript VS Code API

Stop Coding, Start Shooting!

AimY is a VS Code extension that turns your idle time into aim training sessions. When you stop coding for a while, targets appear and you need to hit them to get back to work. It's like having a built-in break reminder that actually improves your mouse precision.

What It Does

  • Detects when you're idle (configurable timer)
  • Launches a fullscreen target practice game
  • Blocks access to your code until you complete the challenge
  • Tracks your performance over time
  • Restores your workspace exactly as it was

Features

🎮 Automatic Game Trigger

Takes over VS Code when you've been idle, forcing you to take an active break before continuing to code.

🌍 2D & 3D Game Modes

Choose between classic 2D target practice or immersive 3D aim training:

  • 2D Mode: Classic flat targets with particle effects and animations
  • 3D Mode: Immersive 3D environment with target boards and spatial aiming (Experimental)

⚙️ Fully Customizable

  • Adjust idle timeout (default: 1 minute)
  • Set number of targets to hit (default: 5)
  • Configure target size and behavior
  • Choose between JSON or CSV stat tracking

📊 Performance Tracking

Every game session is saved with detailed stats including accuracy, completion time, and your best streak.

🎯 Precision Training

Moving targets, timed challenges, and accuracy scoring help improve your mouse control over time.

Installation

  1. Install from the VS Code Marketplace or search AimY directly in VSCode
  2. Restart VS Code
  3. The extension activates automatically
  4. Start coding and wait for your first challenge!

Quick Start

The extension works out of the box with sensible defaults. You can also:

  • Use Ctrl+Shift+P → "AimY: Start Game" to play manually
  • Click the status bar indicator to toggle auto-start on/off
  • Configure settings via File → Preferences → Settings → search "AimY"

Configuration

All settings are available in VS Code settings under the "AimY" section:

General Settings

Setting Default Description
aimy.enableExtension true Enable/disable automatic game triggering
aimy.idleTimer 60000 Idle time in milliseconds before game starts

Visual Settings

Setting Default Description
aimy.gameVisualMode "2D" Game visual mode: 2D (classic) or 3D (immersive)

Gameplay Settings

Setting Default Description
aimy.difficulty "Normal" Preset difficulty: Easy, Normal, Hard, Very Hard, Custom. Choosing a preset applies tuned game parameters; Custom uses your individual settings.
aimy.targetGoals 5 Targets required to complete a session
aimy.targetSize 100 Target diameter in pixels
aimy.targetMove false Enable moving targets
aimy.targetSpeed 3000 Movement speed (ms per move)
aimy.targetTimeExists 3000 How long a target exists before counting as a miss (0 = disabled)

Game Mode Settings

Setting Default Description
aimy.gameMode "Target Rush" Game mode: Target Rush (classic), Time Frenzy (fixed time, unlimited targets), Hydra Targets (3 simultaneous targets).
aimy.timeFrenzyDuration 60000 Duration in ms for Time Frenzy mode
aimy.hydraMode "Target Count" Hydra Targets end condition: Target Count (hit X targets to win) or Timed (hit as many as possible in Y seconds). Only applies when gameMode = 'Hydra Targets'.
aimy.hydraTargetCount 20 Total targets to spawn for Hydra Targets when using target-count mode
aimy.hydraTotalTime 60000 Total time in ms for Hydra Targets when using timed mode

Audio & Visual Settings

Setting Default Description
aimy.enableSoundEffects true Enable hit/miss sounds
aimy.soundVolume 80 Sound volume (0–100)
aimy.enableEffects true Enable visual particles and animations

Stats & Workspace Settings

Setting Default Description
aimy.enableStatsSave true Enable/disable saving game stats to files
aimy.statsFormat "json" Save format: "json" (one file per run) or "csv" (append rows)
aimy.statsDirectory "" Directory to save stats (empty = extension storage)
aimy.closeWorkspaceOnGameStart true When enabled, non‑dirty editors (no unsaved changes) are closed on game start and restored after completion. Dirty editors are left open to avoid save prompts.

Difficulty presets

Choose aimy.difficulty to quickly switch sets of parameters:

  • easy — fewer, larger, slower targets (good warmup)
  • normal — balanced default
  • hard — more, faster, smaller targets
  • very hard — extreme values for advanced training
  • custom — use the individual aimy.* settings you configured |

Game Mode Details

  • Target Rush: Classic mode - hit X targets to complete
  • Time Frenzy: Race against the clock - hit as many targets as possible in 60 seconds (configurable)
  • Hydra Targets: Face 3 simultaneous targets with two completion modes:
    • Target Count: Hit 20 targets total (configurable) with 3 always on screen
    • Timed: Hit as many as possible in 60 seconds (configurable) with 3 always on screen

Visual Mode Details

  • 2D Mode: Classic flat target practice with particle effects and animations
  • 3D Mode: Immersive aim training experience featuring: (Experimental)
    • 3D environment with target boards
    • Spatial depth and distance judgment
    • FPS-style aiming with pointer lock controls
    • Optimized for performance while maintaining visual quality

Why AimY?

I built this because I noticed I'd often get stuck in long coding sessions without proper breaks. Traditional break reminders were easy to ignore, but having to actually complete a quick aim challenge before getting back to work ensures you take that mental reset.

The side benefit of improved mouse precision is just a bonus!

Demo

image1

image2

image2

Stats & Privacy

  • All stats are saved locally on your machine
  • No data is sent anywhere
  • You can configure where stats are saved
  • JSON format creates one file per session
  • CSV format appends to a single file for easy analysis
  • JSON: one file per session. CSV: appended rows to aimy-stats.csv.
  • To change where stats are saved, set aimy.statsDirectory.

Contributing

Found a bug or have a feature idea? Check out the GitHub repository and feel free to open an issue or submit a pull request.

License

MIT - see the LICENSE file for details.


Happy aiming! 🎯

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft