Introduction

2 minutes read

HyPrism is a cross-platform Hytale game launcher built with modern technologies.

Technology Stack

LayerTechnology
Backend.NET 10, C# 13
Desktop ShellElectron.NET (Electron 34)
FrontendReact 19 + TypeScript 5.9 + Vite 7
AnimationsFramer Motion
StylingTailwindCSS v4
IconsLucide React
RoutingReact Router DOM
DIMicrosoft.Extensions.DependencyInjection
LoggingSerilog
Localizationi18next (12 languages)

How It Works

HyPrism runs as a .NET Console Application that spawns an Electron process. The Electron window loads a React SPA from the local filesystem. All communication between the React frontend and .NET backend happens through IPC channels (Inter-Process Communication).

.NET Console App → spawns Electron process
  ├── Electron Main Process
  │     └── BrowserWindow (frameless, contextIsolation)
  │           └── preload.js (contextBridge → ipcRenderer)
  └── React SPA (loaded from file://wwwroot/index.html)
        └── ipc.ts → IPC channels → IpcService.cs → .NET Services

This is NOT a web server — there is no ASP.NET, no HTTP, no REST. The frontend communicates with the backend entirely through named IPC channels over Electron’s socket bridge.

Key Principles

  1. Single source of truth — C# annotations in IpcService.cs define all IPC channels and TypeScript types; the frontend IPC client is 100% auto-generated
  2. Context isolationcontextIsolation: true, nodeIntegration: false; all Electron APIs exposed via preload.js
  3. DI everywhere — All .NET services registered in Bootstrapper.cs via constructor injection
  4. Cross-platform — Windows, Linux, macOS support via .NET 10 + Electron
  5. Instance-based — Each game installation is isolated in its own GUID-based folder

Supported Platforms

Supported Languages

HyPrism supports 12 languages with runtime switching:

CodeLanguage
en-USEnglish
ru-RURussian
de-DEGerman
es-ESSpanish
fr-FRFrench
ja-JPJapanese
ko-KRKorean
pt-BRPortuguese (Brazil)
tr-TRTurkish
uk-UAUkrainian
zh-CNChinese (Simplified)
be-BYBelarusian