BBB NMS Save File Manipulator — Help

Remove several unwanted starships without deleting my last occupied ship.

Use case 33 · Working with starships

Help Index → Working with starships → Use case 33

Delete several unwanted ships as one guarded request while deliberately retaining an occupied survivor. Ship deletion validates the combined target set, so selecting all remaining occupied ships does not delete all but one automatically.

Before you start

  1. Keep a full-save backup and decide which occupied ships must survive.
  2. Identify the unwanted whole slot records. Empty slots are not substitutes for an occupied survivor.
  3. Before sync, formatting or structured refresh, copy EACH pending Raw JSON pane to its own external file: one sync can overwrite all others. Reapply non-inventory edits one pane at a time, syncing and comparing exact values before the next. Parse errors can leave an old tree with green status; [] is ignored, and Pretty Print can erase invalid text.
  4. Do not sync/Pretty Print Inventory Raw JSON: dictionary assignment is defective. Use Organizer for supported moves or Replace Items from Backup for supported replacement.

Steps

  1. Preserve EACH pending pane externally before refresh: one sync can overwrite the others. Reapply non-inventory edits one pane at a time, syncing and verifying exact values. Stop after parse errors even if green; [] is ignored and Pretty Print may erase invalid text. Use structured tools, never defective Inventory Raw JSON sync/Pretty Print. (control reference)
  2. In Starships, collapse individual records so the complete slot rows are easy to distinguish. Identify a contiguous unwanted range that excludes your intended survivors. (control reference)
  3. Hold the right mouse button and drag across the unwanted rows. A right-drag range can include visible descendants; review the highlighted nodes before releasing. (control reference)
  4. Choose Delete N Nodes. The ship controller reduces complete selected slots to occupied targets; the confirmation count can differ from the raw node count. (control reference)
  5. If the last-ship notice appears, acknowledge it and select fewer ships. Otherwise review the deletion count, confirm only the intended request, and inspect all survivors. (control reference)

Expected result

  1. The app refuses the entire request if it would remove every occupied ship. Its exact notice is "NMS does not allow that last ship to be deleted from inventory; aborting". There is no override or partial deletion. This is the app’s policy, not independently verified game behavior.
  2. Successful deletion clears targeted fixed positions without shrinking the twelve-slot array. Selected empty positions are no-ops. A selected child is coalesced only if its complete ship is also selected; child-only deletion is refused.
  3. Type-specific appearance/build cleanup applies to every target. If PrimaryShip is deleted, the lowest surviving occupied index becomes primary; a deleted Corvette editor association is cleared to -1.

What changes, and when to save

Changes stay in the loaded app data until File > Save NMS Save File writes the retained live slot and Main or Expedition context. Close No Man’s Sky and confirm that destination before saving; a green synchronization light alone does not mean the game file was saved. Before a live write, compare every intended edit with its preserved copy; a refreshed pane can hide lost pending work.

Check the result

  1. Check every intended survivor is still occupied at its original position and every target is empty.
  2. Check removed Corvettes’ uniquely linked builds and the primary selection; unrelated bases must remain.

Important details and recovery

  1. An invalid or ambiguously linked Corvette blocks the combined request, not just that one ship. For nonadjacent unwanted ships, use separate reviewed deletions rather than dragging across an occupied survivor.

Application controls used here

  1. Ship tree
  2. Ship multi
  3. Ship delete