Main Page

= Welcome to ! = This wiki is aiming to be a location we can consolidate information about the ship construction process for Hardspace: Shipbreaker, using the community built Shipbuilder tool. Get started here, then view specific Tutorials and Systems. Having issues? Try Troubleshooting, or if that fails, join us on = Getting Started =

Setting Up

 * 1) Install Unity 2020.3.35f
 * 2) Download the Shipbuilder from Github
 * 3) Install ModdedShipLoader from NexusMods) as per the instructions on that page
 * 4) Change the settings of ModdedShipLoader, and set enableDeveloperShips to true
 * 5) Delete the folder "FirstShip.Piepieonline" in "BepInEx\plugins\ModdedShipLoader\Ships"
 * 6) Install the ShipbreakerShipbuilder project wherever you want
 * 7) Copy (only those with waiting '.meta' files listed) game dlls from 'Shipbreaker_Data\Managed' into the Dll folder
 * 1) Update "shipbreaker_settings.json"
 * 2) Add the correct game path (note that you need to use double backslash in the path, eg: "D:\\SteamGames\\steamapps\\common\\Hardspace Shipbreaker")
 * 3) Add your username as the author, eg: "Piepieonline"
 * 4) Open the ShipbreakerShipbuilder project in unity
 * 5) Accept the popup to upgrade APIs
 * 6) Run Shipbreaker/Update game catalog
 * 7) Restart unity
 * 8) Run Shipbreaker/Update known assets
 * 9) Restart unity
 * 10) Run Shipbreaker/Build and run, and ensure that the in-game "Free Play" menu has updated - the Wombat should appear first, and the developer ships should appear at the end (if enabled)

First Steps
Congratulations, you've created your first ship!
 * 1) Open Unity, and load "Scenes/SampleScene"
 * 2) Navigate to "_CustomShips/ExampleBox"
 * 3) Drag "ExampleBox.prefab" into the Scene Hierarchy (This will take a while on first attempt, as it is caching all used game assets - takes about a minute on my midrange machine)
 * 1) If this doesn't look right, when the Editor has finished loading, Shipbreaker/Force View Refresh
 * 2) Move and rotate the atmospheric regulator into the box (Hint: Hold ctrl to snap to the grid)
 * 3) Save and build - Shipbreaker/Build
 * 4) Run the game, open the freeplay menu, and find "Example Box" at the end of the list. Load it up and take a look
 * 5) Close the game
 * 6) In the hierarchy, disable "East", "CutPointER" and "CutPointEB"
 * 7) Enable "AirlockHardpoint", then run Shipbreaker/Force View Refresh (twice)
 * 8) Move the airlock such that the inner wall sits inline with the open space, but not touching any walls
 * 9) Clone "CutPointEB", enable it, and move it so that it just touches the floor and the airlock inner wall (It'll need to be rotated 180 degrees)
 * 10) Build
 * 11) Open the ship in-game

Creating a ship from scratch

 * 1) Open "Scenes/SampleScene"
 * 2) Create a new folder in "_CustomShips", call it "ScratchShip"
 * 3) Add an image to use as the thumbnail to the "ScratchShip" folder
 * 4) Right click an empty space inside your "ScratchShip" folder, click Create/Shipbreaker/Create custom level (The Shipbreaker menu is at the bottom of the create context menu)
 * 5) Fill in the details, and click Create
 * 6) Note that the "Module Construction Asset" option will influence the exterior (triplaner) texture that gets applied
 * 7) The new prefab named "ScratchShip" is now selected in the project window. Drag it into the scene hierarchy
 * 8) Create an empty child, name it "Floor", give it a rotation of 0/-90/0
 * 9) To "Floor", add an Addressable Loader component, and set it's GUID to "15e523455b134fe40b33c5d6a4346fe8"
 * 10) Save, build and run

Positioning a ship in the work bay

 * 1) Open "Scenes/SampleScene", and drag your prefab into the Scene Hierarchy ensuring that it's at 0/0/0
 * 2) With the "Bay" object selected in the hierarchy, click the checkbox next to "Reload" in the Inspector
 * 3) Close or import TMPPro assets
 * 4) Move your prefab to where you want it to sit in the bay
 * 5) Right click your prefab's transform component, click Copy World Placement (at the bottom)
 * 6) Double click to open your prefab's RootRef prefab (Inside the Spawn folder), click the Hardpoint, right click the transform component and click Paste World Placement
 * 7) Close the RootRef prefab editor
 * 8) Reset your prefab's position, reload the scene

= More Information =

BBI Documentation - Ship Construction Process
BBI has been very kind and released a document detailing their internal processes for ship creation. While we can't use their tools directly, it is a good resource that explains how a multitude of systems within the game work. Find it on Google Drive.

Discord
Having issues/have questions/feature requests? Join the official Hardspace: Shipbreaker Discord, and post in #modding-discussion.