A downloadable Unreal Engine plugin for Windows
Combine the best of both worlds when working on your 3D game!
The ease of BSP level construction with tried and tested tools can now be married to the power, speed and high performance of the Unreal Engine.
HammUEr is a Windows only plugin for Unreal Engine 4 (and as soon as a stable version is out, 5) that lets you build your levels with any level editing tool that supports the formats designed for Valve's Hammer map editor (VMF), Doom3's DoomEdit (MAP/PROC) or an idTech2-3(Quake 1-3 and assorted other games that use the engine with varying levels of success and no guarantee of perfect imports)-based tool like GTKRadiant, JackHammer or Trenchbroom (MAP). With just a few simple clicks, you can have them imported into your Unreal Engine project as a collection of meshes placed in your scene the way you want, where you want. Want to change something? Make your edits in your favourite tool, then save, re-import, and you're done.
During the importing process you can assign materials already in your project to the original material names, or if you have the source images - (TGA/BMP/PNG/JPG)/VTF&VMT/SHADER(Q3)/MTR(D3)/WAD(Quake1 & Halflife)/WAL(Quake 2) - you can import them into UE as material instances based on a template material of your choice, and let HammUEr automatically find and assign the right ones. Don't want certain materials to show? Mark them no-draw and HammUEr will automatically not build sides for them!
Want to start building a level in Hammer with your UE materials for true WYSIWYG level editing? HammUEr can do that by exporting your UE material textures to VMT/VTF combos for easy use in Hammer with one click.
Have Source models you created for your maps? HammUEr can bring them into Unreal Engine for you and places them where they belong.
Use overlays and decals? HammUEr will also import those for you.
All my Unreal Engine 4 plugins are in maintenance mode. That means I'll fix large bugs, and update to new engine versions when I have time, but don't expect any new features to be added.
While most of the functionality is robust and well implemented, there's a few things that are still freshly implemented and, while they seem to work fine with my battery of sample maps, could use more testing (Q3 and Doom3 support in the latest builds).
(Screenshots from @skacky's func_mapjam_5 Quake map and Portal Stories: MEL map imports are only supplied as an example of what the tool can do with your own maps. The plugin is not meant to be used to import maps from other games or help infringe any copyrights.)
Where did the settings go?
With the 2.2 update, HammUEr's settings were moved away from the ConfigUEr tab to be more in line with the rest of Unreal Engine, and can now be found under Edit/Project Settings/Game/HammUEr.
Sorry for the confusion.
Third party libraries
From the Back To School updates for 4.26 and 4.27, HammUEr was switched from using homebrew VTF reading and writing code to using a version of VTFLib, updated to compile on more recent Visual Studio versions, which can be found here.
You are allowed to use HammUEr to import maps, textures and models you created, or have the rights or some kind of written permission for, as you need to acknowledge multiple times in the plugin itself.
You are not allowed to use HammUEr to infringe anyone else's copyrights by importing their maps, textures or models, and redistributing or selling the result, because that would be theft and illegal.
Remember, you're responsible for anything you do with HammUEr, and I'm in no way liable for any fallout that might occur as a result of your actions.
This means no fan "remakes" in UE4 of someone else's game, people.
You're also not allowed to resell or redistribute HammUEr or any part of the code (not in the Runtime section) or library to third parties. You are allowed to make modifications to your copy of the plugin source to integrate HammUEr into your own pipeline, though.
|Made with||Unreal Engine|
|Tags||3D, hammer, plugin, quake, Unreal Engine|
In order to download this Unreal Engine plugin you must purchase it at or above the minimum price of $42 USD. You will get access to the following files:
Log in with itch.io to leave a comment.
5.1.1 extra pretty please with an extra cherry on top <3 <3
Is there a discord group for this plugin where I can ask a couple of questions? Lots of love
5.1 pretty please with a cherry on top <3
Should now be up.
Sorry it's so late, I've been quite ill.
Ahh sorry to hear, hope you're feeling better!
Возможно ли купить в России?
I'm sorry, I'm constrained by what the itch (and gumroad) payment processor(s) accept.
Would really like to see Mac compat! Love the tool.
Unfortunately, I don't have a mac.
I also don't really have the time to support two different platforms with different requirements (and I'm pretty sure there's no mac version of vtflib, so that'd be another complication...)
I'm going to have to shelve this under "probably never happening, sorry."
I understand. Thank you for taking the time to respond anyway!
Thanks for the awesome tool!
Feature request: Do you think it would be feasible to add an option to disable texture filtering when importing textures? E.g. when importing from Quake 1 .wads it seems to default to using the "Default (from Texture Group)" Filtering setting on the UE5 texture. If I want to maintain the pixelated Quake1 look I need to go into each texture and set it to Nearest Neighbor. Not that big a deal but it would be nice if this could be set at import time.
Hm, that should be doable.
No promises for when it'll be added (and probably only to whatever the next UE version is)
ive been trying to use it to import 2fort but the textures are missing, i genuinely have no idea what to do, ive looked everywhere trying to find any information on it but ive had no luck
You need to import any textures and materials you need separately first, from the TextUEr tab.
(and then restart UE for them to actually show up in the content browser, so they can be found and be linked up correctly when you try to import the VMF)
I'm getting a error when trying to import a vmf which crashes UE5.
UnrealEditor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_51e270ca99ea7ce852539efd04dd453f> >() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:405]
This callstack unfortunately doesn't help a lot.
It just says "something went wrong in HammUEr code", which basically tells me nothing...
If you still have this problem, feel free to drop me the offending VMF if you want, so I can add it to my testing group?
HammUEr 2.2 lacks any general settings for some reason and only shows session specific settings, any fix?
I'm having the same issue, did you find a workaround?
Hi, general settings were moved to the actual Unreal Engine project settings menu, under Edit/Project Settings/Game/HammUEr.
Sorry for the confusion.
Could one make this plugin work at runtime in C++? Without the import window obviously. And does this come with the C++ source code? Thanks.
I'm afraid the code (and general workflow) isn't fast and performant enough to work runtime.
HammUEr comes with the source code for the Unreal Engine facing part, I'm afraid the actual conversion code isn't supplied because it uses some proprietary code I can't distribute.
Hi, does HammUEr supports the secondary UV channel, used with decal textures?
If not, can it be implemented please?
As far as I've been able to ascertain and been told, the secondary UV channel for decals was a CS:GO hack specifically for one single map (nuke), that's... not really relevant for how decals work in UE?
Hi, the UE5 version asks to be recompiled on UE 5.0.1 when I enable the plugin in my project, and trying to recompile it with UnrealBuildTool leads to errors during the process (whether with VS2019 or 2022 installed, it outputs errors like C2664 or C2678 in several files).
Strange, that shouldn't happen, since those are "this code is wrong and can't compile" errors, and it... compiles fine.
Anyway, I've uploaded a precompiled 5.0.2 version, which should hopefully solve your problem.
Ue5 version doesnt seem to be working, says it requires HammUEr and HammUEr runtime
My bad, there's a silent dependency on a .modules file that I didn't notice _doesn't_ automatically get created when you do a standalone build outside of the editor in UE5 (but it _did_ in UE4...), and if that's missing, unreal engine complains.
Should be fixed now in the 5.0.2 version I just uploaded.
Question, can this tool convert maps in reverse (UE4 to hammer?)
You *can* convert your materials from UE to Source to some extent to help with visualization,
but that's it.
Hi, does HammUEr support American McGee's Alice BSP files? Or can I pay for you to add support?
Alice uses the same engine (Quake3 + Ritual's UberTools) as Heavy Metal F.A.K.K 2. Alice uses a FAKK42 BSP signature and F.A.K.K 2 uses FAKK12.
The following link may help also:
HammUEr explicitly doesn't read compiled BSP files, only source files for maps, sorry.
This is such an amazing product!! Thank you so much!! Any plans to bring to UE5??
Would love to use this with Source 2. Does it work with the new version of Hammer? If not, are there plans to support Source 2? New Hammer is a dream for level design.
Unfortunately, Source 2 support will never be added.
I was just wondering if you plan on supporting UE5?
Yes, eventually, when there's a "proper" one and no longer release candidates.
Thanks for the quick reply, much appreciated.
HammUEr 2.2 for 4.27 always crashes (100% from ~10 times) Unreal when importing models. What is the issue?
I'm going to need more information that "it always crashes when importing models". What models? Are there any error messages?
I am trying to import CS:GO models.
The current error is: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000002510ad096cc
In YouTube comments I was suggested to split up models to different folders and try importing them separately. As it was claimed that it might be running-out-of ram issue. Though I have 128gb of ram. So far it worked, I still got the error in the last batch of 200mb models. I will split them up and see if it imports. If not, maybe there is a single or few files that causes this crash.
So I found one problematic model that will crash Unreal engine (HammUEr 2.2 for 4.27 ). The model is "animset_uiplayer_poses". It is in CS:GO models, the rest imports ok.
Yeah, there's no animation support in HammUEr, and I'm guessing this one has no mesh information at all.
Just going to reiterate this problem. in 4.27 Im using the back to school 2.2 version for 4.27, the ConfigUEr tab only shows "session specific settings" Any ideas how to fix this?
Just want to mention Ive used HammUEr for older versions of unreal with no problem. This is the first time I have had this issue with a version of HammUEr
Sorry, most of the settings were moved to an actual unreal settings page, so you can find everything in the actual project settings now
oh wow! thank you so much! This is great! Super helpful :D
I watched the quick-start video and wow this thing is amazing! My only question is - my scale is off but for some reason the general settings under the ConfigUEr tab do not show up. Only the session specific settings do. Any way to fix that?
I second this issue, I also have it.... Anyone know how to fix this?
Sorry, most of the settings were moved to an actual unreal settings page in the most recent version, so you can find everything in the actual project settings now
Hi, how can i build hammuer for my custom ue4 build since my VS throws me an error: "HammUErRuntimeClasses.h(113) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module."
I mean, it compiles locally with launcher UE4, and has since the very first version, so...
That line number doesn't seem to match with latest source, and you didn't specify *which* UE4 you're trying to build for, so I have no idea where the problem could be...
Anyway, find any public class property that's a UPROPERTY but doesn't have a Category = "<something>" bit in it like all the others, and add one I guess, see what happens?
Thank you for your response, for some reason unrealbuildtool didnt throw this error, so i just recompiled with #pragma warning(disable : 4834) in HammUErPrivatePCH.h since it was treating 'nodiscard' warning as error and i was done.
Woah!!! Great program! Such a relief....almost....
I do have a small problem, oh great software wizard. :) the map looks pretty intact in trenchbroom, but upon importing certain complex geometries, I have massive polygonal holes and stretching in my models.
Is there any way around this? Thank you very much.
I've updated the default algorithm in the new Back to School update for 4.26 and 4.27, which should hopefully take care of this problem for you.
Why do I lose some models when I import maps and models into the dus2 map in csgo, not only this map, but also some of the maps of inferno.
I know that Valve models sometimes have different names inside of them than the one the map expect, so you might have to look for the closest matching one and copy/rename it?
Does Hammuer not support WorldGGX? https://developer.valvesoftware.com/wiki/WorldGGX
Been trying to import DOI maps. And running into issues with Hammuer not creating materials for DOI VMT blend files which don't have their own VTF file. However, I never had any problems with insurgency.
However that from what I can tell, insurgency mainly uses WorldVertexTransition which works great for Hammuer. So I'm guessing that there is some kind of issue with Hammuer not creating materials for these VMT files which have 'WorldGGX' and no accompanying VTF file.
Is this something that could possibly be solved in the future? As right now I guess my only option is to go through all VMT files with WorldGGX and no accompanying VTF and switch them to WorldVertexTransition and hope that Hammuer creates a mat for those then?
Not... explicitly no, sorry.
Could maybe look into this for the next version.
I may not get an answer to this but could it be possible if this was available on Unreal Engine 5 in the future.
Import the map in UE4 and migrate the project to UE5.
I will be releasing an UE5 version down the line.
I've got a preliminary port working, but I'm going to take this opportunity to rewrite some things, and the current EA build is... not very plugin creation friendly.
Why does the plugin use all 16GB of my memory when I import models. It didn't do this before.
I don't think I changed anything in how the model importing code works recently...
You have any more information for me?
Working with this on 4.26 I am also having extreme memory usage issues when importing materials to the point that unreal crashes as it runs out of memory (64GB+ of RAM & 100GB+ Pagefile Size) when doing imports - typically at the "creating materials" stage. Running the same import on previous versions does not seem to cause this issue, possible memory leak?
I'll do some investigating while I do my rewrites for UE5, and release the same changes in an UE4.26 version
Hopefully the switch to VTFLib fixes this.
Will this support UE5 when it comes out?
Hi!! this software is awesome, I'm starting working with it.. I'm having problems, my UVs sometimes are bad applied within unreal, can you get me some clue to fix it?
I'm using trenchbroom in quake mode to make maps.
This should hopefully be fixed with today's Christmas Fixes, if it's the same problem as REVEL303 had downpage.
when importing materials this thing always appears. does anyone know how can i solve it?
Sorry, that's one I've never seen before.
I'm guessing one of your textures is broken, or not supported.
Try checking the log to see where it fails, or try breaking up your texture directory in a couple different ones, and then import them one by one to try and narrow the problem that way.
how can we fix the corrupted black textures on meshes with a compressed normal textures?
for black textures, turn off (or is it on?) Two-sided materials. For compressed normals... No idea.
Love your work on the program! Currently an issue with the 4.25 version and importing valve 220 format maps from trenchbroom. It seems like no uv data is imported.
No problems with standard mode in 4.25, no problems with this same .map file with 4.24. Zero out Q1 rotation flag is correct, all import settings correct. Tested across multiple workstations.
As far as I remember, it should autodetect Valve 220 maps, and the Q1 rotation stuff should only be necessary to make things line up as expected, not ungarble UVs completely.
Can you pastebin (a section of) the map with the problem so I can test it locally? (with a list of expected texture sizes)
Thanks for the reply, here's a small hallway.
All textures sizes are at 256x256, let me know if this works.
My current workaround has been to build the map in valve mode, and convert the map format to standard, which keeps thing mostly intact. Obviously there's a few texture alignment snags here and there, but a price I'm more than willing to pay to continue using hammuer. It's a great tool!
Bringing this up to confirm that by converting to standard, this test section also imports correctly.
Thanks, that helped me track down the problem.
I've got a fix that'll go in the next fix drop for 4.25 (around 4.26 release, so hopefully soon).
A workaround that _might_ work until then is to add a "wad" property, so it forces the parser down the classic map path...
The Christmas versions should now import your 220 maps without problems.
Sorry for the slightly longer delay, there were a few other fixes I wanted to get in, and then the pandemic got in the way.
Not a problem! Thanks again for giving this a look, happy holidays!!
@NT Entertainment - Thanks for the amazing plugin; it is worth every penny. Is it possible to export the collision mesh from a Source game map? Everything else works great, but I didn't see an option for exporting the collision.
Sorry, no support is planned for exporting anything from compiled versions of Source maps.
Is this compatible with Cinema 4D
As in using the plugin in another program?