Hello all!

I’m hoping you’re all staying safe and sound during these turbulent times. Washing hands, staying inside playing video games all day, working from home, washing your hands…

Staying in lockdown has been bittersweet for me; on one hand, cancelling a planned-months-in-advance trip and changing my daily routine, but on the other hand, having ample time to work on Momentum...

So buckle up, because we have quite a sticky update for you! Haha… *Ahem*

It’s All Sticky!

0.8.4 introduces the Sticky Jump gamemode, implemented by Hat Kid and ILDPRUT. Based off of the Demoman class in Team Fortress 2, players utilize a sticky launcher (made by False_) to shoot sticky bombs (also made by False_), and used the controlled detonation of them (featuring particles by Vortex and Moonxbears) to propel themselves throughout the map.


For 0.8.4 we will be starting with the following maps:

  • sj_amazon
  • sj_asdf
  • sj_internal
  • sj_koi
  • sj_lanc

These were ported and made ready to use by the wonderful Jump community, with many more primed and ready for release in future versions!

Physically Based? Radical!

This release finally sees the inclusion of the PBR shader, the fruits of the labor from thexa4, Bonjorno7, and Sears. PBR stands for Physically Based Rendering, and with this shader comes a more realistic interpretation of materials interacting with lighting, specifically metallic ones. While we don’t have a fancy new lighting system to go with it to fully take advantage of it, the shader is a wonderful step towards a better looking game.


You can check out the “shadertest” map to see the difference between VertexLitGeneric (old default Source shader; left in the photo) and the new PBR shader (right in the photo). Most notable is anything metallic, such as the metal stairs in the middle. The tiles also utilize a Parallax Occlusion effect, where the texture is actually as flat as the VertexLitGeneric version, but the shader gives it fake depth based on where the scene is rendered.

In a similar rendering note, fingerprince added the ability to turn your guns into spooky ghost guns translucent with the r_viewmodel_opacity convar:



The shotgun was also touched up by Cabbage McGravel:


And we took feedback from jumpers about our previous rocket trail being harder to see to use for syncs or quints, so Vortex went and improved it:


Codebase Cleanup

In spirit of Half-Life: Alyx’s recent release, we went ahead and *checks notes* removed VR support!

In seriousness, a main theme of this update was “Codebase Cleanup.” The SDK has a ton of code from the different mod teams Valve hired, along with their experiments like supporting Mumble positional audio, the Logitech G15 keyboard screen, and pre-VR motion controllers. There’s also code supporting things Momentum will never need, such as VR, controllers, and consoles like Xbox and PS3. While most of this code removal won’t be seen by end users, it leaves behind happier developers with less to pull down from GitHub and slightly faster search and compile times.

We can’t fully remove the things we don’t need until Momentum were to obtain a Source Engine license, but for the time being, over 100,000 lines of code removed that we weren’t planning on using is very nice.


Full Changelog


  • Added Stickybomb Launcher from TF2 and the Sticky Jumping gamemode (551, 390, 626)
  • Stickybombs are networked to others in a lobby (610)
  • Added “mom_sj_stickybomb_drawdelay”, defaulted to 0 (551, 604)
  • Added “mom_rj_rocket_drawdelay” to match stickybomb convar (568)
  • Added “mom_hud_sj_stickycount_autohide” which auto-hides the count if 0 (604)
  • Add ConVar “mom_hud_sj_chargemeter_units” to show stickybomb speed when charged (604)
  • Added 0.05 second buffer to firing Stickybomb Launcher (616)
  • Charge mechanic is disabled whilst inside a start trigger (551, 567)
  • Added “sv_edge_fix” (off by default) (550)
  • Added `r_viewmodel_opacity` to adjust viewmodel opacity (586)
  • Added a PBR Shader, supporting the Metal/Roughness workflow and Parallax Occlusion (619)
  • Added various PBR assets and “shadertest” map (620)
  • Added “sv_tickrate” convar for simpler tickrate adjustments (602)
  • Added a “ModelData” block inside weapon scripts that define the path to every model the weapon uses (623)
  • Added TF2 override scripts inside “custom/overrides/scripts/” with a README on how to use them (weapon model hotswitching has been removed in favor of these) (623)
  • Added “give_weapon” command that autocompletes which weapons you can give yourself depending on gamemodes (624)


  • Fixed changing weapons from and to the rocket launcher allowing faster rocket firing (568)
  • Fixed TF2 materials from going pitch black (571)
  • Fixed showing default “dots” crosshair with weapon crosshairs and fix custom crosshair files (569)
  • Fixed the player_speedmod entity defaulting to the local player (552)
  • Fixed missing default crosshair (561)
  • Fixed incorrect sound playing when landing on a slope (603)
  • Fixed Main Menu/func_rotating crash after running for long periods of time (615)
  • Fixed user stats not showing for players (391)
  • Fixed Discord integration for Linux (613)
  • Fixed ConVarRefs being able to bypass ConVar_Validated validator funcs (623)
  • Fixed modals (settings panel, paintgun panel) not preventing input to the game (625)


  • Make RJ/SJ follow the other gamemodes' start zone logic (reset on landing, limit speed on enter) (568)
  • Center fire is now the default RJ firing mode to better cater to newer players (568)
  • Officially changed the map prefix for RJ from “jump_” to “rj_” (568)
  • Added updated RJ trail/explosion particles by Vortex (568)
  • Shotgun material has been reworked (560, 606)
  • The options for HDR bloom and tonemapping now use combo boxes (570)
  • Consolidate gamemode settings pages into a single “Gamemodes” tab (588)
  • The momentum rocket model now has and uses the "trail" bone for TF2-consistency (thanks to bonjorno7) (623)
  • Updated the Main Menu background for SJ Gamemode (607)
  • Skybox is no longer culled at >90 FoV (612)
  • Converted hotswitching convars over to enable toggle vars (623)
  • Removed VR support (565)
  • Removed controller support (593)
  • Removed Logitech G15 integration (600)
  • Removed Mumble integration (598)
  • Removed unused ghost server code (579), Source SDK templates (576), HL2MP code (574), TF2 Replay code (581), unused gamerules (573), Haptics (601), Vehicle code (599), 360/PS3 code (572), autoaim code and references (597)
  • Gamemodes define which weapons they can use, with the “unknown” gamemode allowing any weapon (624)

And Now For Something Completely Related

In non-game Momentum development news:

The website got a bit of some love and care, being updated to Angular 9 and Nebular 5, along with various packages-- oh you probably don’t care about the details. Well, thanks to Xbmann, the home page now has an updated “Gamemodes” section to better fit more information about the modes we are supporting:


And murglegurgle added the ability to have Map Notifications. Now you can be notified when Personal Bests or World Records will be set on any map you’d like!


And externally, Hona has been doing fantastic work on our Discord bot, which is currently announcing live streams of Momentum Mod and managing roles in the server.


Speaking of Discord, have you joined our Discord server yet? It’s the best place to be to stay up to date with the development of the game, to ask our team anything, and to hang out while we work closer and closer to 1.0.0!

But that’s all for now, well, until 0.8.5 that is!
Nick (Gocnak) K.
Momentum Mod Project Lead