Hammer++

From Valve Developer Community
Revision as of 11:13, 24 April 2024 by Sorelight (talk | contribs) (L4D2 Hammer++ came out, you shouldn't use CSGO Hammer++ for L4D2, also, CSGO is removed from the supported list. Since 8865 update, It is no longer supported.)
Jump to navigation Jump to search
English (en)Deutsch (de)Español (es)Suomi (fi)Hrvatski (hr)Português do Brasil (pt-br)Русский (ru)Українська (uk)Tiếng Việt (vi)中文 (zh)Translate (Translate)

Hammer++ Hammer++ is a community-made modification of the Valve Hammer Editor for Source that provides an updated, more stable, feature-rich version of the editor.

Hammer++ currently supports the following branches of the Source engine:

It is also included with Military Conflict: Vietnam Military Conflict: Vietnam, in lieu of vanilla Hammer.

Other games/mods tested

Icon-Important.pngImportant:In order to use CS:GO Hammer++, you must have the csgo_legacy beta branch installed for Counter-Strike 2 Counter-Strike 2. The CS:GO Hammer++ no longer receives updates, so it's highly recommended that you use the Garry's Mod version alongside it instead, if you have GMod.
Game Engine branch (game) Hammer++ Version Notes ViewDiscussEdit templatePurge
Alien Swarm Alien Swarm Alien Swarm engine branch Garry's Mod Errors about reading particles, use mount.cfg to mount Alien Swarm data.
Note.pngNote:Functions differently than Hammer, instead of using a func_brush with name structure_seal, use a normal brush to close your maps.
If compiled it forces the map to be fullbright even if there are lights.
Icon-Important.pngImportant:Use func_details for your entire map as it will generate unwanted portals
Half-Life: Source Half-Life: Source Source 2013 Singleplayer Source 2013 Singleplayer Configure Hammer for Half-Life: Source, then install to game's 🖿bin folder normally.
Half-Life Deathmatch: Source Half-Life Deathmatch: Source Team Fortress 2 branch Team Fortress 2 Configure Hammer for Half-Life: Source, then install to game's 🖿bin/x64 folder normally.
Half-Life 2: Deathmatch Half-Life 2: Deathmatch Team Fortress 2 branch Team Fortress 2 Install to game's 🖿bin/x64 folder normally.
Left 4 Dead Left 4 Dead Left 4 Dead engine branch L4D2 L4D2 Hammer++ appears fine on Left 4 Dead, except when compiling the map. Once compiled and joining the map, an error will appear and display: STEAM validation rejected and unable to interact with the menu after pressing ok.
PlacementTip.pngWorkaround:Before compiling the map, check the box Don't run the game after compiling and then compile the map, after it has been compiled, enter Left 4 Dead and via console, type: map <map name>.
Tip.pngTip:You can enable dev by going to manage < properties and on Launch options, type: -dev 1.
Note.pngFix:Remove the steam_appid.txt from the 🖿hammerplusplus folder.
Left 4 Dead 2 Left 4 Dead 2 L4D2 Identical to Left 4 Dead Left 4 Dead, without the Steam rejection, only displaying error on console and unable to interact with the menu when exiting the map.
Note.pngFix:Remove the steam_appid.txt from the 🖿hammerplusplus folder.
Momentum Mod Momentum Mod Strata Source Garry's Mod Need retest using GMOD version.
[confirm]
Source Filmmaker Source Filmmaker Alien Swarm engine branch Garry's Mod & Portal 2 Need retest using GMOD version. Portal 2's compile tools also work. Hammer++ shouldn't be installed in SFM's 🖿bin folder, but works when pointed to from another game.
Team Fortress 2 Classic Team Fortress 2 Classic Source 2013 Multiplayer Source 2013 Multiplayer Setting up Hammer
Black Mesa Black Mesa Xengine Garry's Mod Follow this guide to make it working. Check out issues in relevant subpage. A separate version for Black Mesa is not planned.
Black Mesa (mod) Black Mesa (mod) (2012 mod version) Source 2007 Source 2013 Singleplayer Install to Source 2013 Singleplayer Source SDK Base 2013 - Singleplayer's 🖿bin folder and add a game configuration pointing to the mod; the Source 2013 Singleplayer Source 2013 SP compilers generate BSPs that are compatible with Source 2007 Source 2007.
Mapbase Mapbase Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.

Check out the issues below in the relevant subpage.

Pirates Vikings & Knights II Pirates Vikings & Knights II Source 2013 Multiplayer Source 2013 Multiplayer & Team Fortress 2 Hammer++ shouldn't be installed in PVKII's 🖿bin folder, but works when pointed to from another game.
Icon-Important.pngImportant:Requires the Use special I/O delimiter (ESC) setting to be off.
Postal III Postal III Source 2009 Source 2013 Singleplayer Requires modification to Postal 3's FGD file(s); Recommended to use Postal 3's compilers instead; Some Hammer features from Postal 3's are missing like 'prefabs' (not to be confused with Prefab on Hammer);

Requires Source SDK Base 2013 MP/SP to be installed; Requires folder linking inside SDK Base's 🖿sourcetest folder to load assets; Hammer++ will crash if placed inside Postal 3's 🖿bin folder.

Portal Portal Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.
Portal 2: Community Edition Portal 2: Community Edition Strata Source Garry's Mod? Check out the issues on the relevant subpage. Support by developers is not planned, and usage is strongly discouraged; some Hammer++ features will be added to Strata Hammer Strata Hammer.
Source SDK Base 2013 - Multiplayer SDK Base 2013 - MP (2025) Team Fortress 2 branch Team Fortress 2 Install to game's 🖿bin/x64 folder normally.
Source SDK Base 2006 Source SDK Base
Source 2006 Source 2006 games & mods
(including Counter-Strike: Source v34, Half-Life 2 Old Engine, etc...)
Source 2006 Source 2013 Singleplayer See Installation for Source 2006 games. Don't forget that Source 2006 games will have less textures (including tools textures such as 2D Skybox), differences in LDR + HDR lighting compared to Source 2007 and later (including Hammer++ lighting preview). So remember to run both Source 2006's Hammer and Hammer++ and check see if the same texture exists in Texture Browser on Source 2006's Hammer before adding it to the map.
Hunt Down the Freeman Hunt Down the Freeman (launch version) Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.[confirm]
Hunt Down the Freeman Hunt Down the Freeman (latest) Source 2013 Multiplayer Source 2013 Multiplayer Install to game's 🖿bin folder normally.[confirm]

This build uses Source 2013 Multiplayer Source 2013 Multiplayer to reduce map size.

Jabroni Brawl: Episode 3 Jabroni Brawl: Episode 3 Counter-Strike: Global Offensive Counter-Strike: Global Offensive Install to game's 🖿bin/win32 folder normally.[confirm]
FGD must be modified to replace soundscape and sky KVs with string.
As CSGO version of Hammer++ is frozen on an older version, it may be desirable to use Garry's Mod H++ alongside the native CSGO version, to take advantage of newer features like Propper++.

Features

  • Accurate lighting preview
  • Upgraded graphic fidelity
  • Significantly better stability
  • Particle rendering
  • 2D + 3D skybox preview
  • New model browser, particle browser, color editor, and keybinding editor
  • Realtime display of fog and ropes
  • Variety of new tools such as physics simulation, gizmo manipulation, drawing of polygon shapes, and convex brush merging
  • New func_instance tools
  • Quality of life improvements
  • ... and much more!

A more detailed feature list can be found on the Hammer++ website and you can support ficool2 via Ko-fi

Caveats

Icon-Bug.pngBug:Always uses Windows's high-DPI scaling setting, even when scaling override mode is set to "Application" in Wikipedia icon File Explorer's compatibility settings for 🖿hammerplusplus.exe. This can result in less real estate than Hammer Hammer 4.x, depending on Windows settings.  [todo tested in ?]
Warning.pngWarning:

Additional bugs can be found in the official issue tracker, which is no longer maintained.

Bugs/Limitations with unsupported games

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
grammar and layout; probably should be moved to subpage
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

Black Mesa Black Mesa

Works with Source 2013 Singleplayer Source 2013 Singleplayer version. However, there are some bugs and issues due to which you will not be able to work constantly.

New lights do not work correctly

Entities with "newLight_" and "newLights_" prefixes don't work with SmartEdit and attempting to replace an entity with one of these will cause a obsolete error.

This is because new lights use capitalized letters in classname. Because of this, Hammer++ cannot read them normally. You can fix it by replacing capitalized letters with lowercase, with this fix the game will work with new lights like you are using Hammer Hammer. However, you will still not have any preview for new lights.

Note.pngNote:Similar issue with npc_xortEB.

Lightmapped_4WayBlend is not loaded

You will not be able to work with Xen levels and some Earthbound outdoor levels, since this shader is used for surfaces everywhere.


PlacementTip.pngWorkaround:Use the Hammer++ version for Counter-Strike: Global Offensive Counter-Strike: Global Offensive, as it is the only version of Hammer++ that supports Lightmapped_4WayBlend.
Note.pngNote:You will need to port the game's assets because it doesn't use or support the old model format.

No surface blend preview

WorldVertexTransition was replaced by LightmappedGeneric in Black Mesa. This means that you cannot see blended surfaces in Hammer++, since this feature is not provided.

GRPortal is not loaded

This shader is used for nihilanth's portals.

Physics Tool doesn't work properly with new ragdoll entities

prop_ragdoll_original and misc_dead_hev are ragdoll entities, Hammer++ doesn't know about this.

PlacementTip.pngWorkaround:Add ragdoll() in FGD for these entities.


Confirm:More ?

Portal 2: Community Edition Portal 2: Community Edition/Strata Source Strata Source

Mainly works with the Counter-Strike: Global Offensive version. Hammer++ will not provide features from Strata Hammer Strata Hammer and the engine (mainly UI elements and how it works with content). The convenience of its usage will depend on what you plan to do.

Only supports the Counter-Strike: Global Offensive Counter-Strike: Global Offensive model format

Strata Source Strata Source supports all model formats from any game, including old games. Hammer++ for Counter-Strike: Global Offensive only supports the model format from Counter-Strike: Global Offensive, so you'll need to port models if they do not use this format.

PlacementTip.pngWorkaround:Use the Source 2013 Singleplayer version

No Scale Override preview

Static props support the Scale Override keyvalue (similar to Source 2). You will not see changes in Hammer++.

Custom folder is not supported

Strata Source Strata Source supports the custom folder. Hammer++ for Counter-Strike: Global Offensive doesn't.

PlacementTip.pngWorkaround:Use the Source 2013 Singleplayer version

Doesn't read mounts.kv

mounts.kv is a safe way to mount content from other games without editing gameinfo.txt. Hammer++ doesn't read this file.

Escape sequences are not supported

Only Strata Hammer Strata Hammer supports escape sequences.

Mapbase Mapbase

Works fine with Source 2013 Singleplayer Source 2013 Singleplayer version. Some custom shaders may work incorrectly. Some custom features will not work as expected with Hammer++ features.

SDK_Cable doesn't work properly

Display skybox instead of a cable texture.

Spotlight textures don't apply to spotlight preview

Mapbase Mapbase supports customization of the beam and halo texture. Hammer++ always draws the standard textures.

TeamSpen's Hammer Addons TeamSpen's Hammer Addons

Not a game, but it has some compatibility issues as well. Some issues make it difficult to use together with Hammer++.

Sprite tries to be applied as a model for helper

TeamSpen's Hammer Addons TeamSpen's Hammer Addons uses model helper for sprite entities, this allows you to place them more accurately than with the white cube. Copy and paste cause the helper model to use the value from model property name, which sprites use to display sprite texture, this causes the helper model to use a nonexisting model and replace it with a placeholder. Fixes with Undo button. Doesn't happen when you place a sprite entity via Entity Tool or when you replace an entity with a sprite entity.

Confirm:More ?

See also

External links