• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

Which features/edits to avoid to ensure maximum compatibility with all versions in a map

Level 9
Joined
Dec 20, 2025
Messages
129
create a map with the priority of compatibility over efficiency/functionality or visual appearance. The reason is that I'm going to play it on 1.26 and 1.27, but I think most of the maps uploaded to the forum are for Reforged(I don't have reforged so I can't create separately). So there's no point in uploading it here besides epicwar.com if it's not compatible with Reforged.
What would you recommend I avoid to increase compatibility? I assume a new map without any additional triggers is universally compatible? Are SD imports also compatible with Reforged?
 
  • Don't use the "memhack." From the standpoint of Reforged that was an exploit hack, not a feature.
  • Do not use a war3mapPreview.blp file to set a custom picture for your map in the game lobby. Reforged broke this. There is a workaround so a Reforged map can hack in a picture on the lobby, but it does not work in the same manner and is not nearly as convenient.
  • SD imports are fine and should work on Reforged, but the Reforged engine has a bug from 2020 that was never fixed which causes Ribbon Emitter effects on SD models to show in a darker, incorrect color. It's been broken for enough years at this point that the people playing and maintaining Reforged have mostly forgotten it is broken, but if you do a side-by-side screenshot of Water Elemental/Sludge/Reef Elemental/Phoenix attack arts, it becomes quite evident that they are a different color. The ribbon on the Paladin is barely visible on Reforged, almost as if he did not have one. So do not depend on exact colors of ribbon emitters.
  • Reforged changed certain abilities such as Tranquility to make the caster invulnerable when cast. Other abilities such as Starfall allow the user to customize their appearance on the 1.26 patch, but on the Reforged the appearance of the ability is hardcoded and cannot be changed. There are many subtle nuance differences like this which are annoying, and one of the best ways to detect them is simply to play the custom map on Reforged to see if it is affected by a bug, although most of the time it probably will not be.
  • Do not use BLPs with weird or fake mip maps. I'm not super familiar with what changed but Reforged updated their BLP parser to try to remove loading of invalid data, and it also broke some BLP formatting "hacks" that were originally intended to make the files smaller in storage or other such things.
  • Do not have your game depend on extremely exact camera angles. I had a cinematic from 2008 or so that I watched in 2019 on one of the prepatches leading up to Reforged, and the position of the camera was ever-so-slightly-off in the 16:9 resolution versus how it had been in 4:3 resolution, even if I squashed the 16:9 window of the pre-Reforged client down to a 4:3 window area.
  • Do not have your game depend on particular looped music. This might have been fixed but the Reforged client had a history of playing the wrong music at the wrong times when maps would ask the game to play music. It's probably still possible to use music in a way that works fine on both Reforged and the 1.26 era clients, but you would want to test it first. I recall something about Reforged requiring the map to "Stop music" first before playing new music in a way that was not required in the original Frozen Throne game or something like this -- so it's basically a case of inconsistent behavior, probably related to the FMOD port of the original Miles3D game sound system breaking when the React Native UI was hacked into the system.
  • Do not use Widgetizer or similar SLK tools to try to make your map load faster. These speed up load time on 1.26 (sometimes substantially) but will most likely cause the map unit data to not load properly on the Reforged client. Do not import custom SLK files into the map to override ingame ones -- the formatting on Reforged is not the same. (This is probably uncommon these days for anyone to do this, since the editor itself does not advertise this as a support feature and it had to be discovered by users exploring how the game works, unless if they were told online to do it by tools like Widgetizer.)
  • Do not use Vexorian Map Optimizer as it will convert players such as "Neutral Hostile" and "Neutral Passive" to the number values 13 or 16 to try to save on lookup time versus the variable for those players -- based on the assumption the game would never have more than 12 players (plus slots 13, 14, 15, and 16 for neutral data). But on the Reforged client, the game has 24 player slots and the neutral data is stored in 25, 26, 27, and 28. If you use GUI triggers it's fine, and if you use JASS it will be fine as long as you don't type the number 13 (or 12 if you're starting the count from 0) for your neutral player. Instead, always use bj_PLAYER_NEUTRAL_PASSIVE or whatever -- it needs to be referencing the builtin variable, then it should work fine on Reforged.
  • In the Map Options you can choose Melee - Latest patch for the game data, or choose Custom which locks the map to Patch 1.07 data to keep it working the exact same even when the game balance changes. In general, if your map has custom units and unit stats, it is much better to use Custom and not use the Melee - Latest patch option. This will reduce differences in the unit stats between your map on 1.26 and what it would be like on Reforged. However, the Reforged developers were not as good about this as the Blizzard people in the 2000s and in some cases the Custom mode which locks unit data to patch 1.07 so it will never change in patches ended up changing accidentally away from Patch 1.07 emulation on the Reforged client anyway. But these issues are less common if you use Custom data.

There are probably other things I have not thought of, but this was a list of a few off the top of my head.
 
In the Map Options you can choose Melee - Latest patch for the game data, or choose Custom which locks the map to Patch 1.07 data to keep it working the exact same even when the game balance changes. In general, if your map has custom units and unit stats, it is much better to use Custom and not use the Melee - Latest patch option. This will reduce differences in the unit stats between your map on 1.26 and what it would be like on Reforged. However, the Reforged developers were not as good about this as the Blizzard people in the 2000s and in some cases the Custom mode which locks unit data to patch 1.07 so it will never change in patches ended up changing accidentally away from Patch 1.07 emulation on the Reforged client anyway. But these issues are less common if you use Custom data.
Regarding this. It is generally recommended to do this for major overhaul custom maps since you do not want breaking melee balance changes bleeding into your custom map over time. The main time using the Melee - Latest patch setting is useful is if you are doing a modified melee and want current melee balance. Of course current in this context would depend entirely on the version of Warcraft III being used.
 
Thanks for the guide. Taking all the information into account I plan to do everything in GUI, and I hope that reduces a lot of incompatibilities. I'll make a note of the camera angles; I'll only use zoom in and zoom out; the looped music, I'll replace it with 3D sound. I think that also eliminates the need for GetLocalPlayer for per-player music; war3mapPreview.blp, I don't plan to add a minimap image or loading screen; Vexorian Map Optimizer, I won't be using any optimizer/protector.
 
Back
Top