English · Español
Windows app · OBS Browser Source · Local match data
Show your Heroes of the Storm talent choices on stream, with the real in-game icons. Set it up once, add a Browser Source to OBS, and let the app follow your matches.
Download the Windows installer · Get started · See the Spanish guide
The dashboard, showing a demo match. No personal account or match data is shown in this screenshot.
| In OBS | In the dashboard | Behind the scenes |
|---|---|---|
| Hero and talent icons update as HotS saves the match | Live preview, appearance controls, English/Spanish UI | Reads local game files; no game injection or telemetry |
- Runs entirely on your Windows PC after setup.
- Automatically detects the installed HotS build.
- Extracts hero, talent, and icon data directly from the local CASC game files.
- Regenerates the catalog when the game build changes.
- Updates OBS automatically through short local status checks every second—no manual refresh, and no permanent connections blocking talent images when several tabs are open.
- Provides a complete dashboard in English and Spanish.
- Checks GitHub for new releases and updates itself with one click from the dashboard.
- Lets you personalize colors, borders, spacing, labels, and animations with a live preview.
- Never uploads your BattleTag, matches, or talent choices.
- Download
HotSTalentOverlay-Setup.exefrom the latest release. - Click Install and then Open.
- Follow the one-minute setup assistant to detect HotS and add the Browser Source to OBS.
The installer adds Start menu and optional desktop/startup shortcuts. The app runs from the Windows tray and opens the dashboard automatically. No separate .NET installation is required. The portable ZIP remains available for users who prefer it.
When a new release is available, the dashboard displays New version available — Update and restart. The app downloads the official GitHub installer, updates in place, and reopens automatically without deleting your settings.
Your installed version is always shown below the dashboard title and in the Windows tray menu, even without internet. It identifies the running app, not the latest GitHub release.
Open PowerShell in the repository and run:
Set-ExecutionPolicy -Scope Process Bypass
.\setup.ps1The script downloads a repository-local .NET SDK and HeroesDataParser, restores dependencies, runs the test suite, and publishes the app. It does not modify HotS or install a Windows service.
- Add a Browser Source in OBS.
- Set the URL to
http://127.0.0.1:3874/overlay.html. - Use a width of
1920and height of1080. - Optionally enable Shutdown source when not visible.
Use the With talents / Without talents preview switch to test both overlay states without changing OBS.
What the overlay looks like with seven talents selected. The checkerboard represents transparency in OBS.
Open the dashboard and use Appearance to tailor the overlay without editing CSS:
- Choose the accent, empty-border, background, and text colors.
- Adjust the icon size, spacing, border width, radius, and style.
- Select how a new talent appears: fade, slide, pop, flip, or no animation.
- Replay the selected appearance animation directly in the preview before saving.
- Smoothly clears the previous talents when a new match is detected.
- Match-end exit: fade (default), slide up/down/left/right, or none; independent duration from 100–2000 ms and a Preview exit button.
- Preview starts Live. With talents and Without talents are explicitly labeled simulations and never change OBS; empty hidden slots stay hidden after a match.
- Clears the overlay when the final replay is saved; later saves from that match cannot restore it.
- Show or hide the hero name, talent levels, and localized talent names.
- Talent names wrap in full instead of being shortened with ellipses. Choose Segoe UI, Arial, Verdana, Tahoma, Trebuchet MS, or Georgia; adjust text size, bold, line spacing, and shadow. Typography controls appear when Talent names is enabled.
- Names grow downward without moving the icons. The app never changes your OBS source dimensions; very large text still needs enough height in your existing Browser Source.
- Show unselected talent slots or hide them while keeping their space reserved.
- Preview every change instantly; it is saved automatically for OBS and future sessions.
Use the Spanish and British flag buttons to change the dashboard language. Talent language controls the game data extracted from HotS and is intentionally configured separately.
The app normally identifies the local player from the account identifier in the StormSave path. If that is not possible, enter a BattleTag such as Player#1234 under Configuration and save it.
Runtime data stays under %LOCALAPPDATA%\HotSTalentOverlay:
config.json
data/talents.json
assets/talents/
logs/latest.log
The web server only binds to 127.0.0.1 by default. Match and account data are not uploaded. There is no telemetry; the update feature contacts GitHub only to check releases and download an update when you choose to install it.
- HotS not detected: select the game directory containing
.build.info. - Player not identified: configure your BattleTag and check the Accounts directory.
- Extraction error: inspect
logs/latest.log. A failed regeneration keeps the previous working catalog. - Parser/extractor incompatibility: the dashboard reports the error instead of silently discarding it.
- Port changed: restart the application and update the OBS URL.
HotS decides when it writes live match state to StormSave. In testing, writes usually happen around every 90 seconds, so a newly selected talent can take roughly 90–120 seconds to appear. HotSTalentOverlay processes the file immediately after it changes, but it cannot reliably detect a choice before the game persists it. The project deliberately avoids process injection, memory reading, keyboard hooks, and resolution-dependent screen recognition.
HotSTalentOverlay builds on excellent open-source work by other developers:
- HeroesDataParser 5.0.4, created by Kevin Oliva and contributors (MIT), reads the local CASC installation and extracts hero metadata and talent icons.
- Heroes.StormReplayParser 2.2.1, created by Kevin Oliva and contributors (MIT), provides the replay and tracker-event decoding. This repository vendors a small, documented compatibility adaptation for current
StormSavefiles. - Heroes.MpqTool 1.2.0, created by Kevin Oliva and contributors (MIT), is used transitively to read Blizzard MPQ containers.
- .NET and ASP.NET Core by Microsoft and .NET contributors (MIT) provide the application runtime and local web server.
- xUnit.net v3 by James Newkirk, Brad Wilson, and contributors (Apache-2.0) provides the test framework.
The Heroes Profile Uploader was used as an architectural reference for resilient StormSave watching, but none of its source code or services are included.
Thank you to every maintainer and contributor behind these projects. Full version, copyright, and license notices are in THIRD_PARTY_NOTICES.md.
Heroes of the Storm and its assets are property of Blizzard Entertainment. HotSTalentOverlay is an independent community project and is not affiliated with or endorsed by Blizzard Entertainment.
.\setup.ps1 -SkipPublish
$env:HOTS_STORMSAVE_FIXTURE='C:\path\to\fixture.StormSave'
.\.dotnet\dotnet.exe test HotSTalentOverlay.slnx --configuration ReleaseThe project is licensed under MIT. The vendored HeroesToolChest dependency is also MIT; see THIRD_PARTY_NOTICES.md for details.
Muestra tus talentos de Heroes of the Storm en directo con los iconos reales del juego. Configúralo una vez, añade una fuente Navegador en OBS y deja que la aplicación siga tus partidas.
Descargar el instalador para Windows · Empezar · English
Panel con una partida de demostración. La captura no contiene datos personales ni partidas reales.
| En OBS | En el panel | En segundo plano |
|---|---|---|
| Héroe e iconos de talentos actualizados cuando HotS guarda la partida | Vista previa, personalización e interfaz en español/inglés | Lee archivos locales del juego; sin inyección ni telemetría |
- Funciona íntegramente en tu PC con Windows después de prepararlo.
- Detecta automáticamente la build instalada de HotS.
- Extrae héroes, talentos e iconos directamente de los archivos CASC locales.
- Regenera el catálogo cuando cambia la build del juego.
- Actualiza OBS automáticamente con consultas locales cortas cada segundo: sin recargas manuales ni conexiones permanentes que bloqueen las imágenes al abrir varias pestañas.
- Ofrece un panel completo en español e inglés.
- Comprueba si hay nuevas versiones en GitHub y se actualiza con un clic desde el panel.
- Permite personalizar colores, bordes, espaciado, textos y animaciones con vista previa en directo.
- Nunca sube tu BattleTag, partidas o elecciones de talentos.
- Descarga
HotSTalentOverlay-Setup.exedesde la última versión. - Pulsa Instalar y después Abrir.
- Sigue el asistente de un minuto para detectar HotS y añadir la fuente Navegador a OBS.
El instalador añade accesos directos al menú Inicio y, opcionalmente, al escritorio y al inicio de Windows. La aplicación vive en la bandeja del sistema y abre el panel automáticamente. No requiere instalar .NET. El ZIP portátil continúa disponible para quien lo prefiera.
Cuando existe una nueva versión, el panel muestra Nueva versión disponible — Actualizar y reiniciar. La aplicación descarga el instalador oficial de GitHub, se actualiza sobre la instalación existente y vuelve a abrirse sin borrar tu configuración.
La versión instalada aparece siempre bajo el título del panel y en el menú de la bandeja de Windows, incluso sin internet. Identifica la aplicación que está ejecutándose, no la última release de GitHub.
Abre PowerShell en el repositorio y ejecuta:
Set-ExecutionPolicy -Scope Process Bypass
.\setup.ps1El script descarga una copia local de .NET y HeroesDataParser, restaura las dependencias, ejecuta los tests y publica la aplicación. No modifica HotS ni instala ningún servicio de Windows.
- Añade una fuente Navegador en OBS.
- Usa la URL
http://127.0.0.1:3874/overlay.html. - Configura un ancho de
1920y un alto de1080. - Opcionalmente, activa Cerrar fuente cuando no sea visible.
Usa el selector Con talentos / Sin talentos para probar ambos estados sin modificar OBS.
Así se ve el overlay con siete talentos elegidos. El fondo de cuadros representa la transparencia en OBS.
Abre el panel y usa Apariencia para adaptar el overlay sin editar CSS:
- Elige los colores de acento, borde vacío, fondo y texto.
- Ajusta el tamaño y la separación de los iconos, además del grosor, radio y estilo del borde.
- Selecciona cómo aparece un nuevo talento: fundido, deslizamiento, pop, giro o sin animación.
- Reproduce la animación de aparición elegida directamente en la vista previa; los cambios se guardan automáticamente.
- Vacía suavemente los talentos anteriores cuando detecta una partida nueva.
- Salida al terminar: fundido por defecto, movimiento arriba/abajo/izquierda/derecha o ninguna; duración independiente de 100–2000 ms y botón Probar salida.
- La vista previa empieza En vivo. Con talentos y Sin talentos son simulaciones señalizadas que nunca cambian OBS; los huecos ocultos siguen ocultos al terminar la partida.
- Vacía el overlay cuando se guarda la replay final; los guardados posteriores de esa partida no lo vuelven a llenar.
- Muestra u oculta el nombre del héroe, los niveles y los nombres localizados de los talentos.
- Los nombres se muestran completos en varias líneas, sin puntos suspensivos. Elige Segoe UI, Arial, Verdana, Tahoma, Trebuchet MS o Georgia; ajusta tamaño, negrita, interlineado y sombra. Estos controles aparecen al activar Nombres de talentos.
- El texto crece hacia abajo sin mover los iconos. La app no cambia las dimensiones de tu fuente de OBS; si eliges texto muy grande, tu Fuente de navegador debe tener suficiente altura.
- Muestra los huecos de talentos sin elegir u ocúltalos manteniendo reservado su espacio.
- Previsualiza cada cambio al instante y guárdalo para OBS y las próximas sesiones.
Usa los botones con las banderas española y británica para cambiar el idioma del panel. Idioma de talentos controla los datos del juego extraídos de HotS y se configura por separado de forma intencionada.
Normalmente la aplicación identifica al jugador local mediante el identificador de cuenta incluido en la ruta del StormSave. Si no fuera posible, escribe un BattleTag como Jugador#1234 en Configuración y guárdalo.
Los datos de ejecución permanecen en %LOCALAPPDATA%\HotSTalentOverlay:
config.json
data/talents.json
assets/talents/
logs/latest.log
El servidor web solo escucha en 127.0.0.1 de forma predeterminada. No se suben datos de partidas ni de la cuenta. No hay telemetría; la función de actualización contacta con GitHub únicamente para comprobar versiones y descargar una actualización cuando eliges instalarla.
- HotS no detectado: selecciona la carpeta del juego que contiene
.build.info. - No se identifica al jugador: configura tu BattleTag y comprueba la carpeta Accounts.
- Error de extracción: revisa
logs/latest.log. Si una regeneración falla, se conserva el último catálogo funcional. - Parser o extractor incompatible: el panel muestra el error en lugar de ignorarlo silenciosamente.
- Puerto modificado: reinicia la aplicación y actualiza la URL de OBS.
HotS decide cuándo escribe el estado de la partida en StormSave. En las pruebas, las escrituras suelen producirse aproximadamente cada 90 segundos, por lo que un talento recién elegido puede tardar unos 90–120 segundos en aparecer. HotSTalentOverlay procesa el archivo inmediatamente después del cambio, pero no puede conocer la elección de forma fiable antes de que el juego la guarde. El proyecto evita deliberadamente la inyección en el proceso, la lectura de memoria, los hooks de teclado y el reconocimiento de pantalla dependiente de la resolución.
HotSTalentOverlay se apoya en el excelente trabajo open source de otros desarrolladores:
- HeroesDataParser 5.0.4, creado por Kevin Oliva y colaboradores (MIT), lee la instalación CASC local y extrae los metadatos de héroes y los iconos de talentos.
- Heroes.StormReplayParser 2.2.1, creado por Kevin Oliva y colaboradores (MIT), proporciona la decodificación de replays y eventos del tracker. Este repositorio incluye una pequeña adaptación de compatibilidad documentada para los
StormSaveactuales. - Heroes.MpqTool 1.2.0, creado por Kevin Oliva y colaboradores (MIT), se utiliza de forma transitiva para leer los contenedores MPQ de Blizzard.
- .NET y ASP.NET Core de Microsoft y los colaboradores de .NET (MIT) proporcionan el runtime y el servidor web local.
- xUnit.net v3 de James Newkirk, Brad Wilson y colaboradores (Apache-2.0) proporciona el framework de pruebas.
El uploader de Heroes Profile se utilizó como referencia arquitectónica para la vigilancia robusta de StormSave, pero no se incluye su código ni se utilizan sus servicios.
Gracias a todos los mantenedores y colaboradores de estos proyectos. Los avisos completos de versiones, copyright y licencias están en THIRD_PARTY_NOTICES.md.
Heroes of the Storm y sus recursos pertenecen a Blizzard Entertainment. HotSTalentOverlay es un proyecto comunitario independiente, sin afiliación ni respaldo de Blizzard Entertainment.
.\setup.ps1 -SkipPublish
$env:HOTS_STORMSAVE_FIXTURE='C:\ruta\al\fixture.StormSave'
.\.dotnet\dotnet.exe test HotSTalentOverlay.slnx --configuration ReleaseEl proyecto usa licencia MIT. La dependencia incluida de HeroesToolChest también es MIT; consulta THIRD_PARTY_NOTICES.md para más información.

