CruiseAssistPlus
Auto-orients your mecha while sailing toward a planet, star, or Dark Fog hive/seed/communicator. Rebuild of tanu/appuns CruiseAssist for current DSP.
| Date uploaded | 5 days ago |
| Version | 0.3.7 |
| Download link | LivingInstinkt-CruiseAssistPlus-0.3.7.zip |
| Downloads | 236 |
| Dependency string | LivingInstinkt-CruiseAssistPlus-0.3.7 |
This mod requires the following mods to function
README
CruiseAssist+
A fresh rebuild of the original CruiseAssist (by tanu, continued by appuns) for the current Dyson Sphere Program (0.10.34+, Unity 2022.3). While you are sailing, it gently rotates your mecha's velocity toward a chosen star, planet, or Dark Fog target so you drift straight to it.
This is not a copy of the old DLL — it is a clean reimplementation of the same idea, rebuilt against the current game API with new fixes and improvements. It also exposes a small, stable extension API that AutoPilotPlus uses to add full flight automation.
Usage
- A small CruiseAssist+ HUD appears in-game. Open Destinations to pick a target.
- Pick a system (targets the star) or expand it (
+) to pick a specific planet. - History lists planets you have visited; Bookmark (★) saves favourites.
- Use the Find box to filter the current tab by name, drag the ◢ corner to resize the window, drag the title bar to move it, and close it with the ✕ (reopen it with the HUD's Destinations button).
- The HUD's title bar carries – (collapse), ⚙ (config) and ✕ (close).
- While sailing toward a target, your heading is steered automatically. Cancel any time.
Windows
The windows are drawn in the game's own visual language — dark translucent panel, cyan-steel edging, a
proper title bar — and use the typeface DSP's interface uses, read from the live UI at runtime. Both are
switchable (UI/UseGameSkin, UI/UseGameFont).
Clicks stop at the window. Previously a click on a mod button also went through to whatever was
behind it, so pressing a button over the factory would place or select a building, drag the camera, or
hit a DSP panel underneath. Every mod window (including AutoPilotPlus's) now claims its own screen area
and raises the game's own "cursor is on the interface" state while you are over it, so world clicks,
camera drag, wheel zoom and DSP's own widgets all stand down exactly as they do over a vanilla panel.
Toggle with UI/BlockClickThrough.
The Destinations lists stay cheap no matter how big they get: the galaxy is scanned once a second into a cached snapshot, and only the rows actually on screen are drawn. A galaxy-wide hive list after Universe Exploration 3, or a thousand-star map under Galactic Scale, costs the same per frame as a handful of entries. See the Performance config section to tune the refresh rate, cap rows per section, or skip the Dark Fog seed scan (the most expensive one) entirely.
Dark Fog navigation
The Dark Fog tab in the Destinations window lets you target Dark Fog structures directly:
- Hives — galaxy-wide (observe-gated; your local system always shows), sorted by distance.
- Seeds — every active outbound Dark Fog unit, with a live range and an ETA counting down to when that seed reaches its destination hive (your window to intercept it).
- Communicators — visible Dark Fog Communicators. They are also picked up automatically when you click the game's own cosmic-message marker.
Guidance tracks the moving hive/seed each tick and disarms on arrival. When a seed is selected the HUD shows
a real intercept ETA (range ÷ how fast you're actually closing the gap), showing -- when you aren't
gaining on it — toggle Setting/SeedInterceptEta. With AutoPilotPlus installed, it will also warp toward
hives/seeds and brake on the approach.
Improvements over the original
- Rebuilt against DSP 0.10.34 / Unity 2022.3 — the old mod loaded but silently did nothing.
- No fragile IL transpiler: targeting uses the game's own navigation indicator + the star list.
RespectManualInputtoggle — if a game/engine input change ever makes steering yield forever, turn it off and keep flying.- Tuning constants (turn rate, min turn angle, UI scale) are exposed in the config.
- Verbose diagnostic logging + an on-screen debug overlay to see exactly why steering does/doesn't act.
Config highlights
UI/BlockClickThrough, UI/UseGameSkin, UI/UseGameFont,
General/RespectManualInput, Tuning/TurnRate, Tuning/MinTurnAngle, Setting/SeedInterceptEta,
Performance/ListRefreshSeconds, Performance/MaxListRows, Performance/ShowDarkFogSeeds,
Performance/ShowCommunicators, Debug/DebugLog, Debug/DebugWindow. Edit in the in-game config window
or the BepInEx config file.
Bugs, feature requests & discussion
Please report bugs, request features, or start a discussion on GitHub: https://github.com/Living-Instinkt/DSP-CruiseAssistPlus
- Bugs / feature requests — open an issue.
- Questions & general discussion — use the Discussions tab.
Credits
CruiseAssist+ is a fresh reimplementation of the original CruiseAssist. Full credit and thanks to the developers whose work it builds on:
- Tanu — original author of CruiseAssist.
- appuns — continued the mod as DSPCruiseAssist.
This rebuild is an independent clean-room reimplementation against the current game API, not a copy of the original DLL.
CHANGELOG
Changelog
0.3.7
- Clicks no longer pass through the mod's windows. Pressing a button on the HUD, the Destinations
list or either config window used to also reach whatever was behind it — placing or selecting a
building, dragging the camera, zooming with the wheel, or hitting a DSP panel underneath. Every window
of this mod and of AutoPilotPlus now registers the screen area it covers, and while the cursor is over
one the game's own "cursor is on the interface" state (
VFInput.onGUI/onGUIOperate/inScrollView) is raised — the exact flags DSP sets over its own panels, so every consumer of them stands down identically. A camera drag that started in the world still keeps working when the cursor crosses a window, because the game's press-latch is reproduced rather than bypassed. Pointer raycasts are also suppressed under a mod window, so DSP's own buttons beneath one get a clean pointer-exit instead of a stray click. Toggle withUI/BlockClickThrough. - The windows now look like the game's. Dark translucent panel, cyan-steel hairline edging, a real
title bar, flat cyan-accented buttons, checkboxes and sliders, and list rows that light up on hover
instead of being a wall of grey buttons. The typeface is DSP's own, read from the live UI hierarchy at
runtime (
UI/UseGameFont); the chrome is generated procedurally, so nothing breaks when the game updates its asset bundles. SetUI/UseGameSkintofalsefor the old Unity look. - Collapse, config and close moved into the title bar on the CruiseAssist+ HUD and the AutoPilot+ panel, freeing the row they used to occupy. A collapsed window keeps its title bar.
- The config window is grouped under headings and exposes the three new UI settings.
- The debug overlay reports whether the cursor is currently being treated as over a mod window, and which font was picked up from the game.
0.3.4
- Fixed the frame-rate drop while the Destinations window is open, which got much worse after
researching Universe Exploration 3 (the research that makes Dark Fog hives visible galaxy-wide).
Three separate causes:
- The galaxy scan's cooldown was counted in GUI events, not frames. Unity raises
OnGUIat least twice per frame and again for every mouse move, so the "once per 60 frames" rescan — every hive's tinder pool, a coordinate transform per seed, then a LINQ sort — was really firing several times a second, and faster the more you moved the mouse. It now runs at most once per second (configurable), on the layout pass only. - Every visible row recomputed its own distance (a square root) and re-ran
string.Formaton every GUI event. Distances and labels are now formatted once per refresh into a cached snapshot. - The scroll view laid out every row even when scrolled out of sight, and
GUILayout.Width(...)allocated fresh objects per cell per event. Rows are now virtualised: only the ~20 on screen are drawn, so cost no longer grows with the number of stars, hives, or seeds.
- The galaxy scan's cooldown was counted in GUI events, not frames. Unity raises
- The window no longer grows to swallow the screen on long lists, and can be resized by dragging the ◢ grip in its bottom-right corner (size is saved). Dragging is now limited to the title bar, so clicking around in the list doesn't fling the window across the screen.
- Added a ✕ close button in the window's title bar (reopen with the HUD's Destinations button).
- Added a Find box that filters the current tab by name — the practical way to use a galaxy-wide hive or seed list.
- Expanding a star now only builds that star's planet rows, so the Stars tab costs the star count rather than stars × planets. Same treatment for History and Bookmark.
- New Performance config section (also in the in-game config window):
ListRefreshSeconds,MaxListRows(nearest-first cap per section, with a "… N more" row — never a silent truncation),ShowDarkFogSeeds, andShowCommunicators. Turning seeds off skips the most expensive scan entirely. - The debug overlay now reports the row count and how long the last scan took, so the remaining cost is measurable rather than guessed at.
0.3.3
- Fixed bookmarks (★) not persisting. A save triggered before the current galaxy's saved state had loaded (unreliable with Galactic Scale active) was overwriting the stored bookmarks with an empty list — visited History repopulated itself from travel, so only manual bookmarks appeared to vanish. State is now loaded lazily as soon as a valid galaxy is seen, and a save can no longer write until that seed's state has been loaded. Also flushes the config explicitly on every change. Still keyed per galaxy seed.
0.3.2
- Renamed the target picker Stars → Destinations (window title and HUD button) now that it lists more than stars, and moved the Dark Fog tab to sit right after Stars (order: Stars, Dark Fog, History, Bookmark).
- All mod windows now clamp on-screen. A window whose saved position landed off the edge — e.g. dragged on a larger display, or pushed out when the UI scale was raised — is pulled back so its title bar stays grabbable. Fixes the AutoPilot+ window becoming unreachable at higher UI scales.
0.3.1
- Real intercept ETA for seeds on the HUD. When a Dark Fog seed is selected, the HUD now shows
Intercept: H:MM:SS= range ÷ the actual closing speed (measured from how fast the gap is shrinking each tick, so it accounts for the seed's motion and your heading). Shows--when you aren't gaining on it. Toggle withSetting/SeedInterceptEta(in-game config: "Seed intercept ETA on HUD"); off falls back to the naive range ÷ your speed. - Fixed the Dark Fog list's seed ETA, which previously divided your distance-to-seed by the seed's own speed. It now correctly shows time until the seed reaches its destination hive (your intercept deadline).
0.3.0
- Dark Fog navigation. New Dark Fog tab in the Stars window lists targets you can steer to:
- Hives — galaxy-wide (observe-gated; local system always shown), distance-sorted.
- Seeds — every active outbound Dark Fog unit, with live range + ETA, discovered by scanning each hive's tinder pool.
- Communicators — visible Dark Fog Communicators (
CosmicMessageData.doodadProtoId == 5, gated by the game's ownIsMessageVisible). Communicators are also adopted automatically when you click the in-game cosmic-message marker.
- Guidance resolves a live universe position each tick for the moving hive/seed target and auto-clears on arrival (hive 30 km, seed 3 km, communicator 2 km).
- HUD shows the Dark Fog target name (hive / seed / communicator) with range + ETA.
- Robust against destroyed/recycled enemies (validates the pool slot still holds the same enemy), null pools, and pre-load state — a game-side change degrades to "no target" instead of crashing the tick.
0.2.3
- Moved the Config button into the HUD header (top-right, next to ✕), matching the AutoPilot+ window layout. The bottom row is now just Enabled / Stars / Cancel.
- Added a
SuppressAutoArrivalhand-off so an extension (AutoPilot+ launching to orbit) can keep the target from auto-clearing on "arrival." This makes "launch to the planet you're standing on" work: the target is held while the mecha climbs to orbit, and the extension clears it once there instead of it counting as an instant arrival and disarming the launch.
0.2.2
- Debug overlay now shows movement state (Walk/Drift/Fly/Sail), altitude above the local surface, and horizontal speed — the values that gate the launch Fly->Sail transition — to aid AutoPilotPlus launch diagnosis.
0.2.1
- Fixed guidance not starting until AutoPilot was toggled: the game blanking
indicatorAstroIdto 0 no longer wipes your selection or disarms extensions. - Manual-input guard de-noised — only real strafe/forward/roll/climb input yields (ignores the jump edge), with a small threshold; it now logs the actual input vector for diagnosis.
0.2.0
- HUD can now be collapsed (title-only), closed (✕), and auto-hidden when not in space (config).
- Reopen the HUD with a configurable hotkey (default F7).
- HUD shows a button per registered extension (e.g. AutoPilot) to reopen its window.
- Extension API: replaced unused
ResetInput()withPanelLabel+TogglePanel().
0.1.0
- Initial release. Clean rebuild of CruiseAssist for DSP 0.10.34+ / Unity 2022.3.
- Velocity-slerp cruise steering toward a target star/planet while sailing.
- Star list with Normal / History / Bookmark tabs; per-galaxy-seed persistence.
- Stable
INavigatorExtensionAPI for AutoPilotPlus. - Improvements:
RespectManualInputtoggle, config-exposed tuning constants, verbose debug logging and on-screen debug overlay, no IL transpiler.