Scopa
Unity level design plugin that adds support for Quake .MAP / Half-Life .RMF / Source .VMF, Q1 HL1 .WAD textures, and .FGD export.
Install / Use
/learn @radiatoryang/ScopaREADME
Scopa
Scopa ("broom" in Latin) is a Unity level design plugin that adds support for various Quake / Half-Life / Source map file formats. Like func_godot but for Unity. To build levels, we strongly recommend TrenchBroom.
WARNING: in unstable early development, not ready for production use yet, might change a lot or break
- MAP, RMF, VMF, JMF import generates model prefab with meshes, colliders, entities. (note: only core Q1 MAP features)
- WAD import / WAD export (Quake 1 WAD2 / Half-Life WAD3 textures format, not Doom)
- FGD creator can export entity definitions out to TrenchBroom
- works at editor time or runtime (for modding support)

Installation
This is a Unity Package for Unity 2022.3 or later. To install, open Package Manager and add https://github.com/radiatoryang/scopa.git (more info and help)
Dependencies: Burst, Unity.Collections, and Unity.Mathematics. These are already required for URP anyway.
Usage
<img src="Documentation~/MapImportInspector.png" width=256 align=right alt="Map import inspector" />Put a supported file (MAP, RMF, VMF, JMF, WAD) in your /Assets/ folder and it'll import automatically, just like any other asset file. Defaults are tuned to typical Quake / Half-Life level design metrics, 32 map units = 1 Unity meter.
Do your edits in the level editor, not in Unity! Any in-editor changes may be erased when you re-import the .MAP again. Treat the .MAP file as the single source of truth.
For more info, see Documentation.
Limitations
This package doesn't have game code. It just imports and exports files. You still have to make the game yourself.
We treat the Quake 1 Trenchbroom .MAP v220 file format as the core feature set. Anything beyond these core features (brushes and entity keyvalue pairs) is not supported. For more info, see the Map Importer docs.
Contributions
- Issues currently ARE NOT ACCEPTED at this time. Development is still very early.
- Pull Requests ARE ACCEPTED if you know what you're doing / it can be merged easily / it's not a major feature that I'll have to maintain.
Acknowledgments / Credits
- lots of file format handling from Sledge Formats
- GPU-based texture resizing from Unity GPU Texture Resize
- color palette generation from JeremyAnsel.ColorQuant, an implementation of Xiaolin Wu's Color Quantizer (v2) from Graphics Gems volume II
- mesh normal smoothing from Ica_Normal_Tools
Advice
- I prefer more control, but if you want to pay for something simpler with magic auto configuration then try Tremble Map Importer (Asset Store)
- looking for a BSP plugin? try Unity3D BSP Importer
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
