Overlay Layouts is a local-first RuneLite plugin for saving the overlay positions and infobox groups you have configured. Layouts can be reused across RuneLite profiles or shared as readable JSON files.
- Capture persisted overlay locations, sizes, snap positions, and origins.
- Capture active infobox groups and orientation.
- Keep a shared local library across RuneLite profiles.
- Import/export files or copy/paste JSON.
- Review and deselect individual changes before Apply or Revert.
- Warn about canvas-size and fixed/resizable-mode differences.
- Back up every apply and roll back partial failures.
- No accounts, server, network access, telemetry, or gameplay automation.
RuneLite does not expose every overlay and origin through public Plugin Hub APIs. This plugin therefore manages only layout values that RuneLite has already persisted. Applying or reverting writes those profile-scoped values safely, then requires a RuneLite restart.
Untouched or inactive overlays may not appear in captures. Coordinates are preserved exactly and are not scaled. The review is textual rather than a potentially inaccurate graphical preview. See SPEC.md for the complete supported contract.
Requirements:
- JDK 11 or newer
- The included Gradle wrapper
Run automated tests:
./gradlew clean testLaunch the development client:
./gradlew runIf you use a Jagex Account, follow RuneLite's development login instructions. Only the user should interact with RuneScape during manual testing.
- Move or re-anchor an overlay and create or flip an infobox group.
- Capture the current layout from the sidebar.
- Move those elements elsewhere.
- Apply the saved layout and restart RuneLite.
- Verify the captured placement, then use Revert last and restart again.
Local layouts and apply backups live under .runelite/overlay-layouts/. User-initiated exports can be saved elsewhere through the system file chooser.
BSD 2-Clause. See LICENSE.