About
Ultralight makes it easy for C/C++ developers to seamlessly integrate web-content into games and desktop apps.
Use our lightweight, high-performance renderer to display HTML/JS/CSS on a variety of platforms and hardware targets.
Key Features
- 1. ⚡ Modern HTML/JS/CSS Support:
-
Based on WebKit, Ultralight enjoys many of the same cutting-edge web features as Apple's Safari browser, simplifying development and reducing production costs.
- 2. Powerful and Lightweight:
-
Thanks to its highly-customizable CPU and GPU renderers, Ultralight offers developers unprecedented control over performance and memory usage-- making it the go-to choice for users who demand speed in constrained environments.
- 3. ? Cross-Platform Compatibility:
-
With support for Windows, macOS, Linux, Xbox, PS4, and PS5 (and ARM64 coming in 1.4), Ultralight ensures your content displays smoothly and consistently on a wide range of platforms and hardware targets.
- 4. ? Deep C/C++ and JavaScript Integration:
-
Ultralight facilitates seamless C/C++ and JavaScript integration through direct access to the JavaScriptCore API. Expose native state to web pages, extend JavaScript classes, define C/C++ callbacks, and more.
- 5. ? Low-Level Customization:
-
Ultralight allows developers the ability to override platform-specific functionality-- granting control over such things as file-system access, clipboard management, font loading, and more to suit the unique needs of each target environment.
? For Game Developers
Developed in collaboration with top AAA game studios, Ultralight is engineered to display high-performance web-content across a diverse set of hardware targets and game engine environments.
Choose between our CPU renderer for fast, reliable rendering or our customizable GPU renderer for unparalleled animation performance.
→ Learn more by visiting our Game Integration Guide.
For Desktop-App Developers
Get the best of both worlds-- save time by building your front-end with HTML/CSS/JS while retaining the power and performance of C/C++.
Embed the renderer directly within your existing run loop or leverage our AppCore framework to do all the heavy lifting for you, offering convenient native window management and accelerated rendering.
→ Learn more by visiting our Desktop App Guide.
?️ Architecture
Ultralight is a platform-agnostic port of WebKit for games and desktop apps.
Portions of the library are open-source, here's how the library is laid out:
|
Description |
License |
Source Code |
| UltralightCore |
Low-level graphics renderer |
Proprietary |
(Available with license) |
| WebCore |
HTML layout engine (WebKit fork) |
LGPL/BSD |
ultralight-ux/WebCore |
| Ultralight |
View, compositor, and event logic |
Proprietary |
(Avaiable with license) |
| AppCore |
Optional, desktop app runtime |
LGPL |
ultralight-ux/AppCore |
Dual High-Performance Renderers
We offer two different renderers for integration into a variety of target environments.
| ❇️ CPU Renderer | ✳️ GPU Renderer |
- Fast, lightweight, and easy to integrate.
- Renders to a 32-bit BGRA pixel buffer.
- Based on Skia, accelerated via multi-threaded SIMD.
- See the Game Integration Guide for more info.
|
- High-performance, customizable, and portable.
- Renders on the GPU to a texture.
- Accelerated via tesselated geometry and pixel shaders.
- See Using a Custom GPUDriver for more info.
|
Licensing
It's easy to license Ultralight in projects big and small.
| ? Free License | ? Commercial License |
- Free for non-commercial use.
- Free for commercial use by indie companies (< $100K annual revenue).
- Full SDK available for all users, download and try now.
- See LICENSE.txt for more info.
|
- Paid licenses for commercial use.
- Enterprise licensing, custom contracts, and volume discounts available.
- Performance tools, extra configurations, and source code.
- See our website for more info.
|
? Getting the Latest SDK
You can get the latest SDK for each platform below (contact us for Xbox, PS4, and PS5):
- Windows | x64
- Linux | x64
- macOS | x64
Getting Archived Binaries for a Specific Commit
Pre-built binares are uploaded to the following S3 buckets every commit:
- Archived Binaries: https://ultralight-sdk.sfo2.cdn.digitaloceanspaces.com/
Building the Samples
To build the samples in this repo, please follow the instructions here.
Useful Links
| Link |
URL |
| Join our Discord! |
https://chat.ultralig.ht |
| Docs / Getting Started |
https://docs.ultralig.ht |
| Browse C++ API |
https://ultralig.ht/api/cpp/1_3_0/ |
| Browse C API |
https://ultralig.ht/api/c/1_3_0/ |
| Follow Us on Twitter |
https://twitter.com/ultralight_ux |