A downloadable Unreal Engine plugin for Windows

Buy Now$42.00 USD or more

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.


Why "alpha"?

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.


Terms of use

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.

Updated 5 days ago
StatusIn development
CategoryTool
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(16)
AuthorNT Entertainment
Made withUnreal Engine
Tags3D, hammer, plugin, quake, Unreal Engine
LinksSupport

Purchase

Buy Now$42.00 USD or more

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:

HammUEr 1.8 alpha for 4.17 3 MB
HammUEr 1.8 alpha for 4.18 3 MB
HammUEr 1.8 for 4.19 fixed 3 MB
HammUEr 1.8 for 4.20 1 MB
HammUEr 1.8 for 4.21 2 MB
HammUEr 1.9 for 4.22 3 MB
HammUEr 1.9 for 4.23 Quake Fix 3 MB
HammUEr 2.0 for 4.24 April Tools 3 MB
HammUEr 2.1 for 4.24 Seven Eleven 3 MB
HammUEr 2.1 for 4.25 3 MB
HammUEr 2.1a for 4.25 Reload Fix 3 MB
HammUEr 2.1a for 4.25 Christmas 3 MB
HammUEr 2.1a for 4.26 Christmas 3 MB
HammUEr 2.2 for 4.26 Back To School 4 MB
HammUEr 2.2 for 4.27 Back To School 4 MB
HammUEr 2.3 for 5.0 Take Five 4 MB
HammUEr 2.3 for 5.0.2 Take Five 4 MB
sample materials 192 kB

Download demo

Download
HammUEr manual 1 MB
Download
HammUEr quick-start guide 1 MB

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 112 · Next page · Last page

I'm getting a error when trying to import a vmf which crashes UE5.

KERNELBASE

VCRUNTIME140

msvcp140

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_HammUEr

UnrealEditor_Slate!SButton::ExecuteOnClick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:464]

UnrealEditor_Slate!SButton::OnMouseButtonUp() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:389]

UnrealEditor_Slate!<lambda_51e270ca99ea7ce852539efd04dd453f>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4959]

UnrealEditor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_51e270ca99ea7ce852539efd04dd453f> >() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:405]

UnrealEditor_Slate!FSlateApplication::RoutePointerUpEvent() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4945]

UnrealEditor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5493]

UnrealEditor_Slate!FSlateApplication::OnMouseUp() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5458]

UnrealEditor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2210]

UnrealEditor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2699]

UnrealEditor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1078]

UnrealEditor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:916]

user32

user32

UnrealEditor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:138]

UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5139]

UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]

UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]

UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]

UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]

UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]

kernel32

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?

(1 edit)

Hi, general settings were moved to the actual Unreal Engine project settings menu, under Edit/Project Settings/Game/HammUEr.
Sorry for the confusion.

Thank you!

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.
Sorry.

您好,为什么我要导入csgoprop是我的UE崩溃了,崩溃错误是未处理的异常:EXCEPTION_ACCESS_VIOLATION读取地址0x000002680581004c

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? 

(+1)

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).

(1 edit) (+1)

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.

(+1)

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?)

(1 edit)

Sorry, no.
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:

https://github.com/zturtleman/spearmint/blob/master/code/qcommon/bsp_fakk.c

Thanks, Anna

HammUEr explicitly doesn't read compiled BSP files, only source files for maps, sorry.

(1 edit) (+1)

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.
Sorry.

Hi,

I was just wondering if you plan on supporting UE5?

Thanks.

Yes, eventually, when there's a "proper" one and no longer release candidates.

Hi,

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?

Not... sure?
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.

Thanks

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.

Thanks.
Yeah, there's no animation support in HammUEr, and I'm guessing this one has no mesh information at all.

(+1)

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?

(+1)

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

(+1)

Sorry, most of the settings were moved to an actual unreal settings page, so you can find everything in the actual project settings now

(+2)

oh wow! thank you so much! This is great! Super helpful :D

(1 edit) (+1)

Project Settings/Game/HammEur

(1 edit)

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?

(1 edit)

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

Project Settings/Game/HammEur

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."

Not... sure? 
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. 



(+1)

Hi!
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'm... unsure.
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.

(-1)

yo can i get your email

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.

I've tried importing the map in different ways already dozens of times. I don't understand why this is happening

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?

(+1)

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.

(1 edit)

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. 


Strange.
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. 

https://pastebin.com/GVxfj6S9

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. 

(1 edit)

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.

4.25?

Is this compatible with Cinema 4D

As in using the plugin in another program?

No.

Ok. There is a problem with imported prop names. It cuts it for some reason.
Original prop name is "_autocombine_dust_chainlink_fence_links_167"
but it imported it with name "_autocombine_dust_chainlink_fence_l" and it created a placeholder with the right name after VMF import.

I'll make some changes to how HammUEr handles the waaay too short internal names for models in the next build, which should... hopefully go live by the end of the month.
I remember there was a reason why I kept it to the internal name by default, but I don't remember what it was, so...

(1 edit)

Something is wrong. Too many props appear as red question marks.

(3 edits)

Hello,i have this error when import CSGO materials UE4 4.24 Hammuer.Same when use 4.16,4.17,4.23

i5 9600k 3.7GHZ

16GB ram

RTX 2070

WIN 10


https://www20.zippyshare.com/v/NKiG9fmH/file.html Log...


Same :(

(3 edits)

Something similar happens to me, it just goes too slow or conjectures. Sometimes works but I'm having a bad experience, even if sometimes the problem is the name of the folder where the files have been imported, make sure it doesn't contain points and stuff (;:, /%). Possibly version, install previous versions of UE4

Why does UE4 always crash when I import a map

Deleted 1 year ago

Do you mean VMTs?
It should support a subset of them, at least.

im trying to find where i can download it again, pls hel

Hi, I'm having some issues with smoothing where normals for adjacent faces are different.  This affects lighting as you can see here.  What settings do I need to be tweaking to affect the calculation of normals on adjacent faces like this??

Deleted 2 years ago
(1 edit)

Think it depends on what your brushes look like, how you used the nodraw options for them and if they're grouped or not. There's also smoothing/normal options on the ConfigUEr tab you could experiment with.
Other things you could try on the UE side is to maybe join the two meshes together, and let UE recompute the normals itself.

Viewing most recent comments 1 to 40 of 112 · Next page · Last page