some textures dont import. im trying to import hl2 maps plz halp. im using ue 4.21
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.
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 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.
Subject: Helping others with materials.
It is possible to emulate all (or close to all) graphical effects from the Source Engine in Unreal Engine. When I am done making materials that can be instanced I will share a photo of the setup if requested to.
So I'm having a problem while importing models, it gets to 25% and then it crashes. At 23% memory maxes out(32GBs) followed by my C drive maxing out at witch point it crashes.(I only have 23 Gbs left on my C drive) thing is UE is not installed on my C drive. My vault cache location is not on my C drive, My Project file is not on my C drive and i changed DerivedDataCache to off the C drive and it still overflows. Any Ideas?
Did a fresh install of windows so i had enough space, still crashes but this time at 45% and with no error message or crash report.
Can you try splitting the source directory up into a couple of smaller ones and importing those one by one?
That should at least help narrow down the problem somewhat, while also remove the need to reimport the same things over and over again.
what would we have to donate to get access to hammuer.lib source? There are some little things i'd like to change/fix/exhance, as well as actually be able to debug a crash that I'm getting when loading certain maps.
I think I may have figured out what the crash is though.
I believe in (vmfloader) info_overlay, you are parsing StartU/EndU and StartV/EndV as int, instead of float.
While it's more common for them to usually be 1 or 0, in the actual format they are float, and in some of our maps
[Edit] Yep, that is absolutely what it is.
I also added a "hammuer" function to vmf_tweak (one of the source engine tools, that i don't think is publicly released other than in alien swarm maybe) which goes through everything that uses a model, and gives it a targetname, to make it easier on the import since without hammuer.lib source we cannot parse for anything.
As an aside, if it's unwilling for you sharing for example github access to it, would it be too much trouble for you to MOVE the "mapentity" stuff into the plugin itself, and out of the lib? ie: ask the plugin for the translation of all of the map classnames, for each of the loader.. instead of hardcoding the entity types into the lib.. (that is one of the things I would do if I had access lol)
Another thing that I would like to do, depending on how you load all the brush faces anyway, is to introduce part of the CSG process, so all intersecting brushfaces get chopped up to discard all of the parts of the solid that cannot be seen.. would save a lot of pre-processing time with going through a lot of old maps and clip + nodraw everywhere ;)
Especially large ones like this:
Note, that the grid here is a lot bigger than standard (65k/65k) and this map fills up almost all of the normal source engine map size, horizontally anyway. lol. (we had/have a lot of large maps in TI, and our version of the engine/hammer increases a lot of limits..which is good for making stuff for unreal as well :))
My apologies, you're right about the info_overlay parsing, and the UVs should be correctly read passed through as floats in the 4.21 build.
Unfortunately, I can't release the source for the lib, and don't really have much time to do active development these days, so I don't see myself doing any major refactor work.
Would a basic thing for unknown entity types (or a separate array for all of them) that'd be a hashset or something that you can parse yourself on the UE plugin side work?
That's a little dissapointing, but understood. The entity thing is of much more concern for myself, and the simplest solution that I can see would be just adding an std::map<std::string, std::string> of every actual entity key to BaseEntity or something, even if you leave the default parsing that does the MapEntityType, then I can just intercept it in MapFileLoader::ImportIntoWorld, to read the original keyvalue for custom entities, and their values, by simply using GetEntity(x), and then looking at the KeyValue map for the original classname. (I noticed that all unknown ones end up falling under the static prop type as well, and the classname in BaseEntity appears to get overridden, I had actually tried to read that when I was first trying to parse custom entities, but ended up modifying VMFTweak to just convert everything to prop_static with a custom targetname ie: prop_dynamic_originaltargetname, or ropestart_xxx, ropekey_xxx) Which, works, and allows me to replace the actors post-import, but I'd prefer if I can just create the proper actors at import time, especially for some more complicated custom ones)
Thanks, and I really appreciate this!
There are many reasons that this should be updated for 4.21. This new version introduces better editing features such as editing meshes which should be of interest considering that this plugin imports brush groups as static meshes. This new feature allows the in-engine editing of which faces have what material so that if in Hammer you didn't do texturing because all of your materials are in UE you could then decide where materials go on polys in-engine. https://docs.unrealengine.com/en-us/Studio/Datasmith/HowTo/ModifyStaticMeshGeome...
The old version of this game engine also has a hindering ui bug. On windows the ui does not show drop down menus unless high contrast settings are enabled, (causes white text on white background in hammer in some cases) https://answers.unrealengine.com/questions/591961/drop-down-menus-not-working-in...
I am considering workarounds for the lack of an update do to so many more things being available on the newer engine. Perhaps using the plugin to import materials then opening the project with a new version to make a compatible copy would work for materials. And the perhaps exporting the scene as one fbx file, but I can only imagine the problems that would cause for lightmaps and optimization. It is a good idea to update the plugin because of everything your missing out on and using a newer version would be very difficult or just time consuming. (import map then copy to new engine "oops map has problem" back to step one)
When do you think that HammUEr will be updated for 4.21?
Does your plugin have a bias against importing materials that are not "Lightmapped Generic"? There seems to be a problem with the plugin that has costed me 71 days of my time and so it seems that I cannot find a fix for the problem without contacting you. Perhaps there is a known problem with the creation of materials that are of the type "cable" for example?
It seems that after trying around 5 different ways of importing materials and textures there is a strange issue that occurs such as lighting making my scene look like a child with a giant crayon was let loose and assumed the white lightmaps were a paper. If you are in need of the engine version I was forced to downgrade from 4.17 to 4.12.5 in order to start the plugin which costed me a few days of work I had already done only for the plugin to not actually import the materials I had made in the more updated engine.
This is a peculiar problem and as of today on 11/22/2018 I have come to the realization that the plugin may not know what to do with something that is not "Lightmapped Generic" casuing it to not create a vmt for materials labeled "cable" for example. Regarding the lightmap issue I have simply restarted my work several time to try to get a fix but now there isn't a lightmap problem anymore because what the plugin has done is create static meshes for the level but not actually put them in the level though I had an idea about what this was caused by and nope the brushes are indeed grouped.
I have created this account for the very purpose of contacting NT Entertainment and therefore I am new to this website and/or its way of functioning.
I have experimented to see if the bias is the case and it seems that after editing the vmt to say it is "LightmappedGeneric" it proceeds to import that material but none other. I want to know if you are aware of this bug involving that of discrimination from non "LightmappedGeneric" vmts.
EDIT: I have done this with all the vmts in the folder. Now the plugin creates a material for them.
I have no idea what to tell you, except that I can't reproduce your problem at all.
I just ran a test with a cable materials directory (so just "SplineRope" and a "$basetexture" field), and those all imported fine without needing to change or edit anything in the VMTs, so I have no idea what was going on on your machine. Any unknown types should default to the LightmappedGeneric handler anyway...
anyone gota solution for UE crashing when trying to import materials with hammuer , all vtx and dx90 /dx80 are deleted
i also have 16gb of ddr4 so i dont think ram is a problem
im trying to import csgo materials and it crashes at 0% rip
its been 21 days since i wrote this message and my problem is still not solved, this software cost me $42 usd and it doesn't even work
1) itch.io doesn't always send me emails when people post comments, so apologies for the late reply.
2) vtx files are model-related and have nothing to do with materials and textures
3) "it crashes" doesn't really help me debug your problem. Which version of UE are you trying to use? What does the log say before it crashes?
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.
I'm afraid not.
HammUEr doesn't exist to import random levels from games, it was created to help level designers that prefer CSG brush editors over more recent model-based level creation workflows to get their work into Unreal Engine.
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
Which version of the 4.19 importer are you using? The fixed one?
Also, are you sure your material setup is correct?
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 see, I understand. Some models may be released under a license that allows me to.
Thanks for responding, your software is great :)
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?