Details
Expansion
Developers
Having issues?
Record your journey. Create your route.
A route-building companion for Azeroth Pilot Reloaded.
Capture your adventures, refine every step, and share your routes with the community.
Getting started
01 Open the workshopClick the recorder button or type | 02 Capture your routeChoose New route, name it, then click Record this route. Select an existing route to resume recording. |
03 Make it your ownStop recording and review your steps in the visual inspector or the Lua editor. | 04 Save and playClick Save or press |
Tip: Start from a route you already know. Use Import from APR to search loaded routes by name or route key and create an editable copy. Editor changes stay in a draft until saved; recording updates the recorded route independently.
For APR field syntax and playback behavior, see the APR Route Syntax wiki. The tables below describe the fields supported by this recorder.
User-friendly UI
The workshop lets you build and review routes without writing Lua. Select a step in the numbered list, then edit its actions, coordinates, and conditions in the inspector. Search and filters help you find steps in long routes; hover an icon to see its action and shortcut.
| Tab or control | What you can do |
|---|---|
| Route selector and recording controls | Create, select, or resume a route; start and stop recording. |
| Route | Edit the label, map, expansion, category, game version, route conditions, dependencies, next routes, presets, and scenarios. |
| Steps | Add, duplicate, move, delete, and edit main-route steps. Use Previous step and Next step in the inspector to move through the filtered list. |
| Parallel steps | Create, duplicate, reorder, or delete groups. Edit group conditions and their steps with the same controls as the main route. |
| Lua editor | Edit the complete route definition, including metadata and parallel steps. See Lua editor below. |
| Versions | Compare saved, draft, and archived versions; merge changes, rebase a draft, or recover a version into a separate copy. Up to 40 distinct versions are kept per route. |
| Commands | Search recording actions and options, launch them, and customize command-bar favorites, order, labels, orientation, and size. |
| Tools | Open coordinates, extra-line-text tools, recording actions, and addon settings. |
| Compact mode / Full width | Switch between a single-pane layout and the full list/inspector layout. Window size and layout are remembered. |
| Follow recording | Follow the newest captured step. Interaction pauses following for five seconds; focused inputs, dialogs, and pending edits keep it paused. |
| Follow APR | Follow the current APR playback step, including parallel steps. When both follow modes apply to the same route, APR playback takes priority. |
Forms include searchable quest, spell, and item selectors; class/race checkboxes; objective rows; and gold/silver/copper inputs. Class and race badges show restrictions at a glance. Undo and redo cover visual edits to both main and parallel steps.
Important: The inspector edits the selected step. Recording commands edit the last recorded step. Commands that create a step reveal it even when automatic following is disabled.
Step shortcuts
| Shortcut | Action |
|---|---|
Up / Down | Select the previous / next step in the current filtered list. |
Left | Open the selected step's inspector. |
Right | Return from the inspector to the step list in compact mode. |
Hold Ctrl while hovering a step | Expand its tooltip to show all condition values, including inherited parallel-group conditions. |
Ctrl + S | Save the selected route from the workshop or one of its input fields. |
Arrow navigation works in Steps and Parallel steps when input fields are unfocused, dialogs are closed, and no modifier key is held. It changes the selection; use the move buttons to reorder steps. Use the footer Undo / Redo buttons for visual edits.
Drafts and saving
Save combines compatible draft and recording changes. For conflicts, compare the draft, recorded version, and common ancestor, then choose a side, keep both insertions, or edit the merge result directly. The result is validated before saving. Rebase draft updates your draft against the latest recording so you can continue editing before saving.
Closing a route with pending edits offers Save, Keep draft, Discard changes, or Cancel. Incomplete Lua can be kept as a draft. A warning appears if recording changes a route you are editing, and an unsaved-draft reminder appears after two minutes of inactivity. WoW writes stored routes and drafts to disk on UI reload or logout.
Lua editor
The Lua tab edits the full route table: metadata, steps, and parallelSteps. It also accepts legacy step-only tables. Lua comments are preserved, and supported constants such as APR.Classes, APR.RACES, and APR.REPUTATION_TYPE can be used in route data.
- Readable source: syntax colors, nested bracket colors, line numbers, automatic indentation, horizontal scrolling, and folding for multiline tables, long strings, block comments, and marked regions.
- APR completion: inline suggestions for fields and quest, spell, or item IDs. Open the alternatives at the caret, search by a known name or ID, then accept a suggestion.
- Diagnostics: syntax and APR field validation after a 400 ms typing pause. Click a gutter marker or footer error to jump to its line and column.
- Search and replace: literal matching, optional case and whole-word filters, and replacement of one or all matches, including folded source. Replace all is one undo action.
- Format Lua: format valid route data while preserving values, strings, comments, constants, and field order.
- Step outline: search main and parallel steps by number, group, or title, then jump to their source.
- Compare versions: inspect saved, draft, common-ancestor, or archived source side by side with synchronized scrolling and highlighted changes. Incomplete drafts can also be compared.
Editing and navigation shortcuts
Editing & navigation · 23 shortcuts
| Shortcut | Action |
|---|---|
Ctrl + S | Save the selected route using the normal merge and conflict-resolution flow. |
Ctrl + A | Unfold and select the complete source. |
Ctrl + C / Ctrl + X / Ctrl + V | Copy / cut / paste source text. |
Ctrl + Z | Undo a source edit, formatting, replacement, or accepted completion. |
Ctrl + Y / Ctrl + Shift + Z | Redo. |
Ctrl + L | Select the current line, including its newline; repeat to extend the selection. |
Tab | Accept the active completion; otherwise insert four spaces. |
Ctrl + Space | Open APR completion alternatives at the caret. |
Alt + Up / Alt + Down | Select the previous / next completion alternative. |
Ctrl + F | Open or focus search. |
Ctrl + H | Open replacement. |
Enter / Shift + Enter in the search field | Find the next / previous match. |
Enter in the replacement field | Replace the current match. |
Esc | Hide completion, close the focused search/replacement control, or cancel a pending folding sequence. |
Shift + Alt + F | Format Lua. |
Ctrl + Shift + O | Focus the searchable step outline. |
F8 / Shift + F8 | Jump to the next / previous error. |
F7 / Shift + F7 in a comparison pane | Jump to the next / previous change. |
| Arrow keys | Move the source cursor. Hold Shift to extend the selection. |
Ctrl + Left / Ctrl + Right | Move by word. |
Home / End | Move to the start / end of the current line. |
Ctrl + Home / Ctrl + End | Move to the start / end of the source. |
Shift + mouse wheel | Scroll horizontally. |
In the source pane, Enter inserts a newline; completion is accepted with Tab.
Folding shortcuts
For a sequence such as Ctrl+K, Ctrl+0, press the first combination, release it, then press the second within three seconds. Keep focus in the Lua pane or its search field. The number shortcuts also accept the numeric keypad and unshifted number-row characters on French AZERTY keyboards.
Code folding · 10 shortcuts
| Shortcut | Action |
|---|---|
Click + / - in the gutter | Unfold / fold a section. |
Shift + click a fold control | Include nested sections. |
Ctrl + Shift + [ / Ctrl + Shift + ] | Fold / unfold the current section. |
Ctrl + K, Ctrl + [ / Ctrl + K, Ctrl + ] | Fold / unfold the current section and its children. |
Ctrl + K, Ctrl + L | Toggle the current section. |
Ctrl + K, Ctrl + 0 | Fold all sections. |
Ctrl + K, Ctrl + J | Unfold all sections. |
Ctrl + K, Ctrl + 1 through Ctrl + K, Ctrl + 7 | Fold the selected nesting level, keeping the section containing the cursor open. |
Ctrl + K, Ctrl + 8 / Ctrl + K, Ctrl + 9 | Fold / unfold -- #region and -- #endregion sections. |
Ctrl + K, Ctrl + / | Fold block comments. |
Folding changes the view, not the source. Searching inside a folded section reveals the match.
Automatic recording
Game activities are captured while the addon is enabled and a route is recording. Automatically recorded fields can also be reviewed and edited in the workshop. Publishing saved routes to APR also generates their step indices automatically.
Browse all 29 automatic recording activities
| Activity | Recorded fields | Capture details |
|---|---|---|
| Accept quests | PickUp | Accepted quest IDs; nearby pickups can share a step. |
| Progress quest objectives | Qpart | Quest IDs and objective indices detected through quest progress updates. |
| Turn in quests | Done | Completed hand-ins; nearby hand-ins can share a step. |
| Abandon quests | LeaveQuests | Quest removals that are not completed hand-ins. |
| Loot and accept a dropped quest | DroppableQuest, DropQuest | Detect a quest-starting item from creature loot, then link its quest acceptance. Requires available item, quest, and creature data. |
| Collect treasure | Treasure | Nearby treasure vignettes with a reward quest that becomes completed. |
| Earn achievements or criteria | Achievement | Whole achievements or identifiable earned criteria; ambiguous criteria labels need manual review. |
| Complete scenario criteria | Scenario | Scenario, step, and criterion IDs when available, with the related quest if detected. |
| Discover a flight path | GetFP | Newly learned taxi nodes. |
| Take a flight path | UseFlightPath, NodeID, Name, Boat, ETA | Selected taxi node, known boat routes, and measured travel time once the flight ends. |
| Set a Hearthstone location | SetHS | Hearthstone binding, associated with a nearby incomplete quest. |
| Use a Hearthstone | UseHS, UseDalaHS, UseGarrisonHS | Recognized Hearthstone spells, including the Dalaran and Garrison variants. |
| Choose Chromie Time | ChromiePick | Confirmed timeline selection. |
| Buy from a merchant | BuyMerchant | Item IDs and quantities confirmed by inventory changes. |
| Perform an emote | Emote | Emote key and target NPC; supports localized emotes and uses NPC ID 0 when no usable NPC target is available. |
| Enter or leave a vehicle | MountVehicle, VehicleExit | Player vehicle entry and exit. |
| Learn a profession | LearnProfession | Recognized profession-learning spells. |
| Enable War Mode | WarMode | A change to the desired War Mode state. |
| Use a quest objective item | Button | A quest-log special item associated with the recorded objective. Other item/spell buttons are added manually. |
| Click the extra action button | ExtraActionB | Marks the current step when Blizzard's extra action button is used. |
| Use the recognized glider spell | UseGlider | Marks the current step when spell 126389 succeeds. |
| Mark an NPC target | RaidIcon | Target NPC ID when the raid marker changes. |
| Accept from the Adventure Map | IsAdventureMap | Marks a pickup when an Adventure Map interaction is detected. |
| Record instance objectives | InstanceQuest | Marks quest/scenario objectives detected inside an instance. |
| Record campaign quests | IsCampaignQuest | Adds the campaign flag when the campaign-detection setting is enabled. |
| Select dialogue options | GossipOptionIDs | Actual option IDs, rather than legacy option positions. |
| Change maps through a possible portal | TakePortal | Infers a transition after a loading screen and asks for confirmation before adding it. Hearthstone and instance transitions are excluded. |
| Capture position | Coord, Zone, Range | Adds available world coordinates and map IDs, with an objective-dependent range where applicable. |
| Publish saved route data | _index | Step indices are generated for APR automatically. |
Manual actions, options, and conditions
Add these through the visual inspector or Lua editor. Actions describe what the player should do; conditions decide when a step or parallel group applies. Automatically captured fields remain editable too.
The table includes navigation, display, and route options so you can see the complete editing coverage without a long list of field commands. Use /aprrc help in game to find recording commands for individual fields.
Browse manual actions, navigation, display, conditions, and route options
| Type | Fields | Purpose |
|---|---|---|
| π Action | Waypoint, WaypointDB | Guide the player to a position, optionally with alternative quest IDs. WaypointDB requires Waypoint. |
| π Action | PickUpDB, QpartDB, DoneDB | Add alternative quest IDs to an existing PickUp, Qpart, or Done action. |
| π Action | QpartPart, TrigText, TrigText2, … | Split an objective into guided sub-parts and provide progress/completion text. |
| π Action | Fillers | Add optional quest objectives alongside the main route. |
| π Action | LootItems | Wait for listed item quantities; optional quest IDs can link completion to a quest. |
| π Action | LootMoney | Add a money-collection target, with optional equipped-item vendor value. |
| π Action | Grind | Add a level/XP target using a number, an absolute XP table, or an APR level profile. |
| π Action | Reputation | Add a standing, renown, or friendship target. |
| π Action | UseItem, UseSpell | Add an item-use or spell-cast step linked to a quest. |
| π Action | LearnSkill | Add trainer spells or all available services, optionally restricted to an NPC. |
| π Action | SellItems | Add selected items, gray junk, or equipped slots to a merchant sale step. |
| π Action | BankDeposit, BankWithdraw | Add item transfers to or from the character bank. |
| π Action | DestroyItems | Add deletion of explicitly listed item stacks. |
| π Action | TameBeast | Add a taming target and optional spell/quest details. |
| π Action | EnterInstance, LeaveInstance | Guide entry into or departure from an instance using quest and map IDs. |
| π Action | EnterScenario, DoScenario, LeaveScenario | Guide scenario entry, completion, and departure. Fine-grained Scenario criteria can also be edited. |
| π Action | ExitTutorial | Add the tutorial exit step. |
| π Action | LeaveQuest | Add a single quest-abandon step; recorded multi-quest removals use LeaveQuests. |
| π Action | DeathSkip | Add a death/spirit-healer progression step; the recorder defaults it to non-Hardcore. |
| π Action | Group, GroupTask | Add group-quest information and the associated player decision. |
| π Action | NpcDismount | Dismount for interaction with a specified NPC. |
| π Action | ResetRoute | Add a route-reset confirmation step. |
| π Action | Note | Add an informational step with one or several text lines. |
| π Action | RouteCompleted | Mark the route as finished; keep this as its final step. |
| π΅ Navigation | Coord, Coords, Zone | Set or override world coordinates and map IDs, including multiple position variants. |
| π΅ Navigation | Range, ZoneStepTrigger | Set the waypoint radius or a coordinate-based completion trigger. |
| π΅ Navigation | TakePortal | Define a portal destination explicitly instead of using inferred capture. |
| π΅ Navigation | NodeID, Name, Boat | Correct or configure flight-path details. NodeID and Boat require UseFlightPath. |
| π΅ Navigation | NonSkippableWaypoint | Prevent manual skipping of a waypoint. Requires Waypoint. |
| π΅ Navigation | SingleWaypointDisplayDistance | Show distance to the next waypoint instead of the remaining chain. |
| π΅ Navigation | NoArrow, NoAutoFlightMap | Hide the arrow or disable automatic flight/gossip selection for the step. |
| π΅ Navigation | ETA, GossipETA, EmoteETA, SpellETA | Set an AFK timer for the step, a dialogue choice, an emote, or a spell/item use. |
| π΅ Navigation | SpecialETAHide | Hide the AFK timer. |
| π΅ Navigation | InstanceQuest, IsAdventureMap | Override instance and Adventure Map flags. |
| π£ Display | Button, SpellButton, SpellTrigger | Add item/spell buttons or a spell-cast completion trigger. |
| π£ Display | ExtraLineText, ExtraLineText2, … | Add helper lines using APR localization keys or literal text. |
| π£ Display | ExtraLine, Gossip | Edit legacy helper-text and dialogue-position fields. Use GossipOptionIDs for new dialogue data. |
| π£ Display | Buffs, Bloodlust | Add buff recommendations or a Bloodlust/Heroism reminder. |
| π£ Display | PreviewImages | Add image previews. |
| π£ Display | MerchantNPC, DenyNPC | Restrict a purchase to an NPC or close unwanted NPC dialogue. |
| π£ Display | NoAutoAccept, NoAutoTurnIn, Dontskipvid | Require manual quest interactions or keep videos/cutscenes visible. |
| π£ Display | InVehicle, ExtraActionB, UseGlider, RaidIcon, GossipOptionIDs | Set vehicle guidance, special controls, target markers, or dialogue IDs explicitly. |
| π£ Display | XPConsumables | Select an APR XP-consumable profile or disable it with false. |
| π’ Condition | Faction, Race, AlliedRace | Filter by faction, one or several races, or allied-race status. |
| π’ Condition | Class, ClassNot, ClassSpec | Include/exclude classes or require a specialization. |
| π’ Condition | Gender, Hardcore, Event | Filter by gender, Hardcore status, or APR event mode. |
| π’ Condition | Level, MinLevel, MaxLevel, BeLvl, SkipForLvl | Apply minimum, maximum, exact-level, or skip thresholds. Step thresholds support level/XP forms and profiles except BeLvl. |
| π’ Condition | Zones, OnlyInZones, SkipInZones | Limit a step to selected maps or skip it in selected maps. |
| π’ Condition | HasAchievement, DontHaveAchievement | Require an achievement to be earned or missing. |
| π’ Condition | HasAura, DontHaveAura | Require an aura to be present or absent. |
| π’ Condition | HasSpell, DontHaveSpell | Require known or unknown player/pet spells. |
| π’ Condition | IsQuestOnQuest, IsQuestNotOnQuest | Require a quest to be present in or absent from the character's log. |
| π’ Condition | IsQuestReadyForTurnIn | Require a quest to be ready for hand-in or already completed by the character. |
| π’ Condition | IsQuestCompleted, IsQuestUncompleted | Test one quest's character completion state. |
| π’ Condition | IsOneOfQuestsCompleted, IsOneOfQuestsUncompleted | Require at least one listed quest completed, or none completed. |
| π’ Condition | IsQuestsCompleted, IsQuestsUncompleted | Require all listed quests completed, or at least one still incomplete. |
| π’ Condition | IsOneOfQuestsCompletedOnAccount, IsOneOfQuestsUncompletedOnAccount | Apply the any-completed / none-completed checks across the account. |
| π’ Condition | IsQuestsCompletedOnAccount, IsQuestsUncompletedOnAccount | Apply the all-completed / at-least-one-incomplete checks across the account. |
| π’ Condition | ReputationLevel, SkipForReputation | Require a reputation threshold or skip once it has been reached. |
| π’ Condition | Money, VendorMoney | Compare cash, or cash plus carried items' estimated vendor value; money inputs are stored in copper. |
| π’ Condition | ItemCount, Collection | Compare item counts or require a collection quantity. |
| π’ Condition | EquippedItem, EquippedItemStat | Check equipment slots/items or compare an equipped item's quality, level, or stat. |
| π’ Condition | Skill, SkipForPrimaryProfessions | Check skill ranks or skip once the specified number of primary professions is learned. |
| π’ Condition | QuestLineSkip, PickedLoa | Apply questline-skip or selected-Loa rules. |
| π’ Condition | IsCampaignQuest | Set or override the campaign quest flag. |
| π’ Condition | InterfaceVersion | Require a minimum client interface version. |
| π’ Condition | AnyOf, AllOf, Not | Combine alternative conditions, require every condition block, or invert a block. |
| βͺ Route | label, expansion, category, gameVersion, mapID | Set route metadata in the Route tab. |
| βͺ Route | conditions | Set the supported route-selection filters. |
| βͺ Route | requiredRoute, nextRoute, prefab | Configure dependencies, suggested next routes, and preset membership. |
| βͺ Route | parallelSteps, scenarios | Define conditional parallel groups and scenario-specific step collections. |
| βͺ Route | XPConsumables | Set the route's XP-consumable profile. |
Conditions in the same block combine with AND. AnyOf expresses alternatives, AllOf allows multiple checks of the same kind, and Not inverts a complete block. Parallel-group conditions control when its steps are inserted; each step can have its own filters. Route-selection conditions support a narrower set of fields than step/group conditions.
The Lua editor also preserves comments and accepts _comment step text. Step indices (_index) are generated automatically. For detailed syntax and APR options beyond the recorder's current editing coverage, use the APR Route Syntax wiki.
Utility commands
This list contains workshop and addon utilities. Add actions and conditions through the inspector, Lua editor, or the searchable Commands tab; /aprrc help lists their recording commands in game.
| Command | Purpose |
|---|---|
/aprrc | Open the route workshop. |
/aprrc editor, /aprrc export | Open the same workshop directly. |
/aprrc help, /aprrc h | Display the in-game command list. |
/aprrc tutorial, /aprrc tuto | Replay the workshop tutorial. |
/aprrc settings | Open addon settings. |
/aprrc coordframe | Toggle the coordinate frame. |
/aprrc route | List route-metadata commands. |
/aprrc backup | Restore the legacy step backup into the current recorded route; archive its current version before restoring. |
/aprrc resetbar, /aprrc resetcommandbar, /aprrc barreset | Restore the default command-bar configuration. |
/aprrc forcereset | Clear recorder route data and recent choices, then reload the UI. |
Settings and support
Open settings through Tools → Settings or /aprrc settings. Configure recording, command-bar appearance, coordinates, profiles, and quest-ID displays. Quest IDs can appear in quest-log details, tooltips, the objective tracker, map/minimap tooltips, and quest items in bags; by default they are shown while recording.
See the Route workshop guide for the full editing, draft recovery, and APR integration workflow.
Credits
Route Recorder by Neoldric
Built for the Azeroth Pilot Reloaded community.
Contribute on GitHub · Support & translations · APR & project credits
You must be logged in to leave a comment.