Prelude Manual / SoH: Unbound Open the editor →

SoH: Unbound

Link on Hyrule Field under the SoH: Unbound logo

SoH: Unbound is a fork of Ship of Harkinian. It removes the limits Ocarina of Time inherited from the Nintendo 64. The game plays exactly the same. What changes is how much a mod is allowed to contain.

With Unbound you can build a much larger world, fill it with far more rooms, actors and objects, give it detailed collision, and add new scenes, warps, songs and dialog instead of replacing the ones the game already has.

Get it

Download SoH: Unbound 9.3.0-unbound0.11. Builds and notes are on the release page. It is built on Ship of Harkinian 9.3.0 and uses your own game archive, exactly like normal SoH.

Ask questions and show what you are making in the SoH: Unbound thread on the Harbour Masters Discord server.

Join the Discord

Using it with Prelude

  1. Install SoH: Unbound and run it once with your ROM, like normal SoH. It makes your oot.o2r, then converts it into oot-unbound.o2r in the same folder. This takes about a second, and happens again by itself if your ROM files or the game build change.
  2. Upload oot-unbound.o2r to Prelude, instead of your normal oot.o2r.

You can also skip step 1. Import your ROM into Prelude and choose SoH: Unbound, and Prelude makes oot-unbound.o2r in your browser with the game's converter.

Prelude then turns the higher limits on by itself. A normal oot.o2r keeps all the old limits, because most players use normal SoH.

A mod that uses these higher limits needs SoH: Unbound to run. Normal SoH will not load it.

Playing it in the browser

Prelude runs SoH: Unbound in a tab, so you can try a change without leaving the editor. The play button opens the game in a new tab with your edits in it, and reloading that tab picks up whatever you have changed since.

An Unbound build update leaves your oot-unbound.o2r out of date, and the game refuses to start on it. Make the file again, or import your ROM, and the button comes back. Your project and the mods you export are unaffected.

Sharing what you make

Prelude names an Unbound export yourmod.unbound.o2r, or yourmod.prelude-unbound.o2r if you keep it as a Prelude project, so you can tell it from an ordinary mod without opening it. Drop it in Unbound's mods/ folder like any other mod.

Please don't post Unbound mods on SoH's GameBanana page. Unbound is an experimental build, and mods made for it are for testing how far the limits can go. Anyone who downloads one expecting normal SoH just gets a mod that won't load. Prelude asks you to confirm this each time you export one.

What it lets you add

The game's tables are fixed lists. Unbound reads them from your mod as well, so these are additions, not replacements.

What Normal game SoH: Unbound
Scenes 110, fixed Add your own, without replacing a vanilla one
Entrances (warp targets) 1,556, fixed Add your own, and name them so other mods can aim at them
Objects Only the game's list Ship your own models as new objects
Dialog text Fixed list of ids Add new ids, so new signs and lines don't delete old ones
Scene music One of the game's tracks Bind a song of your own to a scene, so it plays there
Moving textures Only where the game already animates one Scroll, fade and cycle textures on any surface, in any scene
Epona Five scenes, fixed Let her into a scene you added, and pick where she waits

The limits it raises

What Normal game SoH: Unbound What you can do
World size ±32,760 units ±1,048,576 units Build a world about 32 times wider in every direction
One room's shape Every part within 65,535 units across The whole world One room can cover everything, so a big outdoor area needs no splitting
Position detail Whole numbers only Decimals allowed for actors, lights and paths Place things exactly, not on a grid. Collision stays on whole units, so surfaces that should meet always do
Draw distance 12,800 units No limit See far across a large scene
Fog start About 2,500 units Any distance Fog that fits a large scene, not a small one
Rooms per scene 255 (127 usable) 32,767 Big multi-room dungeons
Actors per room 255 65,535 Crowded rooms
Actors alive at once 255 (and it broke past that) 8,192 Large battles and busy towns
Objects per room 128 1,024 Many different enemy and prop types in one room
Doors per scene 64 32,767 As many doors as your dungeon needs
Mesh pieces per room 255 (64 if see-through) No limit (1,024 see-through) Detailed rooms, and many glass, water or ghost surfaces
Collision points 8,191 No practical limit Walkable ground for a whole large scene
Collision triangles 32,767 No limit Detailed floors, walls and slopes
Moving platforms (per scene) 50, with 512 triangles No limit Many moving or rotating platforms
Exits per scene 31 No limit Many doors and holes leading elsewhere
Camera settings per scene 255 No limit Fixed-camera views anywhere you like
Light settings per setup 31 255 Many lighting moods in one scene
Water in far rooms Rooms 0–63 only Any room Water anywhere in a large dungeon
Message length About 1,280 bytes 8,192 bytes Much longer speeches
Texture memory 1,024 textures 8,192 textures Fewer reloads with HD texture packs

What is still limited

These caps are still there. If one blocks you, say so. It is on the list to fix.

What Limit
Points in one path 255
Vertices in one piece of mesh 65,535, or 47,662 for a piece that reaches past 32,767 units from the center of the world, which needs the bigger vertex format
Fixed-camera positions ±32,767 units
Cutscene camera points ±32,767 units
Text in one box, after decoding 1,024 bytes
Light settings per setup 255
Surface types / water boxes per scene 65,535 each
Scene and entrance numbers 32,767
Background images per room 255
Moving-texture motions 6 at a time per drawing pass, shared by every surface that moves the same way
A vanilla scene's entrances Fixed. Only a scene you add can declare new ways in
A vanilla scene's Epona setting Fixed. Only a scene you add can let her in or keep her out
Minimap and pause map Not drawn for new scenes yet
Minimap "visited" marks Rooms 0–31 only