juce-webview-windows

Enforces WebView2 destruction order in JUCE 8 Windows UI builds with CMake templates.

3|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/joshband/LocusQ --skill juce-webview-windows-joshband
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: juce-webview-windows
Source: https://github.com/joshband/LocusQ/tree/main/.codex/skills/skill_design_webview
Command: npx skills add https://github.com/joshband/LocusQ --skill juce-webview-windows-joshband

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a structured blueprint for building Windows JUCE 8 WebView2 UIs, ensuring reliable WebView2 integration and safe destruction order to prevent DAW crashes.

Core Features & Use Cases

  • CRITICAL member order enforcement to prevent crashes on unload
  • Production-grade WebView2 integration with static linking and resource embedding
  • Step-by-step templates for CMake, parameter bindings, and debugging

Quick Start

Create a WebView UI following the production guide steps and build with the provided CMake configuration to see a working plugin.

Frequently Asked Questions about juce-webview-windows

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my JUCE 8 plugin crash on Windows when using WebView2?

JUCE 8 WebView2 plugins crash on Windows due to unsafe destruction order. Enforcing critical member order during unload ensures deterministic destruction and prevents DAW crashes.

How do I set up WebView2 in a JUCE plugin using CMake?

Set up WebView2 in JUCE using a CMake configuration that handles static linking and resource embedding. Production-grade templates provide step-by-step integration for robust UI loading.

What is the correct destruction order for a JUCE WebView2 component?

The correct destruction order requires strict member sequence enforcement. CRITICAL member ordering ensures safe, deterministic teardown of the WebView2 UI before its dependencies unload.

How do I bind plugin parameters to a WebView2 UI in JUCE?

Bind plugin parameters to a WebView2 UI using provided step-by-step templates. These templates handle parameter binding within a CMake-based build to ensure robust communication.

Do I need to manually embed resources for a JUCE WebView2 interface?

Yes, you need resource embedding for a JUCE WebView2 interface. The integration handles static linking and resource embedding automatically to ensure robust UI loading.