We try to be as mod-able as possible, so we’ve documented the file formats used in BeamNG
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).
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) 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 (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.
.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.
This is an obsolete scripting format. Please do not use or modify these files. Use Lua instead.
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 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 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 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
.
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 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.
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 (.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.
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
) 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 (.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
) 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.
.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 (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 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 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
) is Microsoft’s shader language for Direct3D.
Such files may appear if BeamNG uses custom shaders for improved graphical effects.
.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 (.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 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 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 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 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 (.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 (.yml
or .yaml
) are human-friendly, structured data formats.
They can store configuration settings, environment variables, or other structured data in BeamNG.
Dynamically Linked Libraries (.dll
) contain compiled code on Windows.
They might be used for external native modules, plugins, or custom engine features in BeamNG.
.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 (.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.
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 (.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 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 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 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
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
) record diagnostic information, error messages, or execution traces.
They help debug issues within BeamNG or monitor the game’s runtime behavior.
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
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 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.
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.
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 (.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 (.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 (.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.
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 (.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
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 (.tga
) is an older image format supporting various compressions and alpha channels.
It’s sometimes used for textures or decals in games.
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 (.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 (.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
) 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 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 (.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 (.bmp
) store uncompressed pixel data.
They’re less bandwidth-efficient but can appear in older mod assets or specialized tooling.
Definition files (.def
) might contain constants, macros, or resource definitions.
In some engines, they store references for conditions, object types, or exported symbols.
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
can represent BSD script/config or a specialized extension.
Used typically for shell scripts or custom resource definitions in some workflows.
Portable Document Format (.pdf
) is used for documentation, manuals, or reference guides.
Modders might include PDFs describing advanced setups or custom instructions.
.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.