Skip to content
bg2 engine

Getting Started

This section provides an introduction to the bg2 engine and helps you choose the appropriate API for your use case. The engine offers two distinct APIs targeting different platforms and execution environments: a TypeScript API for web applications and a C++ API for native applications.

Both APIs share the same core concepts, including scene structure, component-based design, and asset formats, allowing consistent workflows across platforms.

Selecting the appropriate API depends primarily on your target platform, performance requirements, and application type.

Choose the TypeScript API if your application runs in a browser environment.

Getting Started with TypeScript API

This API is designed for:

  • Web-based 3D applications
  • Product configurators and visualization tools
  • Educational or interactive content delivered through the web
  • Integration with frontend frameworks such as React

Key characteristics:

  • Runs on top of WebGL
  • Imperative, object-oriented programming model
  • Tight integration with the DOM and browser lifecycle
  • Easy deployment and distribution via standard web technologies

TypeScript is the recommended language for this API. While JavaScript is supported, it is considered transitional and will be deprecated in future versions.


Choose the C++ API if you are building a native application or require maximum performance and control over the rendering pipeline.

Getting Started with C++ API

This API is designed for:

  • High-performance rendering applications
  • Simulation systems
  • Content authoring tools
  • Backend or offline rendering processes

Key characteristics:

  • Built on top of Vulkan
  • Explicit control over GPU resources and rendering behavior
  • Advanced rendering techniques (PBR, IBL, MSAA, deferred rendering)
  • Suitable for production-grade tools and systems

Creation Tools bg2 engine provides a set of tools for asset creation and scene authoring. These tools are designed to support the content pipeline used by both the TypeScript and C++ APIs.

At the moment, creation tools are available only as source code. They are distributed as part of the C++ API repository and must be built directly from source.

To use these tools:

Clone the C++ API repository

Build the project using the native toolchain for your platform

Run the corresponding tools from the compiled binaries

These tools are primarily intended for:

Generating and processing 3D assets

Authoring scenes and materials

Preparing data for deployment in both native and web environments

For detailed instructions on how to obtain, build, and use these tools, refer to the C++ API Getting Started guide.

bg2 engine provides a set of tools for asset creation and scene authoring. These tools are designed to support the content pipeline used by both the TypeScript and C++ APIs.

At the moment, creation tools are available only as source code. They are distributed as part of the C++ API repository and must be built directly from source.

To use these tools:

  • Clone the C++ API repository

  • Build the project using the native toolchain for your platform

  • Run the corresponding tools from the compiled binaries

These tools are primarily intended for:

  • Generating and processing 3D assets
  • Authoring scenes and materials
  • Preparing data for deployment in both native and web environments

For detailed instructions on how to obtain, build, and use these tools, refer to the C++ API Getting Started guide.


Regardless of the selected API, both environments follow the same architectural principles:

  • Scene graph with hierarchical nodes
  • Component-based design for behavior and rendering
  • Consistent asset formats across platforms
  • Similar rendering concepts and workflows

This allows developers to move between both APIs with minimal friction and reuse assets without transformation.


After choosing the appropriate API, continue with the corresponding “Getting Started” guide for detailed setup and first application examples:

  • TypeScript API Getting Started
  • C++ API Getting Started