LazyGrip logoLazyGrip.net
Sign inSign up
NEW: The GRIP-EMS Community Forum is live. Join the conversation at forum.lazygrip.net.

Coming from the legacy program

If you use an older macro sequencing addon and are evaluating whether to switch, this section is written specifically for you. The legacy program works and a lot of good sequences exist for it. The reason to use GRIP-EMS is the structure you can build into a sequence and the diagnostic tooling around it, plus the fact that every feature is free. This is not a pitch, it is an honest breakdown of what is different.

Getting your sequences into GRIP-EMS

This is probably what you came here for first. GRIP-EMS imports sequences from the legacy program automatically and the process takes about two minutes. Import reliability has improved significantly in recent releases, so if you tried this previously and had issues, it is worth trying again.

Option 1: In-game migration (recommended)
If the legacy program is still installed alongside GRIP-EMS, open the editor with /gems and click Migrate in the sequence list. GRIP-EMS detects your legacy sequences and transfers everything automatically, including steps, variables, metadata, and multi-version data. A report in chat tells you what came across and what, if anything, needed attention.
Option 2: Clipboard import
Export a sequence from the legacy program to your clipboard, then run /gems import in GRIP-EMS and paste the string. GRIP-EMS auto-detects the format, shows you a preview with metadata and a checksum status, and lets you handle any naming conflicts before importing.

After importing, run /gems repairall to scan every transferred sequence across 13 diagnostic categories. Most issues from format differences get flagged and fixed automatically. This takes about thirty seconds and saves you from discovering problems mid-pull.

Sequences from the legacy program frequently overshoot WoW's 255-character step limit because it builds longer individual step strings than GRIP-EMS allows. The Repair module flags these on import and the fix is to split the oversized step into two shorter steps carrying the same spells. This is one of the most common issues when porting sequences from the legacy program, so if repair comes back with character limit violations do not be alarmed, it is normal and fixable in a few minutes.
Sequences shared in English by another player import and translate to your client language automatically. Spell names stored as IDs under the hood re-render in your locale on import, so a sequence built on an English client works for German or French players without any manual editing.

How advancement actually works

Both engines advance one step per keypress and neither one waits for a cast to land. What can make a press do nothing is the macro line on the step. If a /cast names a spell that is still on cooldown, WoW stops running that macro there and the lines under it never fire, so the press comes up empty and the step advances anyway. A /castsequence parked on an entry that is on cooldown behaves the same. That is the WoW macro engine reading your text, so you get it under either addon. Conditional lines are different: a conditional that does not apply is skipped and the next line still runs.

The practical consequence is that loop length is a real cost. In a flat sequential loop every step gets one visit per pass, so a 30 step loop clicked every 150ms is roughly 4.5 seconds between visits to any single step. A press that came up empty is not retried, and that step is spent until the loop comes back around. If a defensive needs to come around faster than that, shorten the loop, move the step earlier, or give it a per-step interval.

Advancement being deterministic is what makes a sequence readable. One press is one step, so a step position means something and you can reason about the rotation by reading it top to bottom. It is also what makes log comparison useful. Two runs of the same sequence at the same click rate walk the same steps in the same order, so a difference in the numbers points at the sequence or the pull rather than at the engine.

What is different between the two addons

GRIP-EMS
Legacy program
Action bar button
Single-version sequences have no bar button. Multi-version sequences create a macro you can place on your bar.
Creates a draggable button you place on a bar
Keybinds
Assigned inside GRIP-EMS per spec, auto-switch on spec change
Via the action bar button you place and bind
Import format
!EMS1! format, import legacy program strings with /gems import
Base64 string with version prefix
Step functions
Sequential, Priority, Reverse Priority, Random
Sequential, Priority, and others depending on version
Opener logic
True single-block loop, step 1 is only the opener
Block 1 fires between every loop step when compiled, not just once
Spell validation
Built-in scanner with patch-aware auto-translation
Limited or absent depending on version
Click rate guidance
Tempo Advisor learns from your actual play and recommends a click rate per sequence, with a live Faster/Slower overlay
None built in
Post-patch repair
Repair module fixes stale spells in one click
Manual identification and replacement
Cross-language sharing
Spell IDs stored internally, renders in recipient's language
Spell names in source language, may not fire on other clients

Things that trip up switchers specifically

Looking for the action bar button
The legacy program creates a macro button you drag to your action bar and bind to a key. GRIP-EMS works differently. You assign a keybind inside the addon directly. For single-version sequences there is nothing to drag. For sequences with multiple versions, GRIP-EMS creates a macro that can be placed on your bar, but the keybind is still assigned inside the addon. Open the sequence editor, go to the Keybinds tab, and press the key you want.
Keybind set but nothing fires
The legacy program works fine with WoW's default key-up event behavior. GRIP-EMS requires key-down. As of GRIP-EMS v2.3.14 this is forced on automatically, so update through your addon manager first. If you are still on an older version, run /gems settings, go to the Cvar Health tab, and click Fix if anything is not green. This used to be the most common reason a switcher imported a sequence, pressed the keybind, and got nothing; on 2.3.14 and later it should not come up at all.
Multi-block opener logic behaving unexpectedly
In the legacy program, putting your opener in Block 1 and your main rotation in a Loop block seems like clean architecture, but Block 1 fires between every loop step when the sequence compiles, not just once at the start. Opener spells end up firing far more often than intended. GRIP-EMS does not have this problem because Sequential step function advances linearly. Step 1 is step 1 and not a recurring block. If you are porting a sequence that used this pattern, rebuild it as a flat Sequential loop in GRIP-EMS.
Reverse Priority for finisher steps
Reverse Priority is a common pattern for DPS rotations that want finisher spells to fire when available. In GRIP-EMS it weights the loop toward the tail, so the last step gets most of the presses and the front of the loop gets very few. That is rarely what a finisher rotation wants. If you are porting a sequence that used Reverse Priority for finishers, rebuild it as Sequential with the finisher placed where you want it in the loop, or use Priority and put the spells that should get the most presses at the front.
Spell names after a patch
Blizzard renames and reshuffles spells with some patches, and sequences that were working silently stop working because a spell name no longer matches. GRIP-EMS scans for this automatically and flags broken steps with a red indicator in the editor. Run /gems validate after any patch that touches your spec and /gems repairall to fix what it finds. Most stale spells are resolved automatically without any manual editing.

You do not have to choose permanently

Both addons can be installed at the same time and the sequence formats do not cross-contaminate. A reasonable approach is to move one spec across first, the one whose sequence you edit and tune the most, and keep your existing legacy program sequences for everything else until you have decided the tooling is worth the move for those specs too.

Translating sequences between the formats is not automatic, but the underlying macro logic is the same since both addons use WoW's standard macro conditional syntax. A sequence from the legacy program can be rebuilt in GRIP-EMS step by step without starting from scratch. Step spacing and timing can still shift once the step count or the click rate changes, so plan on a validation pass after porting rather than assuming the numbers will be identical.