ManyMods-HUDEditor icon

HUDEditor

Move, resize, hide, preview, save and import HUD layouts.

CHANGELOG

Changelog

0.2.3

  • Replaced the square resize blocks with thick white L-shaped corner handles that sit over the orange selection outline.
  • Handles glow cyan while hovered and remain lit on the actively dragged corner.
  • Made the full visible length of each L-shaped handle clickable for resizing.
  • Suppresses R.E.P.O.'s original software cursor during edit mode and redraws one copy as the final editor layer across the whole screen, keeping it above selection outlines and handles without duplicating it.
  • Restores the original cursor rendering state when the editor closes or unloads.

0.2.2

  • Generalized the ShoppingListHUD Bring fix to every Canvas/SemiUI HUD instead of keeping it as a one-off adapter behavior.
  • BRING now snapshots every transform in the selected widget and its required ancestor chain, then retains their visible positions and scales throughout selection, dragging, and resizing.
  • Continues forcing captured object activation, CanvasGroup opacity, Graphic visibility, and the last valid selection rectangle for every brought HUD.
  • Calls a target's native SemiUI.Show() when the exact grouped root owns one, while preserving the explicit ShoppingListHUD-to-StatsUI binding.
  • Fully restores the captured hierarchy state when the preview is deselected or the editor closes.

0.2.1

  • Added four Windows-style corner handles to the selected HUD outline for proportional resizing while keeping the opposite corner fixed.
  • Added persistent per-HUD scale settings, unsaved-change detection, Reset Item/Reset All behavior, and preset format v2 scale values.
  • Preset format v1 remains import-compatible and defaults missing scale values to 100%; scale values are clamped safely from 25% to 400%.
  • Fixed ShoppingListHUD disappearing on the first drag click by retaining its real StatsUI/SemiUI show behavior during Bring and keeping a last-known preview hit rectangle across the input frame.
  • Reapplies preview position and scale after third-party SemiUI.Show() logic so brought widgets stay visible under the pointer.
  • Fixed the cursor appearing twice by hiding the OS cursor while R.E.P.O.'s software cursor is active and redrawing the top-layer copy only over editor surfaces.

0.2.0

  • Added source-backed compatibility adapters for popular Thunderstore gameplay HUD mods.
  • Groups multi-part Canvas HUDs into useful widgets instead of exposing every text/image child as an overlapping selection box.
  • Added targeted immediate-mode support for SharedUpgradesPlus' watermark, PortalGun's crosshair, Dead Map Access, Minimap, TheEverythingMap, REPO FPSCounter, and MoreUI's text panel.
  • Keeps MoreUI world labels independent by patching only its main text-panel draw method.
  • Added explicit mod ownership for ShoppingListHUD's repurposed Stats UI and Show Total Loot's dynamically created label.
  • Supports headclef UI, Denis UI, Map Value Tracker variants, Monster Respawn Timer, Robin's Dynamic Compass, MoreUI native UI, Omni-Extraction Toolkit, MoonPhaseUtils, and Cosmetic Box Scanner Fixed Canvas roots.
  • Compatibility adapters activate only when an exact loaded plugin/type match exists; absent mod entries in shared presets remain harmless.
  • Reuses one bounded HUD RectTransform snapshot per discovery pass and only searches scene canvases when an installed supported mod requires one.
  • Continues to exclude config/menu UI, world-attached labels and pings, and mods with their own editor.

0.1.9

  • Added immediate-mode HUD compatibility for NuageRoles, whose role, mana, and ability interface is drawn directly from guiManager.OnGUI() instead of a Unity Canvas.
  • Registers Role & Ability HUD under the NuageRoles selector group with a centered selectable outline.
  • Wraps NuageRoles' own GUI matrix so the complete immediate-mode interface can be dragged, reset, hidden, saved across sessions, and included in presets.
  • BRING temporarily enables NuageRoles' showGUI flag only for its draw pass and restores the mod's prior state afterward.
  • Uses a targeted Harmony bridge for the known NuageRoles GUI method; no global scene/object polling was added.

0.1.8

  • Fixed brought nested HUDs selecting their parent when dragging, including Hint versus Item Info Extra.
  • Keeps an already-selected HUD as the drag target inside its own outline, even when showing it creates another graphic such as Overcharge's ring image.
  • Uses each SemiUI owner as its visual bounds root so brought widgets receive a usable outline.
  • Added a MAP: ON/OFF editor button that drives the real map state and reveals map-only HUDs while editing, then restores the prior map state on close.
  • Groups the Bring selector by owning BepInEx mod, with vanilla widgets under R.E.P.O..
  • Added named JSON presets, local import, clipboard export/import, and safe skipping of entries whose source mod is unavailable.
  • Fixed saved layouts not applying after a restart by running six bounded HUD-only startup discovery passes; the global scene scan remains removed.
  • Deduplicates startup discoveries by stable HUD ID and applies saved offsets without requiring F8 to be opened first.

0.1.7

  • Added an alphabetical HUD selector and BRING button for temporarily previewing UI that gameplay has not triggered yet.
  • Preview mode activates hidden hierarchy and graphics, keeps SemiUI elements shown, and supplies a temporary label for otherwise empty text HUDs.
  • Restores every previewed object's prior active, visibility, text, scale, and alpha state when preview ends without creating an unsaved setting change.
  • Redraws the game's cursor above the editor so it cannot disappear behind the panel.
  • Removed the three-line header grip while keeping the full header draggable.

0.1.6

  • Rebuilt the editor menu as a larger, resolution-aware dark HUD card with clearer visual grouping.
  • Changed the header copy to HUD EDITOR and Selected: [selection].
  • Added styled primary, destructive, hover, disabled, and unsaved states.
  • Restyled the unsaved-changes confirmation to match the main editor.

0.1.5

  • Fixed exaggerated HUD dragging on R.E.P.O.'s internally scaled overlay camera.
  • Drag deltas now use the widget parent's projected screen-space basis for visual 1:1 cursor movement.

0.1.4

  • Removed the continuous global scene-wide UI scan that caused gameplay stutter.
  • Discovery now runs only while editing and is restricted to the real screen HUD branches.
  • Blacklisted standalone Background/Bg layers and the menu-selection overlay.
  • Centered the editor panel and made its title bar draggable.
  • Made HUD dragging start immediately after selection and added a screen-delta fallback for unusual canvas parents.

0.1.3

  • Removed the wall of editor outlines; no selection box is shown until the user clicks a visible HUD element.
  • Shows one selection box and one options panel for the selected HUD only.
  • Added per-element Hide/Show and Reset Position controls.
  • Added a standalone Save button that keeps edit mode open.
  • Added unsaved-change confirmation when closing with F8 or the Close button: Save and Close, Don't Save, or Cancel.
  • Unsaved drag, visibility, and reset changes are now kept in memory until Save is chosen.
  • Excludes the game's full-screen render texture, debug console, menus, cursor, transient world-space UI, and empty text placeholders from click selection.
  • Click selection prioritizes the smallest visible HUD under the pointer instead of a full-screen layer with greater render depth.

0.1.2

  • Scans all active scene UI instead of assuming visible HUD blocks are children of HUD.hideParent.
  • Adds generic visible graphics that do not use R.E.P.O.'s SemiUI, allowing modded HUD widgets to be moved too.
  • Excludes menu, cursor, and transient world-space UI from layout discovery.
  • Converts UI corners through normalized camera viewport coordinates so editor outlines match the displayed HUD even when the overlay camera renders at a reduced internal resolution.
  • Converts mouse positions through the same viewport before dragging.

0.1.1

  • Fixed HUD discovery incorrectly collapsing the interface into only Aim and World Space roots.
  • Detects meaningful nested SemiUI blocks such as health, energy, inventory, haul, goal, currency, stats, chat, and item information.
  • Keeps inventory slots grouped under the complete inventory bar.
  • Excludes transient world-space labels from the saved screen HUD layout.
  • Fixed outlines, hit testing, and dragging on R.E.P.O.'s screen-space camera when the Canvas does not expose its camera directly.

0.1.0

  • Added configurable HUD edit mode key, defaulting to F8.
  • Added gameplay input suppression and the native R.E.P.O. cursor while editing.
  • Added draggable outlines and names for detected HUD roots.
  • Added per-element and full-layout reset controls.
  • Added position persistence in the mod's own BepInEx config file.
  • Added late-render offsets so vanilla UI animations and other HUD mods retain control of their base layouts.