FAQ and troubleshooting
Updated October 18, 2026
A rule never fires#
Check in this order:
- A rule above always wins. Rules are checked top-down: if a rule above holds and its spell can be used, yours never gets its turn. Move your rule up or narrow the conditions of the one above.
- An unknown value. A condition on an unknown value is false, even
.down. An aura is unknown when it isn't in the Better Assistant profile or has a wrong ID. Build the profile again ("Build from slots and auras") and paste it in the game. - The aura's ID, not the spell's. A buff can have a different ID than the spell that applies it: Vanish is
1856, its buff11327. And the rules see only your auras, not buffs from other players. - The slot isn't ready. Not enough resource, the target too far, a cooldown, the talent not taken. Such a rule is skipped without an error.
- Better Assistant doesn't show the slot. A With a target slot isn't ready without a target. Use In combat for healing and defensives.
- No key. The slot's spell must be on an action bar with a key bound (or a macro with
#showtooltip). - A toggle is off. Healing / defense is off by default, Burst may have been turned off with the Burst key (F3 on Windows, ⌃⇧B on macOS), the target mode may still be Single or Multiple.
- Percentages. 5 combo points is
70, not5. See Resources. - Stacks. A single stack reads as 0:
X.stacks >= 1can't tell one stack from no aura; use.up. - An aura without a duration. Stealth and the like always read 1 left:
.durationdoesn't work for them.
The KeyRota log file shows which rule was chosen and why the ones above were skipped: the folder button next to Log in the main window.
It presses too early or too late#
| What you see | Cause | What to do |
|---|---|---|
| An off-GCD spell waits for the end of the GCD | No O flag | Turn on Off the GCD (O). |
| An off-GCD button is pressed before the previous hit's result arrives | Flag O presses at once, mid-GCD | Add In the queue window (Q): O + Q. |
| A macro whose second line is on the GCD doesn't go off in full | The macro was pressed mid-GCD | O + Q: the macro is pressed at the end of the GCD. |
| A lower off-GCD rule doesn't overtake a higher one | By design: strict priority | Move the rule up. |
| After spending, the rotation "stands still" | Resource pooling: no rule holds | That's normal; to spend earlier, lower the energy threshold. |
| The rotation presses nothing while you press your own buttons | KeyRota steps aside for your ability presses | That's normal. |
A channel gets cut#
- Turn on Channel (C) for the slot: during the channel KeyRota presses nothing and doesn't press the slot twice at the start.
- The game ends some channels slightly before the last hit, and a press right after the channel's end cuts it. Add the channel's aura to the rotation's auras and the condition
Channel_aura.duration <= 8to every group of every rule. Example: Channel protection.
It doesn't switch to AoE#
- Is the target mode Auto (F2 on Windows, ⌃⇧T on macOS, cycling Auto, Single, Multiple)? In Single mode the rules with
st == 0stay silent. - Are enemy nameplates on in the game (V), with minor enemies not hidden?
- Is the counter radius on the General page at least the radius of your AoE ability?
- Only enemies in combat: enemies not yet in combat aren't counted. With packs that come in one by one, the count can be lower.
- The rule's threshold:
enemies >= 2or>= 3? - After changing the radius, build and paste the Better Assistant profile again.
Burst doesn't fire, or fires at the wrong time#
cd == 1is the Burst button (F3 on Windows, ⌃⇧B on macOS, the Burst button on the panel), not a spell's cooldown. A spell's cooldown isSlot.cd.- Burst is on by default. Turn it off before a moment when the cooldown must not be spent (immunity, a phase change) and back on when it's time.
- If a big cooldown depends on auras (DoTs on the target), it waits for them. Check in the KeyRota log which condition of the rule doesn't hold.
- For things that must go only under the cooldown, check the cooldown's aura (
Deathmark_DoT.up), not the Burst button.
How to count percentages#
- Resources and health:
value / maximum × 100. 175 energy out of 250 is70. - Combo points out of 7: put the threshold halfway between steps: "at least 5" is
>= 70, "at most 3" is< 50. The table. - Aura time left: a percentage of that application's duration. 30% is the pandemic window.
- Cooldown: a percentage of the full cooldown without the GCD. For a 2-minute cooldown 1% is 1.2 s.
"A rotation with an error can't be saved"#
The builder doesn't save a rotation with an error: KeyRota never runs a rotation partially. The status bar names the place, for example "Rule 9, group 1: the group has no conditions". Click Show to open the rule. Common causes:
| Message | What to do |
|---|---|
| the group has no conditions | Add a condition or delete the empty group. |
| no slot selected | Choose a slot in Press. |
| Q flag only together with O | Turn on Off the GCD (O) or turn Q off. |
| unknown name … | A name in a condition matches no aura, slot or resource: check Name in text. |
| … is a slot, expected a buff | An aura property (.up, .duration) on a slot, or a slot property (.ready, .cd) on an aura. |
| quotes aren't allowed in the name | Remove " from the rotation, slot or aura name. |
Every message is in Errors.
How .oncd differs from .cd > 0#
X.oncd: the slot is not ready for any reason: a cooldown, no resource, the target too far, the slot not shown. X.cd > 0: a cooldown is running. For a spell with charges .cd > 0 is possible while the slot is ready: a charge is available, the next one is recharging.
How to write "not" and parentheses#
KRC has no not, != or parentheses. "Not" is the paired condition (up/down, ready/oncd, glow/noglow) or the inverse operator (instead of "not >= 70" write < 70). "(A or B) and C" is two groups: A and C, B and C. More: "Not", parentheses and OR.
More than 12 slots or auras?#
No: a rotation has up to 12 slots and up to 12 auras, like the Better Assistant profile. Macros help save room (one button, several spells), and one slot can appear in several rules. The number of rules is unlimited.
A rotation with a talent you don't have#
If a talent isn't taken, the spell isn't learned, the slot isn't ready, and its rules are simply skipped. One rotation can work with different talent builds: the rules for missing spells stay silent.
Moving or sharing a rotation#
- Export in the main window saves the profile with its rotation; Import loads it on another computer.
- In the builder, Text and JSON — Save… saves the rotation as
.jsonor.txt; to open it, New — From file…. - The Better Assistant profile is rebuilt from the rotation's slots and auras: no need to pass it on separately.
Why KeyRota sometimes presses nothing#
With Ignore main icon on, when no rule fits KeyRota waits. In rotations that pool energy that's normal: at 5+ combo points the spender waits for its condition and the builder stays silent. If the wait looks wrong, check in the KeyRota log which rules were skipped and why.