Legacy ASE Exporter + Batch (Add-on)
Table of Contents
The Legacy ASCII Export (.ase) add-on for Blender adds Collection-based batch exporting that’s specifically tailored towards generating valid ASE models for use in idTech or similar game-engine technologies. Ostensibly for use with GtkRadiant the exporter can create files that include multiple meshes (sub-meshes) and multiple materials, vertex colours and more.
Download: KatsBits – Legacy ASCII Exporter (*.ase) (10 KB | *.py).
Installation
Add-on can be installed from From Edit » Preferences » Add-ons, or by dragging the *.zip archive into Blender then clicking “OK” in the Install from Disk confirmation pop-up that appears. The ASE export functionality will then be available from File » Export » Legacy ASCII Export (.ase), enabled by default.
Usage
To export a set of objects inside a Collection, ensure the Collection is highlighted in the Outliner (active Collection), then from File » Export » Legacy ASCII Export (.ase) make sure to click the Batch Objects and/or Visible Only checkboxes depending on what needs to be included. To export a single file, select the Collection the object is in and hide everything except the model to be exported, then ensure Batch Objects is disabled, Visible Only is enabled.
Design note: where Blender is used as a level editor, note that models can be exported in-situ, that is, where they are positioned in the Scene. This may affected Origin placement and/or bounding box boundaries. The ASE export script can also process objects without any need for special preparation beyond what is typically expected for BSP content creations and editing using Blender – closed meshes, triangulated/tessellated (Ctrl + T), single material reference per mesh/sub-mesh, etc. – projects do not need to be reorganised, objects moved or recentred, except to ensure a clean export; models can be left in place within a Collection, hidden or moved if being excluded, any visible or available meshes will then be saved as separate *.ase files in the destination folder.

To export the contents of a Collection, single or multiple objects, make sure meshes to be included are visible, everything else hidden.
Export Options
Upon use, ensure the ‘Settings‘ panel is accessible in the Blender File View instance that appears to set export options and complete the process (should be visible by default, press N if not). Here;
- Forward: sets the ‘Forward’ axis. Default -Y (Blender).
- Up: sets the ‘Up’ axis. Default Z (Blender)[1].
- Batch Objects: exports all objects in active Collection.
- Visible Only: exports visible objects only[2].
- Empty as Root: group object export (root parent).
- Global Scale: rescale/size objects. Default 1.00 (Blender)[3].
- Vertex Colors: exports vertex colors[4].
- Apply Modifiers: applies modifiers.
- Apply Transforms: applies Location, Rotation and Scale properties.
- Apply Edge Split: explicitly applies Edge Splits/Mark Edges[4].
- Recenter to Origin: recenters object to 0,0,0 based on Origin.
[1] generally speaking the Forward and Up axes of a mesh exported from Blender for Radiant/idTech use do not need to be set. However, Blenders axes – Z/Up, -Y/Forward – are set as the defaults.
[2] to exclude meshes from export, hide them in the Outliner (or within the 3D Viewport).
[3] when using Blender to make models for Radiant/idTech they should scaled actual size, i.e. set Units to None and treat each unit of measurement as 1 Radiant grid unit. In other words, an object that’s 8 units high represents the height of a standard step.
[4] while vertex colours can be painted to meshes in Blender and exported to ASE, they do not display in GtkRadiant so require *.map compiling for visual checks in-game.
[5] setting Apply Edge Split ensure all forms of defining mesh smoothing – Mark Shape, Edge Angle, Split Edges (Y) – remain intact and models properly smoothed in-game.

Options available for the Legacy ASCII Export (.ase) add-on includes batch and Collection specific settings.
Materials
The Legacy ASCII Export (.ase) add-on supports objects with more than one material assignment depending on how objects are set up;
- Separate Objects: typically when setting up an object that’s to use several materials, each assignment would be split into a dedicated mesh – one mesh, one material. During export these are then collated together to form the final .ase file.
- Auto-Split: alternatively, models can be made as normal, materials assigned to their respective surfaces – one mesh, multiple materials. During export meshes are automatically split and parsed to generate the necessary structure in the resulting *.ase file.
In both instances the final ASE file will have the correct and Radiant compatible sub-mesh (GEOMOBJECT » MESH) and sub-material (MATERIAL_LIST » MATERIAL) structure relative to the corresponding mesh object and material references assigned in Blender.
Important: unused materials should be removed before export to prevent malformed models.
Design note: to export multiple meshes as a single model, each object needs to be parented to a ‘root’ object that acts as a proxy around which the model is properly organised. To do this, drop an Empty into the Scene (any type), Add » Empty » [option], and position it as the ‘origin’ of the model – ensure each object to be grouped uses the same Origin location. Next, select the objects that are to form the model and using Parent, Object » Parent » Object (» Object + Keep Transform) (Ctrl + P), link them together. Finally, as the resulting ASE is named after the Empty, remain appropriately. Export as normal. The exporter can process multiple groupings set up this way.
Grouped objects can be exported to ASE. To do this Parent everything to an Empty ‘root’ object and rename.

