Skip to main content

Making Bulletproof BSP with Blender for Unreal 227J+

Level Design Article


Important:: The method in this tutorial only functions with 227J and onwards currently, as it provides alternative means to handle collision in order to make BSP compiling more simplified. Most Ue1 games don't have this!!!

This tutorial is intended to guide the user to be able to craft maps potentially as big as the UEd bounds permit (65536 on the X, Y and Z axis from one side to another) and the max node limit allowed (262,144 nodes) without needing to be pre-occupied with the bane of a UEngine mapper's existence that's probably caused us many sleepless nights which have always been cryptically known as BSP holes. The tutorial involves tools such as Blender (I will personally be using version 2.93.1 just because this is the version I'm mostly familiar with. Any later version can be used for this process though a few hotkeys and interface locations might have different placements), Colin Basnett's batch .t3d export plugin and UEd 2.2 for this procedure. I'll also put a TL;DR summary version at the end for users already experienced with Blender + UEd, or even if you've covered this tutorial already and you just want some key points to be reminded of certain steps.

The entire logic to this modus operandi is that everything we create we make as easy and as fool proof for UnrealEd's compiler to digest during the rebuild process, we will be placing Non-solid brushes into the map with not necessarily any volumetricity, imported as non-solid brushes with gaps and holes. This skips any need for complex and sometimes problematic collision calculations which the compiler would otherwise be potentially working out (or in many occasions make mistakes with), for collision we will be using both invisible static meshes that were converted from the original 'visual' non-solid brushes, and once our level nears completion: collision volumes which match the visual geometry for a more robust collision solution. The static mesh world collisions will still remain however, because as far as i know collision volumes don't block light rays.

Additionally, part of the reason we're using Blender to make the map rather than sprinkling UEd with a bunch of vertex edited triangular sheets is not just because this would be slower and arduous, but sadly UnrealEd's brush generators seem to create less stable brushes in comparison.

Summary of the pros and cons of this method:

Making Bulletproof BSP with Blender