Skip to content

Implement support for in game Overlay for Steam Integration#37

Merged
ArtyProf merged 8 commits intomainfrom
add_experimental_support_for_steam_overlay_with_electron
Jan 28, 2026
Merged

Implement support for in game Overlay for Steam Integration#37
ArtyProf merged 8 commits intomainfrom
add_experimental_support_for_steam_overlay_with_electron

Conversation

@ArtyProf
Copy link
Copy Markdown
Owner

  • Added native Windows, Linux, macOS for Electron applications.
  • Integrated N-API functions to create, show, hide, and destroy the overlay window.
  • Updated SteamOverlay class to support Windows overlay, including frame capture and event handling.
  • Enhanced debug logging capabilities for easier troubleshooting.
  • Ensured compatibility with existing Electron applications and maintained cross-platform support.

Description

Experimental support for in game overlay for electron based apps with crossplatfrom support.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Test improvement
  • Build/CI improvement

Related Issues

Fixes #(issue number)
Relates to #(issue number)

Motivation and Context

Changes Made

Steam API Impact

  • Adds new Steam API bindings
  • Modifies existing Steam API wrappers
  • Changes Steam SDK integration
  • No Steam API changes

If yes, specify which Steam API modules are affected:

  • Achievements
  • Cloud Save
  • Friends
  • Input
  • Leaderboards
  • Overlay
  • Rich Presence
  • Stats
  • User
  • Workshop
  • Other: ___________

Testing

Test Environment

  • OS: Windows 11, macOS 14.0, Steam OS
  • Node.js version: v24
  • Electron version (if applicable):
  • Steam Client: Running

Test Cases

  • Unit tests pass
  • Integration tests pass
  • Manual testing completed
  • Tested with Steam client running
  • Tested without Steam client

Test Results

<!-- Paste relevant test output here -->

Steamworks SDK Compatibility

  • Steamworks SDK Version:
  • Backward compatible with previous SDK versions
  • Requires specific SDK version (specify above)

Breaking Changes

  • This PR includes breaking changes

If yes, describe:

  1. What breaks:
  2. Migration guide:
  3. Deprecation warnings added:

Documentation

  • Updated README.md
  • Updated API documentation in /docs
  • Added inline code comments
  • Updated TypeScript type definitions
  • Added usage examples
  • No documentation needed

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked my code and corrected any misspellings
  • I have tested with the Steamworks SDK as per the setup guide

Additional Notes

Screenshots (if applicable)


For Maintainers

Review Checklist

  • Code quality and style
  • Test coverage
  • Documentation completeness
  • Breaking changes properly communicated
  • Steam API usage correctness
  • Memory management (no leaks)
  • Thread safety (if applicable)
  • Error handling
  • TypeScript type safety

- Added native Windows, Linux, macOS for Electron applications.
- Integrated N-API functions to create, show, hide, and destroy the overlay window.
- Updated SteamOverlay class to support Windows overlay, including frame capture and event handling.
- Enhanced debug logging capabilities for easier troubleshooting.
- Ensured compatibility with existing Electron applications and maintained cross-platform support.
…erlay to use OpenGL on Windows

- Deleted the native DirectX 11 overlay implementation from windows-overlay.cpp.
- Updated SteamOverlay.ts to reflect the change from DirectX 11 to OpenGL for Windows.
- Adjusted comments and documentation to align with the new rendering approach.
- Ensured compatibility with existing Electron integration while maintaining cross-platform support.
@ArtyProf ArtyProf merged commit e74405f into main Jan 28, 2026
@ArtyProf ArtyProf deleted the add_experimental_support_for_steam_overlay_with_electron branch January 28, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant