HWR Bugs & Solutions

With the 666 Formation Targeting Bug being fixed recently, I figured I’d start a thread to list all the HWR bugs in v2.1. Some have already been solved and the solutions are below. Others may be solvable by modders like you! This is a group effort, aimed at improving all mods. This post is also a Wiki, so anyone can edit it as needed.


Hyperspace in Gravity Well Exploit

When a ship is being captured by a marine/infiltrator frigate, it can try to hyperspace inside a hyperspace inhibitor. This will reset the capture counter, and can be done repeatedly for 0 ru to basically render marine/infiltrator frigates useless. This exploit has been around since hw2c.
Solution (Fear)
Prevented attempting to hyperspace ships inside a hyperspace inhibitor. This exploit has finally been fixed!
-Add this line:
AddSubSystemAbility(NewShipType, “Hyperspace”, 0, “EnemyShipsWithinRadius”, 10500);
-Then for all of these files:
-Add this line to the bottom:
AddSubSystemAbility(NewShipType, “Hyperspace”, 0, “EnemyShipsWithinRadius”, 12000);

Salvage Scuttle Exploit

When salvage corvettes latch on and return an enemy ship back to the mothership, the corvettes release the ship and it docks with the mothership. When this happens, the enemy player can click on the ship and press the scuttle keyboard shortcut. This will scuttle the ship before its captured… This exploit is possible with many ships, including frigates, destroyers, heavy cruisers, some carriers, and some utility ships.
Solution (QuadS)
Prevent the affected ships from being scuttled while docking.
-Make a new util file:

-- Disable scuttle while a captured unit is being dropped off by salvage corvettes
function NoSalvageScuttle(CustomGroup, playerIndex, shipID)
	SobGroup_AbilityActivate(CustomGroup, AB_Scuttle, 1 - SobGroup_IsDoingAbility(CustomGroup, AB_Dock))

-Have carriers from each race load the util file:
-Have each affected ship call the function:
function Update_Hgn_Destroyer(CustomGroup, playerIndex, shipID)
NoSalvageScuttle(CustomGroup, playerIndex, shipID)
-Ensure each affected ship is running customcode.

Kamikaze Exploits

There are many cheap ships that can kamikaze into and kill more expensive ships (such as a repair corvette taking out a heavy corvette). Additionally there are fighter/corvette squadrons that can kamikaze into and kill targets, then dock-heal back to full strength for free.
Partial Solution (Cloaked)
Reduce the Kamikaze damage received by fighters and corvettes. Ideally when a squad kamikazes the whole squad would always die (however a method for this has not been created yet).
-Set the kamikazeArmourFamilyDamageMultiplier to 0.2 for Unarmoured, Unarmoured_hw1, LightArmour, LightArmour_hw1.

Additional Exploits in Multiplayer

These will not be made public, as solutions have not been found yet. They are listed on the Private Patch Beta forum:
PM me for details if your a modder that wants to tackle any of these, and you don’t have access to the private forum.

General Bugs

666 Formation Targeting Bug

#666: Formation Targeting Bug
Bug 666 partial fix + multi-mod compatability

Ships Face Away

When targeting fighters/corvettes that are locked down by a gravity well, many ships will turn and face AWAY from their targets. This looks crazy, and it affects many ships including the Kushan destroyer and Kushan heavy cruiser.

Guarding a Blast Zone

Tell fighters to guard a friendly ship such as a battlecruiser. When the battlecruiser scuttles/dies - the fighters won’t evade the blast zone like they usually would.

Units Targeting Across the Map

Units targeting units at long distances
Not sure how to re-produce, but this happens sometimes.

Hidden Debries

Debries do not disappear while colected
Related Bug:
Also here’s a vid of my ships targeting hidden debries. Unlike the thread above though, the derbies was never collected. The hidden derbies appears to have been spawned after scuttling some kus carriers/killing some HMF:
I heard the complex mod has debries that expire. I’m not sure if that fixes this bug or not though.

Research Stats

After completing all available Hiigaran research, the end of game stats screen will only show 72% research completed. This likely affects other races too.

Cadet School Achievement

The “Graduated Cadet School: All Homeworld Classic Tutorial Missions Completed” achievement does not work in v2.1. It may have worked in v1.0, as 2% of players have obtained this achievement.

Double Pumping Research Ships

Its possible to build two research ships at once, if they are built on different carriers.
Solution (QuadS)
Update each of these scripts as needed. See the files in the 2.3 Players Patch as the scripts are too long to include in this post

Docking Bugs

Cross Race Docking Bug

Docking hw2 fighters and corvettes in hw1 Support Frigates, Resource Controllers, and Repair Corvettes is badly bugged. If the hw2 squad has lost a unit, it will be regenerated but remain trapped in the hw1 ship until the hw1 ship dies. This leads to bad lag many bad problems as seen here:
Support Frigate Issue Repairing Assault Craft
Partial Fix (Dom2, radar3301): Launch paths can be added to the hw1 ship .hods, to allow regenerated hw2 fighters/corvettes to launch from inside the hw1 ships. However only the Kushan support frigate has been fixed, as this ship model/DAE was provided by Gearbox as an example. Unfortunately the other affected ship models are locked (However it may be possible to edit them with cfhoded, see here)
Solution (Cloaked)
Prevent hw2 fighters and corvettes from docking in ships from another race. Use these two lines in the .ship files:
Note: Transferring or capturing ships can still lead to this bug, but its far less likely to occur with this solution in place. Additionally singleplayer props can be used so that this only affects multiplayer.

Docking Under Attack Glitch

When a squadron is docking while under attack, they sometimes glitch out and stop moving for a while.
Solution (Fear)
Affected Squadrons are automatically issued another dock order to dock with the closest ship.
-Make a new util file:

-- When a docking squadron is under attack, they sometimes glitch and stop. This issues another dock order to dock with the closest ship.
function UnderAttackReissueDock(group)
	if (SobGroup_GetCurrentOrder(group) == COMMAND_Dock) then -- en route to dock
		if (SobGroup_UnderAttack(group)) then -- under attack
			if (SobGroup_Count(group) < SobGroup_GetStaticF(group, "buildBatch")) then -- lost one or more members
				if (SobGroup_IsDocked(group) == 0) then -- no member of this squad is docked
					if (SobGroup_GetActualSpeed(group) < 50) then -- probably bugged into stopping - could get unlucky here and catch a pivoting squad

-Have carriers from each race load the util file:
-Have each affected ship call the function:
function Update_Hgn_Interceptor(CustomGroup, playerIndex, shipID)
-Ensure each affected ship is running customcode.
addCustomCode(NewShipType, “data:ship/Hgn_Interceptor/Hgn_Interceptor.lua”, “”, “”, “Update_Hgn_Interceptor”, “”, “Hgn_Interceptor”, 1)

Simultaneous Dock Repair

In v1.3, when you docked ships for repairs, they would be repaired one ship at a time at a set repair rate. Since v2.0, you can dock 100 ships at once, and they will all repair simultaneously! This also applies within squadrons. So in v1.3, a squad of 5 fighters with only 1 fighter remaining would repair much slower than a squad with 4 fighters remaining. Since v2.0, they repair in the same time since each ship in the squad repairs/regenerates simultaneously.

Dock Repair Rate

The v2.0+ dock repair formula is also unbalanced between ships in squadrons, and ships not in squadrons. The repair formula is: (max_health / batch_count) / (repair_rate * batch_count) = repair_time
1 individual Kushan Interceptor is (90 / 1) / (36 * 1) = 2.5 seconds
Squad of 5 Hiigaran Interceptors is (450 / 5) / (36 * 5) = 0.5 seconds
1 individual Kushan Heavy Corvette is (1700 / 1) / (75 * 1) = 22.7 seconds
Squad of 4 Vaygr Missile Corvettes is (2880 / 4) / (75 * 4) = 2.4 seconds
Workaround (Cloaked)
To partially address the unbalanced repair formula, first prevent fighters and corvettes from docking in ships from another race. Use these two lines in the .ship files:
Then assign different repair rates to hw1 and hw2 docking ships, including motherships and carriers.
Note: hw1 fighters/corvettes need to be able to dock with other races in the campaign, so singleplayer props can be used to make this affect multiplayer only.

Docking Lock

Tell fighters to dock, and they will then ignore most commands while proceeding to dock. They will respect the stop command, and right click attack commands, while ignoring other commands to move, bandbox attack, etc. The docking lock was implemented as a quick fix for syncing problems related to strike groups prior to the 2.0 patch release. Its probably best to leave this as is, this is just an FYI.

Ability Bugs

Salvage Behavior

Salvage corvettes won’t return captured ships (frigates and smaller) to carriers, unless the Mothership is dead.
FYI I tried changing kus_carrier.ship canBeDockForSalvageCapture from 2 to 1, and this will prioritize carriers over the mothership at first. But once the carrier is hyperspaced, the mothership will be prioritized after that. Ideally they would return captured ships to the closest carrier or mothership.

Salvage Formations

Put a bunch of salvage corvettes in one wall formation. Tell them all to capture one enemy target. Then select about 1/3 of the salvage corvettes and issue a capture command to a second enemy target. Then select about 1/3 of the salvage corvettes and issue a capture command to a third enemy target. The game will often crash. To avoid the bug, just don’t give a salvage corvette formation (or strikegroup?) more than one salvage target. Make separate formations, or don’t use formations at all for salvage corvettes.
Workaround (Cloaked)
To prevent this crash, salvage corvettes will no longer be able to join formations/strikegroups.
For each file in scripts/strike groups, under SupplyLimits, set SalvageCorvette = 0

Salvage Over Unit Cap

You can salvage ships over the unit cap in single player and multiplayer. When using marine/infiltrator frigates, the ship simply becomes disabled for a short time, as they respect unit caps. This is debatable on whether or not salvaging over the unit cap was intended (i know some devs wanted to ‘fix’ this).

Gravity Well Effect Area

When fighters or corvettes get stuck in the hw1 Gravity Well effect, they will continue to spin in place even after the hw1 Gravity Well has moved far out of range.
Solution (Trebic)
The majority of the code is the same as the original (Just cleaner). The actual changes are for the ship to keep track of who it has affected and to remove the tumble affects on those it no longer affects. Download Trebic’s Grav Fix files here:

Multiplayer Cloaking Glitches

When your teamate cloaks, you can’t see them. Worse though, if your ships are inside his cloaking zone - they will glitch out and blink very quickly. This bug has been around since hw2c. Here’s a repro:
This glitchy blinking also makes it hard to select your units and issue orders.

hw1c Style Cloaking

hw1c: ships cloak when not attacking
hw2c/HWR: ships must be told to stop and wait 10 seconds before cloaking.
The devs chose to stick with hw2c style cloaking, and never implemented the hw1c style cloaking. This is just an FYI.

Weapon Bugs

Miss-Aligned Guns (Hiigaran Shipyard and Vaygr Scout)

[BUG] Hgn_shipyard hull defense guns misaligned?
The Hiigaran Shipyard and Vaygr Scout guns are miss-aligned. They shoot to the side of their target and nearly always miss small targets. The Hiig Shipyard misses most ships smaller than frigates, while the Vaygr Scout just misses probes.
Workaround1 (Cloaked)
Changing this from 0 to 1 turns on bullet bending to overcome the miss-aligned guns. Note these guns will perform much better vs small targets with bullet bending, so they will need to be re-balanced accordingly.
Workaround2 (Cloaked)
split hgn_peashooter.wepn into vgr_peashooter.wepn
setMissProperties(NewWeaponType, 0.01, 0.01, 0.50, 0.60, 0.55, 0.55);
This makes nearly all shots vs probes use a narrow miss cone, and about 20% of the bullets will hit the probes.
To properly fix this bug, you would need to fix the gun alignment in the .hod files. Looks like ship patching can be used here! Ship Patching - Stage One
Trebic: “it should be possible to use patches (the extra lua files a ship will load), then tweak the positions of the hardpoint positions (Could use the old hods as a reference as they can be edited)”
Lone Wolf: “[or] we can extract them [.hods] from HWRM 1.30 hods and re-assemble them into DAEs.”

Miss-Aligned Guns (Taiidan Assault Frigate)

Similar to the bug above, the Taiidan Assault Frigate also uses two miss-aligned guns. While 2 of their turrets work fine, the other two shoot to the side of their target and nearly always miss small targets likes probes and fighters.
Solution (Cloaked and Fear)
Turned out the Taiidan Assault Frigate was using the “Tai_FrigateCannon” subsystem for two guns by mistake. The “Tai_FrigateCannon” is the gun subsystem for Taiidan Support Frigates. Note that while the taiidan support frigate guns are miss-aligned, by default the taiidan support frigate uses RNG rather than ballistics - so it is not affected by the bug.

Taiidan Defense Fighter shoots Allied Missiles

The taiidan defense fighter shoots down missiles from allied ships.
Solution (Radar3301)
Ensure missiles aren’t owned by the player, or an ally.

Game Setup Option/Type Bugs


The Crates gameplay option only grants resources. Its supposed to also grant ships and research. Additionally there may be some other bugs in the code. See this thread for more details and potential solutions:
[BUG] Bugs in crate code
Grant Ships Solution (Lone Wolf/Mikali/etc)
Change line 218 from: dofilepath(PlayerRace_GetString(playerIndex, “path_crate_ships”, “”))
To this: dofilepath(PlayerRace_GetString(iPlayer, “path_crate_ships”, “”))
Delete the last comma in the 4 files above.

Strikecraft & Support Only

Kushan Drone Technology research is available, when it should be disabled in this game type. Note that players are properly prevented from building Drone Frigates.
Solution (Cloaked)
update line 24 to:
dm_strikecraftgamemode_research_restrict = “GuidedMissiles,IonCannons,DroneTechnology”,

No Cruisers Option Locale

In the HW1 and HW2 gamemodes the No Cruisers game option text always displays in English, rather than the current locale language.
Solution (QuadS)
name = “nocruisers”,
locName = “$3139”,
tooltip = “$3140”,

UI Bugs

Sensors Black Bars

The sensors black bars at the top and bottom of the screen get huge on 3:4 resolutions.
HWR Patch Bugs and Issues
Workaround (Trebic)
muiTwkLetterBoxStartColour to {0,0,0,0}
muiTwkLetterBoxEndColour to {0,0,0,0}
This will completely remove the sensors black bars. Unfortunately it will also completely remove the black letter boxes in the campaign, which isn’t desirable.
Alternate Workaround (Dwarfinator)
Change muiTwkWidescreenAspect to 1.0
This will make the sensors black bars a bit smaller on all resolutions, and way smaller on 3:4 resolutions. Unfortunately this makes the black letter boxes in the campaign vertical instead of horizontal, which looks terrible.

Build Que Pause

Build a ship, pause it, then cancel the ship. The build queue will stay paused. But you can’t just click it again to un-pause it like you could in hw2c. To un-pause it, you have to build another ship, then un-pause the queue. This is annoying, as pausing build and research queues is used a lot in multiplayer.
Move the lblNoTasksPending section of code above the first btnPauseQueue section of code.

Research Menu Tabs

In the research menu, Platform/Utility tabs show up for hw1 races, and the Non-Combat tab shows up for hw2 races. These tabs should be hidden based on the race your playing.
Solution (Trebic)

  1. kus_carrier.lua, kus_mothership.lua, tai_carrier.lua, tai_mothership.lua
    Replace UI_SetElementSize(“NewResearchMenu”… with
    UI_SetElementVisible(“NewResearchMenu”, “Platform”, 0);
    UI_SetElementVisible(“NewResearchMenu”, “Utility”, 0);
  2. hgn_carrier.lua, hgn_mothership.lua, vgr_carrier.lua, vgr_mothership.lua
    Replace UI_SetElementSize(“NewResearchMenu”… with
    UI_SetElementVisible(“NewResearchMenu”, “NonCombat”, 0);
  3. In vgr_carrier.lua, you also need to change “hgn” to “vgr” everywhere.

Build/Research/Launch Menu Scaling

The default Build/Research/Launch menu sizes are optimized for 1080p. On bigger resolutions such as 4k the menus are tiny, and the opposite is true on smaller resolutions.
Solution (Cloaked)
Above Anchor_Binds, make this change:
size_WH = { w = .2, wr = “scr” },
This will set the default size to scale to 20% of the screen size.

Multiplayer Scroll Bar

In multiplayer, if there are many games hosted a scroll bar appears. Only it doesn’t work so you can only see the first several games.

Multiplayer Filters

The game filters do not work.

Control Options Typo

In the control options menu, “Aggressive Tactics” is now supposed to be called “Offensive Tactics” like its called elsewhere.
Both of the following files look correct, so I’m not sure whats wrong:

Graphics Bugs

Movement Disc Glitch

While using the movement disc, if you press the right mouse button to rotate the camera and then release it WITHOUT giving the movement order, the disc jumps for a second and then returns to the initial position.

Hiigaran Mothership Graphics

Visual errors including badges getting cut-off, and other minor errors that can be seen on close inspection.
Master Troubleshooting Guide
Higaran mothership texture sym problem
Use the fixed version from the 2.205 Patch Preview, or the 2.3 Players Patch.

Infiltrator Frigate Pods

Look at the pods inside the ship. One side has their arms flipped. If you watch the capture animation inside the ship, you can see them glitch/flip during the animation.
Seems very fixable, but I haven’t done modding in this area in 10 years now.

Kushan Heavy Cruiser Ion Turrets

They do not display custom base/stripe colors, as they did in v1.0/v1.3. They just display the default Kushan colors.
Solution: (Trebic & Dom2)
A fixed .hod is included in the 2.3 Players Patch, and available on dropbox:

Kushan Probe Explosion

The Kushan probe explosion is far too large compared to other probes.
{ “fx_scale”, “entity” },
{ “fx_scale”, “4.0” },

Taiidan Resource Controller Graphics

With nlips enabled, docked collectors would appear inside the controller when zoomed out.
Change these lines:

Kushan Research Ship Spinning

In hw1c, a complete Kushan research ship would spin. It does not in HWR.
Solution (Trebic)
Animation has been added to the ship. Changes affect the .hod .mad .lua and .madstate files. These files are included in the 2.3 Players Patch, and available on dropbox:

Turanic Carrier Icons

The engine icon is missing.
Add the following line at the bottom right above HW1_FighterTank:
Tur_CarrierEngine = Icon_Subsystem_Engine

Sound Bugs

Private Message Sound

When a private message is sent, everyone in the lobby hears the audio alert even when they are not the recipient. As a workaround the audio alert has been removed, as the chat window already visually flashes for the recipient.
Workaround (QuadS)
-Create the following file:

-- This file is generated automatically by the Relic Audio Tool
version = 4
volume = 0.0 -- muted to work around bug
randSampContainer = 0

Hiigaran Gunships Sounds

They make pulsar sounds when their guns fire.
The pulsar and gunship sound file names are swapped/named incorrectly.

Hiigaran Pulsar Corvette Sounds

They do not make sound when their guns fire.
Solution: (Stuart)

Vaygr Missing Build Sounds

When ships are build, the game will say “X ship completed”. Except for the Vaygr Gun Platforms and Missile Platforms. It appears Gearbox forgot to record the voice actor audio for these.
Workaround (QuadS)
Play “Platform Complete” audio for Vaygr Gun Platforms and Missile Platforms.
-Create status_vgunplatformconstructed_1.wav and status_vmissileplatformconstructed_1.wav by trimming/splicing existing audio files.
This can easily be achieved using Audacity which is a free audio tool (Tutorial).
-Additionally, the particular capitalization required for these sounds is unknown, so we must capitalize all the stdCMap items like so:
stdCMap[“HGN_SCOUT”] = “STATUS_ScoutConstructed_1”
-add these two lines:
stdCMap[“VGR_WEAPONPLATFORM_GUN”] = “STATUS_VGunPlatformConstructed_1”
stdCMap[“VGR_WEAPONPLATFORM_MISSILE”] = “STATUS_VMissilePlatformConstructed_1”
-Update the code to add the strupper line:

elseif (buildType==BUILD_Std) then	
    builtItem = strupper(builtItem)

Research Ship Hub Sounds

When the first Kushan/Taiidan Research Ship is built, the game will say “Research Ship completed”. However the audio does not play for the additional Research Ship hubs.
Solution (Trebic)
stdCMap[“Kus_ResearchShip_1”] = “STATUS_ResearchShipConstructed_1”
stdCMap[“Kus_ResearchShip_2”] = “STATUS_ResearchShipConstructed_1”
stdCMap[“Kus_ResearchShip_3”] = “STATUS_ResearchShipConstructed_1”
stdCMap[“Kus_ResearchShip_4”] = “STATUS_ResearchShipConstructed_1”
stdCMap[“Kus_ResearchShip_5”] = “STATUS_ResearchShipConstructed_1”
stdCMap[“Tai_ResearchShip_1”] = “STATUS_ResearchShipConstructed”
stdCMap[“Tai_ResearchShip_2”] = “STATUS_ResearchShipConstructed”
stdCMap[“Tai_ResearchShip_3”] = “STATUS_ResearchShipConstructed”
stdCMap[“Tai_ResearchShip_4”] = “STATUS_ResearchShipConstructed”
stdCMap[“Tai_ResearchShip_5”] = “STATUS_ResearchShipConstructed”

Kushan/Taiidan Repair Corvette Sounds

They play gun noises while repairing. Additionally the heal beams originate from their guns, rather than the original locations. The solution below corrects both problems.
After RepairGunHeal, change: Weapon_Gun0 to Weapon_Rep0

Kushan Ion Cannon Sounds

When Kushan Ion Cannon Frigates are build, the audio is miss-pronounced as ‘cannit’ rather than ‘cannon’.
Solution: (Cloaked)
stdCMap[“Kus_IonCannonFrigate”] = “STATUS_IonBeamFrigateConstructed”

Kushan Destroyer Sounds

The ion cannons don’t have sound or muzzle effects.
Set both to: { “anim”, “Weapon_Gun1” },

Taiidan Missing Build Sounds

When ships are build, the game will say “X ship completed”. Except for the Taiidan resource controller, ion cannon frigate, and cloak generator. It appears Gearbox forgot to record the voice actor audio for these.

  • Create STATUS_ResourceControllerConstructed.wav by splicing together status_resourcecontrollerdamaged.wav and status_resourcecollectorconstructed_1.wav
  • Create STATUS_IonCannonFrigateConstructed.wav by trimming status_assaultfrigateconstructed_1.wav so the clip will simply say “Frigate Complete”
  • Create STATUS_CloakGeneratorConstructed.wav by trimming status_gravwellgeneratorconstructed.wav so the clip will simply say “Generator Complete”
    This can easily be achieved using Audacity which is a free audio tool (Tutorial).

Taiidan Using Vaygr Voice

Player vs CPU > Homeworld 1 Deathmatch > Play as Taiidan and you’ll get the Vaygr voice actor.
Solution (Lone Wolf)
Race index values are not all unique if you have race restrictions
Note: I’ve refined Lone Wolf’s solution to apply to the default game (his code was for the FX mod):

Options Bugs

Keyboard Controls

The game prevents you from assigning some keyboard keys/combos to some commands. Additionally, sometimes when you change certain keyboard controls from the option menu, your changes are not saved correctly.
In the options menu, first assign the command to another keyboard key temporarily. Then exit the game and open this file in notepad:
C:\Program Files (x86)\Steam\steamapps\common\Homeworld\HomeworldRM\Bin\Profiles\Profile1\PLAYERCFG.LUA
In the ControlsOptions section, find the desired command and manually change its ASCII keyboard codes.

Modding Related Bugs

UI Options Bug

[UI] bug into the OPTIONS / gameplay Tab when used from main menu
Solution (Cloaked/Trebic):
change [[SetTacticalDotScale(%spos);]] to:
[[if (SetTacticalDotScale) then SetTacticalDotScale(%spos) end]]

UI Layout

[UI] layout system questions/bugs?

Animation Bug(s)

[BUG] SEVERE issue with multiple animations on single joint
[OLD Bug] Subsystems still left behind by animations
[BUG] STC warping animation partially ignored

Missing Error Logging resulting in ‘Divide by Zero’

[RESOLVED] Divide by zero

Vanished Effects

BUG Report - Vanished Effects

FX Culling and Inconsistencies

[BUG] FX culling and inconsistencies

Race Index Values Not Unique

Race index values are not all unique if you have race restrictions
Solution (Lone Wolf):
Race index values are not all unique if you have race restrictions

Starting Fleet Crashes

The game can crash if a player starts with a Taiidan mothership and no carrier, or two motherships from a certain race.
Solution (Mikali/QuadS)
The Taiidan fix is here: Gameplay Bugs & Feedback MEGATHREAD
The two mothership fix is included in the 2.3 Players Patch, see these files as the scripts are too long to include in this post:

Ships that Don’t Work for Mods

[SOLVED] Ships that don't work

Legacy Bugs

Homeworld 2 Classic bugs that may still be present in HWR:

Many of these are still present in HWR.

Engine Trails

Trail Fix mod for Homeworld 2 Classic
This bug was not present in the original release of homeworld 2 classic, however it is present in the remastered collection. VortiK is credited with the solution.

hw2c2003 vs hw2cRemastered

Its important to note that Gearbox received perhaps version 0.95 of the hw2c source code, and had to rebuild it to version 1.1. Due to this, Gearbox had to re-fix bugs that Relic had already fixed in 2003. Its likely there are other differences/bugs that have not been documented. Balance is especially sensitive to engine changes too, so it could be different between these two versions.

Campaign Bugs

A partial list of campaign issues and solutions is on GitHub. Many other campaign issues have been fixed in the 2.3 Players Patch, as listed in the change list. To determine the solution for each, just extract the 2.3PlayersPatch.big and use Meld to see the changes to the relevant files (ie: compare a mission file to v2.1).

Balance Issues

See the 2.1 Patch Balance Issues thread for a partial list as of 2017.

These solutions and more are included in the 2.3 Players Patch. Additional current issues can be found on GitHub. Gearbox’s patches also fixed many other bugs between v1.0 and v2.1, details are here.

Bug Fix Credits: Trebic, Lone Wolf, Fear, QuadS, Mikali, Dwarfinator, Dom2, radar3301, CryCoh, NoOne, Stuart, Cloaked, etc


Very informative… Thanks for that list and the provided fixes.

1 Like

Another bug which I believe hasn’t been fixed in the newest version of HWRM:

I do know some fixes and possible answers to a couple of these issues, but as I may not be on my computer for a few days, I will post possible answers here (Note: I will try to be as informative as possible, but I am unsure of many variable or function names involved.)

General Bugs
Gravity Well Effect

All code related to the gravity wells are from addCustomCode and ?addCustomCommand? (don’t know what the second function is called), it would be best to look over this code to see what changes could be made to have the grav wells work better (Note: GravWells break if they are indestructible)

hw1c Style Cloaking

If you wish to try hw1 style cloaking, it will require the ships that have the cloaking ability to also have custom code, in this custom code could be something like

if (SobGroup_CanDoAbility(CustomGroup, AB_Cloak)== 1 and SobGroup_IsDoingAbility(CustomGroup, AB_Attack)== 0) then
  if (SobGroup_IsCloaked(CustomGroup)== 0) then
    SobGroup_CloakToggle(CustomGroup) -- Don't know how this command is used

Note: The above code will always force the unit to cloak when it’s not attacking

Hiigaran Shipyard Guns

I don’t know if it’s possible to edit the remastered hods. If not, then it should be possible to use patches (the extra lua files a ship will load), then tweak the positions of the hardpoint positions (Could use the old hods as a reference as they can be edited)

UI Bugs
Build Que Pause

I don’t have a specific answer to this, but if it is correct that the complex mod has this working, then it may be a typo or another issue in the build file lua. I think the directory to the file is something like UI\NewUI\Build\Build.lua

Research Menu Tabs

For a fix for this, you will first need the ui tab names, these can be found in the research lua file (I think its in UI\NewUI\research\research.lua), The tab are created from a function in that file, NewButton or NewTab (Custom made function thats located in (UI\NewUI\HwRMStyles\Constructors.lua)).
With the names of the tabs you wish to hide, you will then need to call UI_SetElementSize from the gamerules, preferably from the load functions of addcustomcode (Called from the mothership, carrier and shipyard for each team).
This function I believe is already used in the carriers and motherships, but it may be best to use code so only the players team affects the player

if (playerIndex == Universe_CurrentPlayer()) then
  UI_SetElementSize(<screen>,<element>, <?width>,<?height>)

Hope this will be helpful to others, In a few days I will try and see what I can help to fix.


What is the aim here? Shall we try to fix what we can? Are all the solved ones implemented in the players patch mod?

Just wanted to build a master bug list for reference to modders. For most everything in the OP so, I’ve verified they are still present in v2.1. Ive also taken a stab/solved several of them. If we can fix some more bugs, thats great. The ones that are already solved are in the 2.3 Players Patch.

I read through a ton of bug/feedback threads to compile this, but forgot to do a “bug” search in the modding forums! Lol, looks like there’s some more modding related bugs Ill have to add later.

1 Like

Not yet.

Maybe some stuff carried over from HW2C, here:



Should also mention that HWRM is a 32-bit application. Not a bug, but still a major issue. In testing, I can make the game lock up and crash.

1 Like

But we can extract them from HWRM 1.30 hods and re-assemble them into DAEs. And the best part is that HW2 ship models in HWRM are almost the same as those in HW2 Classic. So all we need to do is to convert the old HW2C hods with RODOH and then replace all the textures with HWRM’s textures.


I was thinking more in using the ship patching system to change the hardpoint positions rather then changing the hods.

1 Like

I updated the OP with modding related bugs and a link to the hw2c bugs (many of which are still in HWR) a couple days back.

Here’s my personal hit-list, for whats still at large:

  • Docking in Support Frigates
  • Salvage Behavior
  • Ships Face Away
  • Sensors Black Bars
  • Build Que Pause

I’ve got some time off at the end of December, so I can stab at these some more then.

@Psychichazard, could you possibly make the OP a wiki so anyone can edit it?


Here’s fixes for the Research Menu Tabs and Gravity Well Effect

Sensors Black Bars
To completely remove the black bars, try changing

  • muiTwkLetterBoxStartColour to {0,0,0,0}
  • muiTwkLetterBoxEndColour to {0,0,0,0}

Multiplayer Direct Connect
Not to sure if this is already known or not, but in the file ui/newui/multiplayer/connectiontype.lua at line 119, the function call here is commented out. If this function is uncommented, it adds a new multiplayer option INTERNET (Direct TCP/IP) .



Maybe it’s possible to use this to allow the Steam Version vs the GOG Version?
(Note: The textbox input doesn’t seem that great. 1- Backspace didn’t work, nor do the arrow keys. If you make a mistake, use the mouse to change the cursor position then use the Delete key. 2- The period on the numpad doesn’t work, instead use the period near the commor on the keyboard.)


Trebic, I thought about re-enabling the IP menu too, but then I figured Steam is probably going to be around a long time. (I actually used the IP menu successfully several times back in hw2c. :slight_smile: )

We know Mac is not possible at all due to floating point integers:

As far as playing vs GoG:

‘HWR’s multiplayer model’ checks compatibility by comparing the .big files, exe, likely dlls, etc - which all must be identical. GoG appears to have the same .big files, but has a different exe and a few different dlls. However there was a workaround for this in hw2c. People would have one exe to launch the game such as ‘hw2launcher.exe’, while leaving the default ‘homeworld2.exe’ in place. The compatibility check would only compare the ‘homeworld2.exe’ file, and didn’t check the exe that was actually running the game, lol.

So in theory a GoG player could rename their exe, download the steam exe and dlls, and maybe be able to play vs a Steam player. I actually tried to do this over LAN after the GoG version came out, but I was un-successful. I think I could see LAN games being hosted, but was unable to pass the compatibility/version check. If someone hammers on this longer however, it may very well be possible to get LAN/Direct IP working cross platform (unless Gearbox closed this loop hole). In all honestly though, they would still need to buy the steam version in order to join all the action in the steam multiplayer lobby.

1 Like

Sorry for OT, but guys, you are just amazing. Thank You for your efforts.



Or…yeah. Done.


The game compares HomeworldRM.exe & seFDAudio.dll. Launching the game from an exe that does match, say HwRM.exe, but HomeworldRM.exe doesn’t match, the game won’t match.

I’m unsure if I should go into details on getting multiplayer to work between Steam and GoG, but to put it short, 3 files need to be the same HomeworldRM.exe , seFDAudio.dll & Galaxy.dll. DirectIP needs to be enabled (this will require a mod). Lobby’s will not work, at least not for the steam version. O’ and lastly, the game’s need to be the same version (No preview patch).

You should add the asteroid shader fix I pointed out… I’ll see if I can dig up a link…


Though not a bug of HW Remastered, I’d like to mention the bug that engine trails in HW2 Classic which comes with HWRM are broken.

1 Like

Has this been mentioned? Bombers tend to get destroyed by the splash damage their own weapons create.

1 Like

I edited the OP to include the solutions mentioned above.

That indeed removed them completely.

Does anyone happen to know if ui.lua or camera.lua can be tweaked via the game’s options menu? Or perhaps set in PLAYERCFG.LUA? I would love to have options to:

  1. Enable/disable the sensors black bars (ui.lua)
  2. Adjust the camera pan speed (camera.lua cameraTwkPanSpeedFactor)
  3. Adjust the camera max zoom distance (camera.lua cameraDefaultMaxDistance cameraDistanceMax)

For the third item, Relic’s comment in camera.lua literally says “-- max distance possible in the in game options screen” so it sounds like Relic had planned to add a camera zoom slider option to the game.
1/3/18 Edit: Got #2 and #3 working! #1 isn’t working, seems ui.lua is unable to use dofilepath.

Ya if a friendly ship (such as a bomber) fly’s by the target of another bomber, its likely to take friendly splash damage. Formation leaders also take some friendly fire from ships in the back of the formation. I just checked all the bombers in v2.205 and only hgn_antishipbomblauncher.wepn wasn’t checking its line of fire (iCheckLineOfFire=0->1). iCheckLineOfFire helps, but it isn’t perfect. After changing that, I tested 15 squadrons of hiigaran bombers vs non combat ships. After 4 minutes the bombers lose about 25% of their health from friendly fire, Vaygr bombers saw similar results. In general fighters are just easily susceptible to friendly fire, which is fine.


Did you forget to hide the utility research tab for hw1 races or was there a reason? I went ahead and hid those too. I also tested this fix by capturing carriers/motherships from other races, and it works without a problem!