File formats

We try to be as mod-able as possible, so we’ve documented the file formats used in BeamNG

Extension Description
.js JavaScript (JS) Source Files
.dds DirectDraw Surface (DDS)
.png Portable Network Graphics (PNG)
.json JSON Data Files
.dae Collada 3D Models
.ts TypeScript Code
.jbeam JBeam Format
.map Map Files
.jpg JPEG Image Files
.svg SVG Vector Graphics
.lua Lua Scripts
.md Markdown Documents
.pc PC Project/Config
.ogg Ogg Vorbis Audio
.flow Flow Files
.prefab Prefab Files
.css Cascading Style Sheets (CSS)
.cs C# Source Code
.flac FLAC Audio Files
.link Link Files
.vue Vue Single-File Components
.hlsl High-Level Shading Language (HLSL)
.txt Plain Text Files
.scss SASS/SCSS Stylesheets
.html HTML Documents
.ttf TrueType Fonts
.pak Pack/Archive Files
.mjs ES6 Module JavaScript
.xml XML Documents
.cjs CommonJS JavaScript Modules
.yml YAML Files
.dll Windows Dynamic Libraries
.cdae Cached Collada Shape
.py Python Scripts
.otf OpenType Fonts
.tsbuildinfo TypeScript Build Info
.bank Audio Bank Files
.exe Windows Executables
.atlas 2D Sprite Atlases
.jst JavaScript Templates
.mts MTS Files
.log Log Files
.blend Blender Projects
.cts CTS Files
.ter Terrain Data
.h C/C++ Header Files
.markdown “Markdown” Files
.fmu Functional Mock-up Units
.csv Comma-Separated Values
.hmp Heightmap Files
.so Linux Shared Objects
.gltf GL Transmission Format Models
.riv RIV Files
.tga Truevision TGA Images
.lib Static Libraries
.glsl OpenGL Shading Language Files
.bnf Backus–Naur Form Grammar
.zip Zip Archives
.coffee CoffeeScript Files
.plt Plot Files
.bmp Bitmap Images
.def Definition Files
.qm Qt Translation Data
.bsd BSD Script/Config
.pdf PDF Documents
.pb Protocol Buffers / PureBasic

DirectDraw Surface (DDS)

DirectDraw Surface (DDS) is a container format for bitmap images, widely used for uncompressed or compressed textures in many games.
BeamNG uses .dds for efficient texture streaming and rendering (e.g., normal maps, diffuse textures).

Portable Network Graphics (PNG)

PNG (Portable Network Graphics) is a lossless raster format suitable for interface icons, overlays, and textures where detail and transparency are important.
BeamNG often uses .png for UI elements or smaller texture assets.

JavaScript (JS) Source Files

JavaScript (.js) scripts are used in various web-based or front-end contexts, such as the in-game UI built on web technologies.
They may also appear in build tools, mods, or other workflow scripts.

JSON Data Files

JSON (JavaScript Object Notation) is a lightweight text-based format used for structured data.
BeamNG can use .json to store vehicle configurations, UI settings, performance metrics, or mod data.

Collada 3D Models (.dae)

Collada (COLLAborative Design Activity) is an open standard XML-based file format for 3D assets, developed by the Khronos Group.
Learn more at Wikipedia: COLLADA .

In BeamNG, .dae files typically contain geometry, materials, and scene data. They can be processed into faster-loading .cdae (cached Collada) files for improved performance.

Torque3D Code

This is an obsolete scripting format. Please do not use or modify these files. Use Lua instead.

Lua Scripts

BeamNG uses Lua extensively for in-game scripting, logic, and scenario behavior.
It’s the engine’s primary embedded scripting language for gameplay features and mod support.

HTML Documents

HTML files form the basis of BeamNG’s in-game UI framework, which uses web technologies for menus and overlays.
They may also appear in documentation or custom mod user interfaces.

Ogg Vorbis Audio

Ogg Vorbis is a popular, open-source audio format used for background music, engine sounds, or ambient tracks.
Its compression allows decent quality at smaller file sizes compared to uncompressed formats.

WAV Audio Files

WAV is a standard uncompressed audio container, often used in editing or engine sound banks, given its high fidelity.
BeamNG might store short effect clips or high-quality source recordings as .wav.

Map Files

In the BeamNG context, .map files can refer to mission or level data, storing layout, entity placement, or environment configuration.
They may also appear in mapping tools, holding various references for track or scenario design.

JPEG Image Files

JPEG images (.jpg or .jpeg) use lossy compression to reduce file size, making them popular for textures, UI backgrounds, or documentation images.
Compared to .png, they’re more efficient for large photos but lack lossless transparency support.

SVG Vector Graphics

Scalable Vector Graphics (.svg) are XML-based vector images. They can scale without losing quality, making them ideal for icons, diagrams, or scalable UI elements.
In BeamNG, .svg might be used in web-based UI or documentation.

Markdown Documents

Markdown (.md) files are lightweight text documents that use a simple syntax for formatting (headings, lists, etc.).
They may be used for README files, in-game tutorials, or developer documentation.

PC Project/Config

Files with a .pc extension can vary, but in some contexts they’re “pkg-config” files describing library dependencies.
In BeamNG, .pc might indicate a custom config or resource file for internal tooling.

Flow Files

Flow files (.flow) can refer to chart/diagram definitions or specialized script logic.
They aren’t a standard format in BeamNG, so they’re likely for custom workflows or experimental features.

Prefab Files

Prefab (.prefab) files often store pre-built “prefabricated” objects in game engines.
They can define a ready-to-use set of models, materials, and configurations for quick placement in levels.

Cascading Style Sheets (CSS)

Cascading Style Sheets (.css) define visual styles for HTML interfaces.
BeamNG’s UI system, built on web technologies, may use .css to style menus, scenario overlays, or mod UIs.

C# Source Code

.cs files typically contain C# source code. They may appear if BeamNG uses C# for tools, build scripts, or external utilities.
Often used in .NET-based development environments.

FLAC Audio Files

FLAC (Free Lossless Audio Codec) is a high-quality audio compression format without losing detail.
Though .ogg is more common for in-game assets, .flac might store master or high-fidelity sound files.

Link Files

“Link” files can be symbolic references or shortcuts, often on Windows.
They might be used to link to external data or provide shortcuts for mod resources.

Vue Single-File Components

.vue single-file components are used in the Vue.js framework for web UIs.
If BeamNG’s UI uses Vue, .vue files can contain HTML, CSS, and JS in one component file.

High-Level Shading Language (HLSL)

High-Level Shading Language (.hlsl) is Microsoft’s shader language for Direct3D.
Such files may appear if BeamNG uses custom shaders for improved graphical effects.

Plain Text Files

.txt is a generic plain text format for logs, notes, or descriptors.
BeamNG or mods might include simple textual data in .txt files.

SASS/SCSS Stylesheets

SASS/SCSS (.scss) is a superset of CSS providing variables, nesting, and more.
Compiled to standard .css, it may appear in advanced BeamNG UI styles or dev tools.

TrueType Fonts

TrueType font files contain vector-based glyphs.
.ttf is commonly used to display text in the game UI, ensuring consistent typeface usage in menus or overlays.

Pack/Archive Files

Pack or archive files (.pak) bundle multiple resources into a single container.
They can be used to compress and distribute game assets or mod content in a simpler package.

ES6 Module JavaScript

ES6 module JavaScript files (.mjs) are used when JavaScript code is explicitly in module form.
In BeamNG or related dev tools, .mjs may appear for modern JS imports/exports.

XML Documents

XML files are a structured text format often used for configuration, data storage, or scripts.
They can define scenarios, UI layouts, or other assets in BeamNG.

CommonJS JavaScript Modules

CommonJS JavaScript modules (.cjs) are used in older/Node-like JS bundling.
They might appear in build scripts or legacy modding workflows where ES modules aren’t used.

YAML Files

YAML files (.yml or .yaml) are human-friendly, structured data formats.
They can store configuration settings, environment variables, or other structured data in BeamNG.

Windows Dynamic Libraries

Dynamically Linked Libraries (.dll) contain compiled code on Windows.
They might be used for external native modules, plugins, or custom engine features in BeamNG.

Python Scripts

.py files are Python scripts used for automation, data processing, or custom tooling.
In a BeamNG workflow, they could generate data, manage builds, or provide mod management scripts.

OpenType Fonts

OpenType Fonts (.otf) are similar to .ttf but can contain advanced typographic features.
They’re used to display custom or additional fonts within the BeamNG UI or for modded texts.

TypeScript Build Info

This file is generated by the TypeScript compiler to speed up subsequent compilations.
It usually contains incremental build information, not meant to be edited manually.

Audio Bank Files

Audio bank files (.bank) may store multiple sound assets or cues in a single container.
They’re sometimes generated by audio middleware (like FMOD, Wwise) for use in the engine.

Windows Executables

Windows executable files (.exe) can be tools, installers, or external programs related to BeamNG.
Mods rarely distribute .exe directly but dev tools might appear in the repository.

2D Sprite Atlases

2D sprite atlas files (.atlas) define sub-images (sprites) within a single texture.
They can improve performance by reducing texture switching in UI or 2D game elements.

JavaScript Templates

JavaScript template (.jst) files can store templating logic, placeholders, or partial HTML to inject data.
They’re sometimes used in older web-based mod or UI workflows.

MTS Files

.mts may indicate “Material Template” scripts or another unverified format.
Its usage depends on the context; in some pipelines, .mts can define rendering materials.

Log Files

Log files (.log) record diagnostic information, error messages, or execution traces.
They help debug issues within BeamNG or monitor the game’s runtime behavior.

Blender Projects

Blender project files (.blend) store 3D scene geometry, textures, animation data, etc.
Users or devs might create vehicles or assets in Blender before exporting to .dae.

CTS Files

.cts can be a custom beam or collision format, or an internal script extension.
If used in BeamNG, it might hold specialized data for collisions, triggers, or scenario logic.

Terrain Data

Terrain files (.ter) can store heightmaps, ground textures, and terrain definitions.
In BeamNG, they might be used by the terrain system for large-scale maps or off-road environments.

C/C++ Header Files

Header files (.h) declare C/C++ data structures, functions, or constants.
They can appear in BeamNG’s native code or in external libraries that the game uses.

“Markdown” Files

Like .md, .markdown is an alternate extension for Markdown files.
Used for documentation or readmes, especially in internal or older repos.

Functional Mock-up Units

Functional Mock-up Units (.fmu) are containers for dynamic system models (e.g., from Modelica).
They may be employed in advanced physics simulations or external toolchains integrated with BeamNG.

Comma-Separated Values

Comma-Separated Values (.csv) is a text format storing table-like data.
Data logs, performance metrics, or references can be handled easily in .csv with Excel or scripts.

Heightmap Files

Heightmap files (.hmp) store terrain height data in a raw or partially processed form.
They can be used to generate or modify map terrains in BeamNG or other simulation contexts.

Linux Shared Objects

Shared objects (.so) are dynamic libraries on Linux/Unix.
They can provide platform-specific code or engine modules, though Windows .dll is more common in BeamNG.

GL Transmission Format Models

GL Transmission Format (.gltf) is a modern, JSON-based standard for 3D models, scenes, and animations.
It can be used in workflows that require an open, efficient runtime format—though .dae is more common in BeamNG.

RIV Files

.riv may be an obscure or proprietary container—for example, “River” data or “RIV” file-type from certain software.
Its usage depends on third-party tools or custom map-making processes.

Truevision TGA Images

Truevision TGA (.tga) is an older image format supporting various compressions and alpha channels.
It’s sometimes used for textures or decals in games.

Static Libraries

Static libraries (.lib) contain compiled code to be linked into executables.
They can appear in native code projects that interface with the BeamNG engine or its tooling.

OpenGL Shading Language Files

OpenGL Shading Language (.glsl) files are used to write GPU shaders for rendering.
BeamNG might store custom .glsl for cross-platform or modded graphics features.

Backus–Naur Form Grammar

Backus–Naur Form (.bnf) is a formal grammar definition for parsing languages.
This might be used in advanced scripting or custom language features in the development pipeline.

Zip Archives

Zip archives (.zip) compress multiple files into one. They’re a common way to distribute mods, data, or packaged builds.
BeamNG can load zipped mod archives from the “mods” folder.

CoffeeScript Files

CoffeeScript is an older language that compiles to JavaScript.
It provides a concise syntax, though it’s less common now as tooling has shifted to TypeScript.

Plot Files

Plot files (.plt) may contain data for plotting graphs or lat/long routing, depending on context.
They aren’t standard in BeamNG, so usage is likely niche or for specialized graphical data.

Bitmap Images

Bitmap images (.bmp) store uncompressed pixel data.
They’re less bandwidth-efficient but can appear in older mod assets or specialized tooling.

Definition Files

Definition files (.def) might contain constants, macros, or resource definitions.
In some engines, they store references for conditions, object types, or exported symbols.

Qt Translation Data

Qt message translation files (.qm) contain compiled translation data.
If BeamNG or a mod uses Qt-based tools, .qm files might provide localized strings.

BSD Script/Config

.bsd can represent BSD script/config or a specialized extension.
Used typically for shell scripts or custom resource definitions in some workflows.

PDF Documents

Portable Document Format (.pdf) is used for documentation, manuals, or reference guides.
Modders might include PDFs describing advanced setups or custom instructions.

Protocol Buffers / PureBasic

.pb might refer to Protocol Buffers (serialized data) or PureBasic source code.
In a BeamNG context, it’s likely a custom or external format, not commonly used by the game itself.

Last modified: February 24, 2025

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.