Porting BSP Files

You should always ask for the map maker’s permission before porting their BSP file

Requirements

First, download and decompile the BSP to VFM with bspsrc In bspsrc, under Other make sure to enable Extract embedded files

Download Blender 4.2 LTS Install the Plumber Blender plugin

Blender Import

  • Create a new “General” Blender file (Ctrl+N)
  • Press A -> Press Delete key to remove the default objects
  • File -> Import -> Plumber -> Valve Map Format (VMF) -> Your BSP’s decompiled VMF file
  • Under the Import settings, deselect Lights, Sky, Sky Camera

Blender Import Options

Your VMF file should now be viewable in Blender!

Blender Controls

  • Mouse Wheel to Zoom
  • Shift+Middle Click to Pan
  • Shift+tilde (~) to enter “Fly” mode
    • Space to speed up
    • Left click to stop

Blender Process

Press A and Join all meshes so a single object Join All

Rename the object and add -col to the name Collision Hinting

Export using: File -> Export -> glTF 2.0 (.glb/gltf) directly to SurfsUpSDK\Levels\<level>\level_name.glb GLB Export Settings

Loading the GLB in Godot

  • Open SurfsUpSDK\Levels\TestLevel.tscn
  • Drag your new GLB file into the Level node
  • Set the GLB’s node scale to (2.5, 2.5, 2.5)
  • Set the Level’s spawn point marker
  • Retexture any missing textures (source engine textures cannot be ported)
  • Export & Test

GLB Godot