2. BlazorWindows and WebView2
What are Blazor Windows and how do they work?
In the introductory part of the series I talked about Blazor, HTML and CSS. To show all this beauty on screen we need a tool that turns our scripts and code into buttons, forms and more. This is where WebView2—an embeddable browser from Microsoft—comes into play.
You can think of WebView2 as the part of the application responsible for rendering our components.
BlazorWindows is the framework that ties everything together—WebView, HTML, C# and CSS—allowing you to create interactive windows. This technology powers overlays and many parts of EyeAuras.
What's the difference between windows and overlays?
Overlays are a variety of windows: it's the same window but with different display options. For example, an overlay is usually drawn on top of other windows.
EyeAuras has several overlay types:

C# Overlay
This is one of the main ways to quickly create an interface in EyeAuras. The idea is simple:
- we have a configured overlay window with a position, name and visibility condition. More on the contents below.
- we have a script written in EyeAuras that describes the interface using Razor/HTML/CSS
- EyeAuras compiles this script and we get a library that lets us build the UI rendered in the overlay with WebView2
Overlay settings
Every overlay has:
- position and size, and a flag whether the user can move it (
IsLocked)
- visual style settings—transparency, border thickness and color, etc.

- window settings
The most important toggle here is the window type—Overlay or Window. - Window – almost a normal window except there is no close button. It has an icon, title, can be dragged by the title bar, etc.
- Overlay – a borderless window without drag area or system buttons.

C# Overlay v3
The current overlay version using scripting engine V3. You have access to everything available in scripts—custom Razor controls, NuGet integration, EyeAuras services, etc. Every C# overlay is a small application.

C# Overlay v2 (deprecated)
Mentioned only briefly since it is no longer recommended. It will be removed in one of the upcoming versions and exists only for backward compatibility, offering no advantages over modern V3.
Visually it looks like this.
