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 (currently Windows only) is a plugin that lets you build your levels with 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.

I'm not even close to done adding features, so stay tuned.


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 Half life 2, Quake, Doom3 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.)


More information

Published 1 year ago
StatusIn development
CategoryTool
PlatformsWindows
Rating
(5)
AuthorNT Entertainment
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.00 USD. You will get access to the following files:

HammUEr 1.5 alpha for 4.12.5 3 MB
HammUEr 1.6 preview for 4.12 3 MB
HammUEr 1.6 preview for source 3 MB
HammUEr 1.6 preview for 4.11 (D3 ASE & LWO) 3 MB
HammUEr 1.6 preview for 4.12 (D3 ASE & LWO) 3 MB
HammUEr 1.6 preview for 4.13 (D3 ASE & LWO) 3 MB
HammUEr 1.7 alpha for 4.13 3 MB
HammUEr 1.7 alpha for 4.14 3 MB
HammUEr 1.7 alpha 2 for 4.13 3 MB
HammUEr 1.7 alpha 2 for 4.14 3 MB
HammUEr 1.7.1 for 4.15 3 MB
HammUEr 1.7 func_ origin test 4.15 3 MB
HammUEr 1.7.1 for 4.16 3 MB
HammUEr 1.7.1 alpha for source builds 1 MB
HammUEr 1.8 alpha for 4.16.3 3 MB
HammUEr 1.8 alpha for 4.17 3 MB
HammUEr 1.8 alpha for 4.18 3 MB
sample materials 192 kB

Download demo

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

Comments

Log in with your itch.io account to leave a comment.

Hi. 

Trying out Unreal for the first time, so it's quite likely I'm doing something wrong. It seems that just adding HammUEr as a plugin causes the compile to fail. I'm using "HammUEr 1.8 Alpha 3 for 4.18" and my Unreal version is 4.18 (4.18.0-3709383+++UE4+Release-4.18)

When trying to compile, I get "ERROR: Could not find definition for module 'HammUErRuntime' (referenced via Test.uproject -> HammUEr.uplugin)"

The simplest way to reproduce is start a new project (blank or FPS) and compile from in-editor. It will succeed. Then add HammUEr as a plugin, restart the editor and compile again. It will fail. 

Am I perhaps missing some extra step needed to compile code?

Thanks

Just to clarify though, the actual tools do seem to work in the editor. I can import my Source materials and maps just fine. It's just the compile step that fails.

(Edited 1 time)

Ah, yeah, that's a kinda tricky one I keep forgetting to explain/add to the archive.

Basically, to fix this:

  1.  download the '1.7.1 alpha for source builds' package
  2.  create a Source directory under your HammUEr directory
  3.  create a HammUEr and HammUErRuntime under that
  4.  copy over just the HammUEr.build.cs file from the package to the HammUEr directory, not the rest of the source files
  5.  copy over the entire contents of the HammUErRuntime directory

Compiling and packaging your project shouldn't be a problem any more.

Let me know if you do run into any more things or have questions.

Hey there.  It does a quite good job, but is there a possibility to add the ability import the Brushes as UE BSP Brushes?
That would be awesome, because Brushes in UE are unique Actors instead of Static Mesh assets (It does not bloat the content folder)

It would require rebuilding the pipeline (since people explicitly didn't want anything to do with UE4's BSP tools), and wouldn't support everything, but I can try and fork a build that does that. 
Wouldn't happen overnight, though, so don't hold your breath.

(Edited 1 time)

Hi, I would like to port my Soldier Of Fortune 2 maps, any issue about compatibility with SOF2 ?  I have the .map files made with GTKradiant. Thank you.

Don't know anyone that's tried importing SOF2 maps yet, so I wouldn't be able to give a definitive answer, but I know people have imported Jedi Knight Academy maps without too much trouble, so it all depends on how 'vanilla' Raven kept the map format, I guess. 
I could try importing one, if you put it online somewhere?

What's the proper way to deal with seams in between brushes that will inevitably occur?  I'm importing a simple map with a couple rooms in and there are very obvious seams in between the brushes, and also between the floor and the walls. Obviously this occurs a lot with modular maps in UE4 but does Hammuer offer a solution to help alleviate this?

(Edited 1 time)

Have you tried turning on "Round accepted points to nearest integer"? That should be able to help with some of those problems (although it can't really help with larger gaps)

You can also minimize this by grouping the floors, and do a nodraw pass to ensure there are no extra faces. (ie: do what vbsp does manually, with nodraw)

can i pay it with paysafecard?

Unfortunately, I don't think itch.io supports paysafecard yet.
https://itch.io/t/92888/paysafecardpayment-methods

so, when importing props with hammuer, it doesnt say building master materials list, and when it finishes importing, no textures are connected to the mesh, so its just all grey, for e.g grey chicken, what do i do? I have imported all textures into csgo/textures, and all models into csgo/models

Are your base materials okay?

Try to open them and see if UE has any warnings about them.

Pretty sure the base materials were fine, ill re import the textures later, can you show me what the base materials should look like just so i can confirm?

yes the materials were fine, and imported properly, all meshes dont use textures from the game

(Edited 1 time)

Weird. Can you pastebin your import log for the import of a single model?

Hey, I'm having problem with CS:GO map import. After importing mats, props and then the map, models are showing up on the level, but not the biggest parts such as floors, walls, buildings etc., only models. But! I can see those bigger meshes in content browser, still there are too many of them to actually place them on my own. What do I possibly do wrong, or what should I do, to make them place on the level? As I said, everything with those meshes not placed in the level is fine, mats are assigned and created,  they are just not placed at  all.

...  huh.
Did it really not create any actors for the actual level geometry in your map?
Or are they just not being rendered?
Have you tried clicking the eye icon off and on to force a show all refresh, like in the troubleshooting section of the documentation?

Uhh, it's like, it places all those small models on the map except those big ones which are in contest browser still. Dunno why, tried refreshing the view as you said but it didn't fix anything. Worth to add is the fact, that it happens only to the newer cs:go maps, such as Inferno, but also Cache which is pretty old map, but I noticed something weird bout it. Both inferno and cache are having different type of write or something like that, cause they do not have the normal map compression and then materials + models in the game folder, I have to decompile them  with embed files so the file structure is different. I gotta load materials separately cause I get them from the .bsp file  after decompiling.

(Edited 2 times)

Weird. There are known problems with decompilers writing broken vmf files, though.
Have you tried opening your decompiled maps in Hammer, see if they work there and save them before trying to import them in HammUEr again?
Just checked with an inferno vmf from here, and that imports (mostly) fine, so maybe use those instead of your own decompiles?

(Edited 1 time)

Hello, I've a problem importing over 1000 of the props from CS:GO, the error in the log file is different depending on the HammUEr/UE4 version. On the latest (1.7.1 / 4.16) it looks like this.

The ones starting with "Tried to find..." are imported, the others aren't.  Here's the underlined model missing in the viewport.

 When I rebuild the material master list after importing materials/textures, some extra props show up but not much really. The corresponding material to the missing models are imported flawlessly, it's only the models itself. As you can see, they show up in PropUEr window, they just fail to import. 

Please help, if possible, these missing props are detrimental for my personal work. Thanks for understanding!

EDIT: I've some extra info I forgot to mention. Joe Wintergreen, someone who has been promoting your work has made a video on how to import Dust 2 from CS:GO with HammerUEr. He happens to be missing the same exact props as well so I can't be the only one. Another important thing to note is that some people been able to import the props I'm missing but they didn't seem to do anything fancy nor did they have this issue at all to begin with.

Some of CSGO's files as shipped are, for lack of a better word, corrupted.
However, there is a solution for this: delete the <filename>.vtx file, but make sure you leave <filename>.dx90.vtx in place.
That should let you import them.

While I'm at it, quite a lot of them also have the wrong internal filename that overlaps with another one, and since I'm using that to name them, there'll be "missing" and "wrong" models because of this. The little checkbox to the right forces HammUEr to use the filename instead of the internal one, and should take care of most of them problems. (You might have to re-import the "real" name ones if some of them got overwritten anyway)

(+1)

Thanks m8, all of my problems are solved through following your instructions. I'm a happy customer!

Any chance you could add support for UDMF (Universal Doom Map Format) ? they are very easy to create,  there are tons of these maps and some of them are actually very detailed, I really wish I could build a "base" in doom builder and then export to unreal engine to add extra details, thanks.

Maybe. No promises, tho.

Hello, I am wondering when exactly the source build option will be updated for 4.16/HammUEr 1.7.1... I am looking to port my existing source engine game over to Unreal, and to do so, I want to use the C++ source for the engine to build the game from. I have attempted to use the current source build, but it seems to crash the editor on launch. Let me know if you guys will update that, it would be greatly appreciated!

(Edited 1 time)

I can't remember any reason why the previous archive wouldn't compile under 1.6 off the top of my head.
Anyway, I've uploaded the 1.7.1 source archive I used to compile the 1.6 build

I'm having a bit of an issue with textures. No matter how many times I rebuild the material list, almost all of the materials show up as 'None' when importing maps. I can manually add them, but larger maps with 200+ textures would take way too long. Anyone have a fix for this?

(+1)

Strange, that shouldn't be happening.
Can you look at hammUErPlugin.cfg in your <project directory>\Config in a text editor and see if there's 5 things on every line (so MATERIALS/BRICK/BRICKFLOOR001A,512,512,0,BRICK/brickfloor001a_mat instead of MATERIALS/BRICK/BRICKFLOOR001A,512,512,0,). If almost everything shows up as None, they probably don't.
What you can do is remove everything after the "hammUErVersion,4" line and saving the file, and do another discovery with rebuild master list ticked on.
If you still have mostly 'None' materials, there's something else seriously wrong.
Do you have directories with non-A-Z characters? (Accents or whatnot)

(Edited 1 time)

I tried and that didn't work. Everything is still 'None'. I do have my project saved to a different drive, not my C:\ drive. I do not know if that would cause anything, though, as my entire Epic Games installation is on my D:\ drive.

(D:\Users\<username>\Documents\Unreal Projects\gm_bigcity\Config)

All of my materials are in one directory (uncreatively named 'SourceStuff') in my project. I tried to separate them in a different project but I still ran into this issue.

Different drives shouldn't matter.
I... have no idea what could be wrong. A full rebuild should fill your database with everything it's found.
If you turn on verbose debug messages on the ConfigUEr tab, you should have a lot of "LogTemp:Warning: ..... Adding to master material list" lines.
What version are you running?

Currently, I'm running on version 4.16. I tried with 4.15 as well but the problem still occurred. 

Can you turn on verbose debug logging, rebuild your master list and pastebin or dropbox the log file so I can take a look at what's happening?

I've done some experimenting and I found that it might have something to do with the $selfillum and $selfillummask. About 70% of the materials loaded this time. The ones that didn't load either had a fucked up name or had an issue with the $selfillummask. Here's an example of the logs:

[2017.06.20-17.55.07:758][354]LogMaterial: Missing cached shader map for material HammUErBaseMaterial, compiling. 
[2017.06.20-17.55.07:758][354]LogMaterial:Warning: Failed to compile Material Instance /Game/SourceStuff/Materials/BUILDINGSET057A_mat.BUILDINGSET057A_mat with Base HammUErBaseMaterial for platform PCD3D_SM5, Default Material will be used in game.
[2017.06.20-17.55.07:758][354]LogMaterial:Warning: (Node TextureSampleParameter2D) $selfillummask> Requires Texture2D

(Edited 2 times)

Second verse, same as the first.

The $selfillummask node isn't used for most materials, so most of them compiled fine, but the $selfillummask param2D node got emptied, so you just need to put a random texture in there (it won't be used for most of them, and if it get used, it'll be replaced by what needs to be there anyway)

(while you're at it, check all the other nodes in your material to see if any of them got reset to nothing as well)

Hi. I am creating my own C# Bsp Library and I added you to description (if you have no problems).

I am no interrest in making importer into Unreal Engine but it (already) supports exporting into OBJ. I just wanted to let you know (tried PM but twitter did not allow it and itch.io does not support PMs).

Ok so i have imported all materials and models for half-life 2's first map and yet when i import it only like 2 surfaces actually get materials any ideas on how to fix this?

It should have worked, but there's a couple of possibilities.

  • Sometimes, you have to restart UE before actually importing a map after importing a bucketload of materials, since it takes it a while to catch up on the new files.
  • Did you check that the material assignments on import were correct? (If they weren't, you might have to rebuild the master list in the discovery section of the TextUEr tab)
  • Another possibility might be that your material might have some kind of problem if you're not using the supplied one that stops UE from rendering some combinations until the problem is fixed.
Ok thanks for the information
(Edited 1 time)

hi

And what it does for cod 5 map ?

There is no specific support for CoD and other Quake-derived engines, nor will that be added.
However, there is basic support (where the map format isn't too different) that should at least import basic brushwork from your own levels.

I found another BUG.

I used Hammuer to import a cs map,

I found that there are many models in the scene are part of the overlap,

When i walked into them,

They overlap the parts began to flash,

Is there a way to solve this?

I'm sorry, I have no idea what you mean.
Can you record a video or something?

Of course, I can record the video right away

Oh, I'm sorry it took so long to figure out, but I got it.
The only sure-fire way to stop z-fighting between different meshes is to adjust your brushes to not overlap in hammer before importing.

thank you for your help.

Another solution is, Merge map to a big static mesh

I found a BUG.

I imported a cs: source map,

I found the mesh lightmap problem,

The color is not normal after building the lights.

Do you know how to fix this?

Not a bug, but a difference in how Source and UE do lightmapping.
Make sure there's only one directional light in your map, otherwise it'll be overbright.
Also, you might have to adjust lightmap resolutions, depending on your map.

Thanks, do you know how to adjust lightmap resolutions?

You can either set your lightmap resolution higher than the default on the ConfigUEr tab so that it gets applied to everything on import (which might be overkill), or adjust them case-by-case in-editor by selecting the mesh in the level, then going to the details tab. Scroll down to the Lighting section, click overridden and select a new lightmap size.
(If you want to do this automatically, I did another plugin that does that you might want to check out)

Great autolightmapuer plugin, i'm using it

Are there any type of limits on the maximum number of brushes? Some of the maps I had took almost days to compile in Hammer.

I'm sure the limits are much larger in UE though.

I'm sure there are eventual (rendering framerate linked) limits, but I couldn't really tell you what they are.
It definitely won't take days to import your maps into UE either.

I have a question about this before I buy. So my question is, if I import my map into UE4, will I be able to edit the textures on individual sides of a model like in Hammer?

Not at the moment, I'm afraid. If it's a single brush, you can export the fbx to your favourite editing program and re-import. If it's multiple brushes, you should be able to tell HammUEr to only reimport those after you've modified them in Hammer.

(Epic are working on some kind of in-editor mesh modification thing, tho, although I've only seen it demo'd with VR?)

Ok. However, If I do use textures on different faces will it also be transferred over to UE4?

I'm assuming you mean "can a brush have multiple textures on it and still keep them", right?
Then the answer is yes. The materials you've selected in Hammer will be applied to the faces in UE

Yes, that is what I mean. And thanks for the reply!

every map i import turns black and wont light? does hammuer not generate uvs?

Weird.
It does, and if there are lights in your imported map (or if you add ones in your Unreal map, like the default map's sky sphere), it should automatically show you at least preview lighting for your map. (Example)

Hello, just wondering if this plugin would allow me to import old Enemy Territory maps to UE4?

Sort of.

If you still have your original map file, it *should* be able to import most(?) of it correctly.

The ones I've seen based on decompiled bsp files (which has been all the test stuff people have sent me) all had broken texture scaling, tho.

Does it convert the Source 2 .vmap format?

Sorry, there is no Source 2 support at the moment, nor is it planned, since Source 2 is a brand new engine which works in a totally different way from the older engines HammUEr supports.