Hi! i'm doing some modding of Lineage 2 for fun and very interested in your plugin, i need to extract bsp's from l2 client, but L2 was made in ue2, could your plugin extract bsp from ue2 based game? If it's possible, i'll definitely buy it.
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 (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.
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.)
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.
When I import my meshes non of them have textures wich means that when i import my map the map dosent have textures. It is something that I cant solve. No matter what. I even tried to re-import EVERYTHING again and still: Nothing.
I'm trying to import csgo maps on Unreal Engine 4.19.2
Have you tried to restart Unreal Engine after importing Textures and once again after importing Props?
This plugin rocks. It truly adds a new dimension to the ue4 editor.
I have a problem though. When I import one of my maps made in Trenchbroom, I get what appear to be overlapping vertices (z-fighting). Other maps from TB work fine. Can you recommend anything?
When importing models, will it also import the animations associated with them? Or will I have to manually import using crowbar, etc
Animated models only get imported as static meshes, since they're only meant to be references to get your scaling right, and not as a means of using content you don't own the rights to.
For your own animated content, you should have source files that can be imported by normal UE means.
I like this plugin alot however there is alot of import errors with models being completely gone or textures missing even after importing them correctly (CSGO) This happens on official and workshop maps. When i can i will post pictures
Has anyone tried this with Jedi Academy maps?
First off, thanks for this plugin, it's been a mega time-saver, and is bloody awesome.
Potential Future Feature Request:
An option for imported brushes (not displacements) to be created as Additive UE BSP, instead of auto triangulation etc. Unreal's format does allow stuff like removing faces, no all nodraw and stuff can still be removed. It could just be useful in certain circumstances to have the brushes in brush format, so they are editable in unreal after.
And of course, we can then convert them to static mesh from within unreal directly, later.
Oh, another secondary one: Have some way for us to define custom classes, so we can link entities <-> Actors automatically on import! Perhaps with a callback that passes stuff like the static meshes etc to the newly instantiated actor, to hook things up.
eg: In tactical Intervention, we have custom things like prop_breakdown and prop_hitzone. It would be coolio to be able to let hammuer instantiate a custom actor, instead of having to rename custom ents to prop_static so that they import in the correct place.
Thanks again for your amazing work :)
Any possibility of adding support for COD1? It's based on ID Tech 3 and uses Radiant. Same .map file structure as DOOM 3, however upon importing UE4 just crashes.
Hello! I wanted to ask a couple of things about this plugin. First of all am I allowed to use this plugin for a paid game? Am I allowed to share this plugin with my team members and not anyone else if I bought it? Also if I want to map for a paid UE4 game (commercial purposes) using 3dsmax for example I need to buy it and not use the free student license so, what about using hammer for commercial purposes?
I've tried to import materials/models from CSGO for about two days now and it ALWAYS crashes. Any idea why?
"Log file open, 06/19/18 13:28:43
LogWindows: Failed to load 'aqProf.dll' (GetLastError=126)
LogWindows: File 'aqProf.dll' does not exist
LogWindows: Failed to load 'VtuneApi.dll' (GetLastError=126)
LogWindows: File 'VtuneApi.dll' does not exist
LogWindows: Failed to load 'VtuneApi32e.dll' (GetLastError=126)
LogWindows: File 'VtuneApi32e.dll' does not exist
LogInit: Display: Running engine for game: HammEUr
LogPlatformFile: Not using cached read wrapper
LogInit: Display: RandInit(1962371680) SRandInit(1962371680).
LogInit: Read version file with build ID '3944462'
LogInit: Overriding engine version to CL 4033788, compatible CL 3944462
LogInit: Registered custom module enumerator with build ID '3944462'
LogTaskGraph: Started task graph with 5 named threads and 23 total threads with 3 sets of task threads.
LogStats: Stats thread started at 0.259854
LogD3D11RHI: Aftermath initialized"
Unfortunately, none of the things in this log have anything to do with HammUEr, so I can't really help you with this.
Some of those dll errors seem to refer to intel vtune, but a quick google doesn't seem to give any decent solutions, apart from maybe needing administrative rights when you install/run unreal engine?
Good luck, hope you figure it out.
I had just recently found out about this plugin for UE4, and I am actually running into the exact same issue. I am able to get the textures imported just fine, but when attempting to import .map or files it finishes loading from master list, the I get an immediate CTD.
I did try loading a .vmf which I had exported from Hammer Source SDK (originally on GoldSrc, used converter) and the map loaded into UE4 only once, any other time (same map) nothing showed up after loading and referring to master material list.
I'm running Epic Games Launcher as Admin, and I get the same thing as brikkew. I'm on UE4 4.19.2 w/ latest build of HammUEr
Could you optimize this so we can use it to work with Paragon maps?
I'm trying to import the csgo materials and textures, but HammUEr seems to not being able to read the VMTs. It is importing the textures, but doesn't create material-instances.
Only when using the "create materials for not-used textures" dialog, it creates material-instances, but none of them uses the decal-material. (I exctracted the material files with gcfscape from csgo's pak01_dir.vpk and i'm using ue4.19)
I get a lot of errors like this in the output log:
LogTemp: Warning: Could not find , cutting down to smallest identifier.
LogTemp: Error: Could not find texture for VMT asphalt/asphalt_b, aborting creation of material
LogTemp: Warning: Could not find , cutting down to smallest identifier.
LogTemp: Error: Could not find texture for VMT asphalt/asphalt_b1, aborting creation of material
LogTemp: Warning: Could not find , cutting down to smallest identifier.
LogTemp: Error: Could not find texture for VMT asphalt/asphalt_b1_blend, aborting creation of material
LogTemp: Warning: Could not find , cutting down to smallest identifier.
LogTemp: Error: Could not find texture for VMT asphalt/asphalt_b2, aborting creation of material
There was a change to the UE API I wasn't aware of, which led to this problem happening.
I've uploaded a new version, so please download "HammUEr 1.8 for 4.19 fixed" and try again.
Oh thank you very much, i was already so desperate, that i completely deleted, redownloaded and reinstalled ue4 and csgo :D
Edit: Yes, with the new version it creates materials-instances and decals as expected.
Same problem here!
I keep getting errors saying, "Binaries for the 'HammUEr' plugin are missing or incompatible with the current engine version." It also says "'HammUEr' failed to load because module 'HammUErRuntime' could not be found" I have UE 4.19.2 and HammUEr 1.8
The plugin should work with 4.19.2 as uploaded, so something might have gone wrong while downloading/extracting it.
Please download the new fixed version and try again.
I'm also having this exact problem, tried downloading again a couple times.
Warning: No filename provided for module HammUErRuntime
Warning: ModuleManager: Unable to load module 'HammUErRuntime' because the file 'C:/Users/Josh/UnrealEngine/Engine/Binaries/Win64/' was not found.
the hammuer dll's are in the plugins binary directory. why is it looking in the engine binaries?
Only the "flat_normal" and the "HammUErBaseMaterial" show up and the "HammUErDecal" won't. i couldn't figure out what's wrong.
Can anyone help me?
Weird, if the others show up, it should show up as well.
If not, there's an example of what it should look like in the manual on page 6 (lower picture), so just build something that looks like that and use it instead.
it takes me 2h+ importing textures and models from csgo to UE ive tried a different disk still didnt fix any suggestion on how to make it go faster?
Unfortunately, there's a lot of data to import, and there's really nothing you can do to make it go faster.
You only need to do it once, tho.
Does the 4.18 version work with 4.19??
4.19 build has been uploaded
Hi, when I import textures or models, my C:disk will be used. But I use D:disk, why?
I... have some trouble understanding what you're asking, but files that are imported end up wherever your unreal engine project is (because they need to be converted to something UE understands), which I guess is somewhere on your C drive in your case?
Unreal Engine uses a Cache to store temporaly your materials and meshes. You can change this folder-destination to your other drive under Edit->Editor Preferences and then under General->Global->Local Derived Data Cache.
I even have one area where its starting to get curved for some reason
The 4.15 builds are pretty ancient by now, so hopefully a move to a newer one should fix this.
If not, try moving the brush in hammer and then moving it back into place where it was, or check the texturing and redo it so it looks the same but the values are different (if that makes sense)
I am still having issues with the 4.15.3 version of the tool. I am able to get all the materials and models over, but importing the .bsp still causes it to crash.
Did you mean .vmf file?
HammUEr has no support for compiled bsp files.
oops, I meant to say .vmf
Can you put the vmf on pastebin or google drive or something so I can test it locally?
Sorry for the delayed response. Here is the vmf that imports just fine in 4.18, but it won't in 4.15.
I don't have access to my code archive at the moment, so I can't really check with an actual 4.15 build, but my guess is it's got something to do with the displacements?
(Also, this is a decompile, and decompiles are technically not supported. Maybe try opening it in HammUEr and saving it back to clean up whatever the decompiler did?)
Hallo, when I want to import props with porpUEr it all process and say done. Then I close that window and it wasn´t anywhere after restart too. What I need to do ? Thanks.
Sorry it took a while to get back to you.
If you selected one or more files, please check the log to see if there were any errors while importing.
Also check to see if any files were created in your project folder in windows explorer, because they don't always show up immediately in UE. (Although they should show up the next time you open the editor)
Followed official tutorials and some 3rd party, used provided base/decal presets.
Materials/Textures doesn't work in CS:GO maps.
Props/Maps etc works fine.
They show in HammUEr:
i got the same problem
That looks like a base material problem.
Open your base material and check to see if it says anything about errors there, there might be a broken texture reference there you have to fix before it'll actually render.
I'm having an issue with shadows on imported meshes that touch. There's really ugly shadow artifacts in between the meshes. I tried fixing with the world and light settings in my level, including upping the build quality, but nothing worked. Here's a screenshot showing my issue:
Is there any settings in HammUEr that I can change to fix this?
Try to use a nodraw material for faces that can't be seen, and grouping the walls together.
Hi. So this is a great piece of software. However, I am unable to import my .vmf in the 4.15 version of UE4. I am able to get the textures and models over, but it crashes the engine when importing the .vmf. I've tried a couple different systems and a few new Projects. Now I don't seem to have this problem with newer iterations of the engine and I haven't tried older versions.
I wanted to add to this, I just tried 4.14 and it does the exact same thing.
The pre-4.16 builds are rather old by now, and even Epic doesn't really support them any longer, officially.
Is there a specific reason you need to use such an old version of the Unreal Engine? If there is, I can *try* to debug it based on your logs and the vmf file, but if it imports fine in a newer version...
It works beautifully in 4.18, but I'm trying to import my work into PavlovVR (which appears to be built in the 4.15 version of the engine, or the template for it is). I would be happy to import the assets into 4.18 and migrate them to a project from older version but that doesn't seem to work either.
If it helps, the project log hits me with with "Failed to load ANSI text file: [users/x/x/x/x/x/x/x] materiallist." before crashing. I also tried rebuilding the masterlist but that didnt help either.
If there is another way to work around this, I'm open to suggestions.
Also, you can d/l the .bsp from here:
Hi, I'm having a problem where the HL2 texture metalfence004a isn't getting imported.
Just tested it, and it should import fine.
It does seem to point to the texture Models/props_c17/fence_alpha, so if it couldn't find that, that might be why?
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?
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.
Ah, yeah, that's a kinda tricky one I keep forgetting to explain/add to the archive.
Basically, to fix this:
- download the '1.7.1 alpha for source builds' package
- create a Source directory under your HammUEr directory
- create a HammUEr and HammUErRuntime under that
- copy over just the HammUEr.build.cs file from the package to the HammUEr directory, not the rest of the source files
- 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.
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?
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.
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?
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.
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.
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?
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)
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.
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!
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?
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)
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.
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?
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]LogMaterial: Missing cached shader map for material HammUErBaseMaterial, compiling.
[2017.06.20-17.55.07:758]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]LogMaterial:Warning: (Node TextureSampleParameter2D) $selfillummask> Requires Texture2D
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.