docs

Get Started

Get started using Ultralight in your application.

On this page

Ultralight is a lightweight HTML rendering engine for games and native apps.

You generally:

  1. Build your UI assets with the web technologies you already know.
  2. Render them in your game or native app using Ultralight.
  3. Hook it up to native logic and events using the DOM / JS bridge.

This documentation covers most of the things you need to know integrate Ultralight and use it in various environments.

See the following sections based on what you're building:

Prerequisites

Most guides assume you have the SDK on disk and a working build environment. Complete these steps before starting:

  1. Get the SDK binaries in Getting the SDK.
  2. Set up your environment in Installing Prerequisites.
  3. Verify your build setup in Trying the Samples.

Game Developers

For game developers looking to integrate Ultralight into an existing game or game engine, see the following guides:

Guide Description
Your First Game UI Intro guide for games: Render a page to a texture using the CPU renderer.
Integrating into a Game Engine Embed the renderer into your game loop.
Updating and Rendering Update timers, advance animations, and render views.
Mouse and Scroll Input Forward mouse and scroll events to a view.
Keyboard Input Forward key presses and typed text to a view.
GPU Renderer Overview Render accelerated views using your GPU pipeline.
Optimizing Performance Profile bottlenecks and protect frame budgets.

Desktop App Developers

For desktop app developers looking to use Ultralight as the basis for their application (Electron and CEF-style), see the following guides:

Guide Description
Writing Your First App Intro guide for desktop app dev: Create a native window and load a local HTML page.
Building a Desktop App Connect views to native logic and prepare to ship.
App Lifecycle and Settings Configure runtime settings and manage the application lifecycle.
Laying Out Panels Arrange views into rows, columns, and resizable splits.
Native Look and Feel Support system themes, platform text editing, and window styling.
Shipping Your App Package your application and assets for distribution.

Embedded Developers

For embedded software developers looking to use Ultralight in resource-constrained environments or device UI, see the following guides:

Guide Description
Rendering to a Framebuffer Intro guide for embedded developers: Paint a page directly into a framebuffer on the CPU.
Embedded and Device UI Configure the renderer for resource-constrained hardware.
Managing Memory Tune caches, memory limits, and garbage collection.
About Data Bindings Synchronize native state with HTML markup.
About the DOM API Inspect and modify elements from C++.

📘 Migrating from 1.4

If you're upgrading an existing project from Ultralight 1.4, see Porting from 1.4 to 2.0.