Skip to content

PatrickJnr/Shader-Cache-Remover

Repository files navigation

Shader Cache Remover

A modular application for safely detecting and removing shader cache files to recover disk space and resolve graphical issues.

Screenshot

image

Overview

Shader Cache Remover cleans temporary shader files generated by graphics drivers and game engines. These files improve performance but can become corrupted or outdated over time. This tool provides a safe, user-friendly interface to manage these caches.

Key Features

  • Comprehensive Detection: Supports 12 distinct cache providers:
    • Graphics Drivers: NVIDIA, AMD, Intel
    • Game Clients: Steam, Epic Games, GOG Galaxy, EA App
    • Engines: Unreal Engine, Unity
    • Browsers: Chrome, Edge, Firefox, Brave, Opera
    • System: Windows DirectX/OpenGL
  • Safety First:
    • Dry Run mode to preview deletions
    • Automatic backup system with restore functionality
    • Protected system paths blocklist
  • Modern UI: Dark-themed interface with real-time progress and statistics
  • History Tracking: Detailed logs of past cleanup operations
  • System Integration: Optional notifications and scheduled cleanup tasks

Installation

From Source

git clone https://github.com/PatrickJnr/Shader-Cache-Remover.git
cd Shader-Cache-Remover
pip install -e .

To install optional system integration features (notifications, tray icon):

pip install -e .[full]

Usage

Run the application:

python remove_shader_cache.py

Main Functions

  • Start Cleanup: Deletes detected cache files.
  • Dry Run: Simulates cleanup and logs pending deletions without touching files.
  • Restore: Recover files from a previous backup.
  • History: View statistics of past operations.
  • Cache Providers: Toggle specific providers in the main interface.

Configuration

Settings are stored in .shader_cache_remover_config.json in your user directory.

  • Enable/disable auto-backups
  • Set backup location
  • Add custom cache paths
  • Toggle provider scanning

Project Structure

The application follows a modular architecture:

shader_cache_remover/
├── core/
│   ├── providers/          # 12 detection providers
│   ├── detection_service.py
│   ├── cleanup_service.py
│   ├── backup_service.py
│   └── history_service.py
├── gui/
│   ├── main_window.py
│   └── dialogs/            # Restore, history, settings
└── infrastructure/
    ├── notifications.py
    └── scheduler.py

Requirements

  • Python 3.8+
  • Windows (primary) or Unix-like OS

Contributing

Contributions are welcome. Please ensure new providers implement the BaseCacheProvider interface.