GEO + Fixed Vehicle Models
this mod combines "fixed vehicle models all dlc" and "geo ww2 models" together
fixed vehicle models make the vanilla models big and geo ww2 models adds new high quality models
this mod scales up geo ww2 models (by 1.2) to be the same size as the fixed vehicle models
the priority is that someone who is not using the mod will also see the same model (for multiplayer), so even if i manually change my model it will still be the same model to someone with 0 mods enabled, i will just see a bigger and (if it’s using a geo ww2 model) higher quality model
ive checked error.log and the replacements it did in game, if u find a bug comment and ill fix
AI was NOT used on any art, it was only used to make python script and combine the mods
everything written below this line is by ai
————–
Combined Hearts of Iron IV mod merging:
- Base: Fixed Vehicle Models All DLC (Vehicle Fix)
- Models: GEO World War 2 Models Mod (GEO WW2)
Vehicle Fix provides scaled-up vanilla models. GEO WW2 provides higher-quality geo_* models for many vanilla entity slots. This mod keeps Vehicle Fix as the foundation and selectively swaps in GEO models where they represent the same vehicle.
The full Vehicle Fix workshop content is copied as the mod base. All scaled entity definitions, empty vanilla overrides, and Vehicle Fix sizing are preserved.
Each merge run resets Vehicle Fix entity .asset files from the workshop copy before applying replacements, so re-running the script is idempotent.
Only entity name values that already exist in Vehicle Fix are considered. GEO-only entities (for example GER_medium_armor_panther_a_entity, FRA_modern_armor_leclerc_entity, or geo_* custom entries) are not added.
For each Vehicle Fix entity, the merge script checks whether a GEO model represents the same vehicle.
Vehicle identity is inferred from:
- Comments in Vehicle Fix _125*.asset files (for example # ARL 44 (FRA_heavy_armor_1))
- Vanilla game equipment designer icon labels (for example GER_medium_armor_entity #Panzer IV)
- Vanilla mesh names when VF comments are section headers
- GEO comments, mesh filenames, and icon labels
- Roman numeral handling (Panzer IV → panzer4) and hyphenated names (AMX-M4 → amxm4)
Same-name matching: if GEO uses a geo_* mesh on the same entity name and vehicle tokens match, replace.
Cross-name matching: when GEO uses a different entity name for the same vehicle (common with base-game slots), the script searches GEO entities with a compatible role. Examples:
Cross-name matching requires compatible equipment roles (base medium_armor → medium_armor_1, but not armored_car → light_armor) and strong token overlap.
Same-name slot fallback: when Vehicle Fix has no vehicle label but GEO assigns a geo_* mesh to the same entity name, the GEO slot assignment is trusted.
Kept from Vehicle Fix when GEO assigns a different vehicle to the same slot:
When a GEO replacement is applied:
GEO models are larger than vanilla but smaller than Vehicle Fix scaling. The 1.2 multiplier brings GEO models up to Vehicle Fix visual size.
For each accepted replacement, the script copies:
- GEO mesh definitions into gfx/entities/_geofixed_meshes.gfx
- GEO model files (.mesh, textures, .anim) referenced by those meshes
- Required animation definitions into gfx/models/units/tanks/_geofixed_animations.asset
Texture copying handles naming mismatches and shared texture families:
- geo_panzer1_a.mesh → geo_panzer1a_* textures
- geo_panzer4_g.mesh → shared geo_panzer4_* textures
- geo_b1bis.mesh → geo_b1_* textures (mesh name differs from texture prefix)
- geo_type97_chiha_track_* and geo_38t_e_track_* shared track textures
- geo_accessories_* shared accessory textures
GEO entity parsing prefers _geo*.asset definitions over vanilla units_tanks.asset overrides, so base-game slots like GER_heavy_armor_entity correctly resolve to geo_tiger_mesh (Tiger I / Panzer VI).
A GEO WW2 vehicle plan CSV (3d model plan – シート.csv) is included for reference when validating nation/vehicle slot assignments. This is from the google sheets linked in Kakheti Arsenal discord.
43 replacements total. Full machine-readable details: merge_report.json
The script expects Vehicle Fix, GEO WW2, and the vanilla HOI4 install at their default Steam paths (configured at the top of merge_geo_models.py).
Enable this mod instead of Vehicle Fix and GEO WW2. Do not run all three together.
- Vehicle Fix: Fixed Vehicle Models All DLC (Workshop ID 2909181066)
- GEO WW2: GEO World War 2 Models Mod (Workshop ID 3132985068)