PLL Library
Map layout mod and custom segment library.
| Date uploaded | 3 weeks ago |
| Version | 2.0.7 |
| Download link | AeralisFoundation-PLL_Library-2.0.7.zip |
| Downloads | 42 |
| Dependency string | AeralisFoundation-PLL_Library-2.0.7 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
PLL Library -> PEAK 


PLL Library is a PEAK map layout mod and automatic custom biome library. It reorders, repeats, regenerates, and lazily loads PEAK's live WilIsland segments, and discovers creator built custom content.
Update • Features • Install • Configuration • Layouts • Custom Biomes • Creator • Support
Update
Current package information.
Version 2.0.7 → click to collapse
- I am too lazy to fill the README.md with updated information.
Features
Runtime behavior.
Install
Mod manager and manual installation.
Install instructions → click to expand
Mod manager
- Install
PLL_Librarythrough a PEAK and Thunderstore compatible mod manager. - Ensure
BepInEx-BepInExPack_PEAK-5.4.75301is installed. - Start PEAK once to generate the configuration file.
Manual
- Install BepInExPack PEAK.
- Place
PLL_Library.dlldirectly inPEAK/BepInEx/plugins/. - Start PEAK once to generate the configuration file.
Custom content
Place creator-built .pll files directly in:
PEAK/BepInEx/plugins/PLL_Biomes/
Only files with the exact lowercase .pll extension are discovered. Discovery is top level only, processes canonical full paths in ordinal order, and keeps successful bundles loaded for the process lifetime. A rejected file is unloaded before discovery continues.
Configuration
Generated BepInEx configuration.
Configuration reference → click to expand
Configuration file:
BepInEx/config/AF/PLL_Library/config.cfg
Online rooms use the host's resolved gameplay values; PLL / Advertise Layout remains each client's local display preference. An empty Map / Seed creates a fresh random seed on world entry. Any nonempty text produces the same deterministic numeric seed.
| Section / key | Default | Meaning |
|---|---|---|
Version / SchemaRevision |
17 |
Configuration-schema marker. |
PLL / Advertise Layout |
false |
Shows at most one configured-state label beneath PEAK's ascent name: Generative takes priority over Modified, then Infinite, then Randomized. |
Map / Seed |
empty | Random when empty; deterministic text seed otherwise. |
Map / Replace Generated |
true |
Rebuilds already-generated native props with the selected seed. false reuses eligible unique authored native output; repeated or forced clones still generate their own output. |
Map / LayoutOrder |
Beach > Tropics > Roots > Alpine > Mesa > Volcano > Citadel > Nadir |
Defines an ordered list of public native or custom ordinary layout segments. Volcano and Citadel each include their native lower half; the visible Swamp is internal Gloom, not a separate root. Caldera, Gloom, Peak, and their structural aliases are invalid tokens; Nadir is movable and repeatable. |
Map / DoOrder |
true |
Initial state of the boarding-pass Layout Order toggle. |
Map / Generative Map |
false |
Builds one seeded layout from registered public native choices and eligible custom biomes when Layout Order is off. |
Map / InfiniteMap |
false |
Builds a deterministic weighted expansion. |
Map / Nadir at end |
false |
Appends Nadir as the final public ordinary segment. |
Fields / InfiniteMap: Repeatable |
empty | Up to 255 public segment names eligible for repetition, separated by >. Nadir is eligible. |
Fields / InfiniteMap: Chances |
empty | Position-matched non-negative weights. Invalid lists use equal weights. |
Fields / InfiniteMap: Scale |
8 |
Requested total public segment count. Configuration accepts 1 through 255; current PEAK navigation resolves at most 254 ordinary internal slots, and native composites consume two. Online shared-room ViewID capacity is separate and content-dependent. |
Fields / InfiniteMap: Begin Index |
-1 |
-1 inserts at the final eligible public boundary (before a terminal Nadir); other values are clamped zero-based public insertion boundaries. |
Fields / InfiniteMap: Remove Old |
false |
Replaces the base layout with repeatable choices. |
Behaviors / Winnable |
true |
Enables final-zone win behavior. |
Behaviors / Peak at end |
false |
Attaches full Peak at the final layout boundary: immediately before terminal Nadir, or after another final ordinary segment. Terminal Volcano and Citadel retain contextual Peak. |
Behaviors / Gemless Nadir |
false |
Allows every Nadir occurrence to load without Scout's Honor. |
Behaviors / Water follows Beach |
true |
Activates the shared water floor when Beach is reached. |
Behaviors / Void Water follows Nadir |
true |
Activates each Nadir-local Void Water surface and WaterZone only while its Nadir occurrence is current; false enables it from run start. Beach water is independent. |
Prerequisites / Relocate Plane |
true |
Moves PEAK's plane to the first segment start. |
Prerequisites / Relocate Start |
true |
Moves the active four-player spawn formation to the first segment start. |
Prerequisites / Guarantee Campfire Loot |
true |
Regenerates incomplete required campfire roots and requires one through four player-scaled outputs from an exact base PropSpawner. Each output gets one deterministic placement probe, runs PEAK's native constraints without bypass, and gets one construction attempt; any failure aborts generation. |
Prerequisites / Valid Nadir |
true |
Allows Nadir to require Scout's Honor only after Shore, Tropics or Roots, Alpine or Mesa, and Volcano or Citadel have appeared; otherwise Nadir is gemless. |
Optimizations / No Rising Ghosts |
false |
Disables Nadir's rising lost-soul fog and Citadel's rising Gloom. |
Optimizations / No Sleep Fog |
false |
Disables Gloom's stationary sleep fog field. |
Optimizations / Lazy Generation |
true |
Defers procedural generation until its prerequisite zone is reached and keeps future cloned feature roots inactive until their occurrence activates. Every clone remains inactive until its exact synchronized batch roots are reserved, even when this setting is disabled for eager generation. |
Optimizations / Fogless |
false |
Disables fog-sphere behavior. |
Optimizations / No Water |
false |
Disables Beach water and relocation. |
Optimizations / No Void Water |
false |
Disables every Nadir-local Void Water surface and WaterZone. |
Optimizations / No Plane |
false |
Removes the crashed plane and affiliates except spawn points. |
Optimizations / Remove Old |
true |
Destroys zones older than the immediately previous zone. |
Each registered custom biome receives a separate file beneath:
BepInEx/config/AF/PLL_Library/Custom Segments/
Its Favorites, Overwrites, Before, After, and Spawn Chance values begin with the bundle defaults and remain user-editable. Spawn Chance is an inclusive 0 through 100 percentage used by Generative Map. The host resolves these values for the flight.
Layouts
Deterministic layout selection and resolution.
Layout behavior → click to expand
- Default uses the configured
Map / LayoutOrderandMap / DoOrdervalues. With ordering off and neither Generative Map nor InfiniteMap active, PLL keeps PEAK's game authored current base/active variant layout. - Library Base appears whenever the effective Default selection differs from PLL's compiled
LayoutOrderdefault, including whenDoOrderis off or a registered modification targets Default. It is not a named layout and does not rewrite configuration: it selects that compiled default order, forces ordering on for the selected flight, and ignores registered modifications targeting Default. The terminal override clears after the flight configuration is captured. - Named layouts supply their own ordered tokens and always enable ordering for that flight.
Each layout sequence contains public ordinary choices only. Exact public native names and exact custom segment IDs select a source; qualified biome tokens such as peak/beach select from registered owners and declared overwriters. Caldera, Gloom, and Peak are internal structure, not public choices, so those names and their structural aliases are rejected as layout tokens. The solver maximizes valid overwrite substitutions, then Before/After, then Favorites, and finally ordinal stable-ID order. Metadata never inserts a biome by itself.
Every edit, InfiniteMap expansion, and metadata choice is resolved once over the completed public sequence before native composites expand to internal slots. Invalid connectors, unknown strict tokens, structural aliases, or excessive solver bounds fail before map mutation. PLLLibrary.DeployLayout(LayoutDefinition) and deterministic PLLLibrary.ModifyLayout(LayoutModification) remain supported for peer plugins.
Custom Biomes
Runtime bundle, authoring, and generation contract.
Creator
Unity authoring and .pll packaging.
Creator package → click to expand
Install com.aeralis.pll.creator-1.28.1.tgz through Unity Package Manager using Add package from tarball. Use an Unity project with Windows Build Support installed.
- Run PLL > Create Biome to create a valid starting root, definition, ports, anchors, fog/progress shell, and optional day-night profile.
- Use the focused PLL > helpers for supported authoring components.
- Select one or more
PllBiomeDefinitionorPllBiomeRegistryassets. - Run PLL > Build .pll and choose a destination outside the Unity project.
PLL > Validate Selected Biome and the definition inspector use the same authoritative complete reachable prefab graph as the build.
Support
Diagnostics and validation boundaries.
Support and troubleshooting → click to expand
Include the following with a report:
- PLL Library, PEAK, and BepInExPack versions;
- complete mod list;
BepInEx/LogOutput.logand PEAKPlayer.log;BepInEx/config/AF/PLL_Library/config.cfg;- selected terminal layout and text seed;
- for custom content: bundle filename, stable IDs, and revisions;
- whether the failure occurs offline, as host, as client, during late join, or during quicksave continuation.
| Symptom | Check |
|---|---|
| A custom biome is absent | Place its exact lowercase .pll file directly in BepInEx/plugins/PLL_Biomes/ and read the first bundle rejection. |
| A strict layout token fails | Use an exact public native name, exact custom segment ID, or registered public qualified biome token. Caldera, Gloom, Peak, and their structural aliases are not layout tokens. |
Peak fails |
Remove it from the public layout. Peak is derived only at a supported terminal boundary. |
| Nadir gate is unavailable | Terminal Nadir follows PEAK's native ending. A gemless Peak successor uses the bound statue directly as a Beach-like all player campfire checkpoint. An eligible honor Nadir first requires four distinct committed amulet types and native FX, then exposes the same CAMPFIRE; the native reward warp is suppressed for that checkpoint. |
| Infinite expansion fails | Supply at least one public ordinary repeatable token and a connector-compatible chain within the internal slot limit. |
| Bundle is rejected | Read the first bundle path and content-ID error; one failed bundle transaction does not partially register. |
Inactive native map roots appear under WilIsland |
Leave them inactive. They are intentional rollback templates; manual activation is unsupported and activates duplicate PhotonView components alongside the committed layout. PLL does not destructively clear them. |
| Client disconnects during load | Ensure every peer uses wire revision 40 with matching bundles, configuration, and authored revisions. |
| Quicksave continuation fails | Restore behavior active configuration and registered content from the saved run. Quicksaves whose identity encoded Lazy Features=false or Patch bridges=false are intentionally rejected; PLL does not silently reinterpret behavior that is now always active. |
| A server timeout is reported after a map load exception | Capture the first exception and complete logs. PLL's queue finalizer restores Photon's message queue only when PEAK's ActivateWithoutMessageQueue path throws; it is exception hardening, not proof that PLL caused the timeout. |
CHANGELOG
Changelog
The format is based on Keep a Changelog.
[3.1.0]
Version Details → click to collapse
Added
Changed
Fixed
Removed
[3.0.1]
Version Details → click to collapse
Changed
Fixed
Removed
[3.0.0]
Version Details → click to collapse
Changed
Fixed
Removed
[2.0.8]
Version Details → click to collapse
Changed
- Configuration schema
17now upgrades directly to current schema20. - Host selected
Level_*scene is retained when PLL performs no map processing. - TowerStacker file provenance starts once at the first published layout identity boundary instead of during every PLL startup.
Fixed
- A normal upgrade from public PLL 1.28.1 no longer disables PLL during
Plugin.AwakewithConfiguration schema '17' is unsupported. - A fallible final owner, including light volume resource restoration, can no longer strand a run permanently in
Releasing. - Final release failures no longer mask earlier published, unpublished, or rollback cleanup failures.
- A Peak bestow cleanup failure no longer skips checkpoint cleanup.
Remove OldandNo Sky Propsalone no longer force PEAK's nativeLevel_*flight intoWilIsland.
Removed
- Global
LoadingScreenHandler.LoadSceneProcessLevel_*replacement. - Unpublished schema 19 migration.
MapRun.releaseCompleteandTryFinishReleaseretry shaped state.- Duplicate pending release environment, generation hash, and retired state resets.
- Dead
ReleasedSlotRetirement.ResetReleasedStateandViewBatchSynchronization.ResetReleasedStatemethods. - Startup fingerprint plan/job/source wrappers, cross path revalidation, and the 18 file existence preflight.
- Duplicate native base release.
[2.0.7]
Version Details → click to collapse
Changed
Fixed
[2.0.6]
Version Details → click to collapse
Changed
Fixed
[2.0.5]
Version Details → click to collapse
Changed
Fixed
[2.0.4]
Version Details → click to collapse
Changed
Fixed
[2.0.3]
Version Details → click to collapse
Changed
Fixed
[2.0.2]
Version Details → click to collapse
Changed
Fixed
[2.0.1]
Version Details → click to collapse
Changed
Fixed
[2.0.0]
Version Details → click to collapse
Changed
Removed
Fixed
[1.30.1]
Version Details → click to collapse
Changed
Fixed
[1.30.0]
Version Details → click to collapse
Changed
Fixed
[1.29.7]
Version Details → click to collapse
Changed
Fixed
[1.29.6]
Version Details → click to collapse
Added
Changed
Fixed
[1.29.5]
Version Details → click to collapse
Changed
Fixed
[1.29.4]
Version Details → click to collapse
Changed
Fixed
[1.29.3]
Version Details → click to collapse
Changed
Fixed
[1.29.2]
Version Details → click to collapse
Changed
Fixed
[1.29.1]
Version Details → click to collapse
Changed
Fixed
[1.29.0]
Version Details → click to collapse
Added
Changed
Fixed
[1.28.1]
Version Details → click to collapse
Changed
Fixed
- Previous-checkpoint quicksave input now classifies the canonical immediately previous published slot before reading
RespawnChest.IsSpentor requiring the already-resolved previous-statue result to be non-null. Nadir and a registered semantic Peak checkpoint supply neutralfalseto PEAK'sRunProgressevaluation. The Peak checkpoint authority isPeak.ScoutStatue, notCampfireorRespawnChest, so no previousRespawnChestis required for that semantic checkpoint. Installed PEAK 2.2'sRunProgressconstructor discards the boolean; no checkpoint state is persisted. - An ordinary previous checkpoint still supplies its exact
RespawnChest.IsSpentvalue to that evaluation. A missing ordinary previousRespawnChestnow fails an explicit invariant instead of being dereferenced. The quicksave finalizer returns the original exception, soSaveNowfailures still propagate to the transition owner rather than being suppressed.
[1.28.0]
Version Details → click to expand
Changed
Fixed
[1.27.0]
Version Details → click to expand
Changed
Fixed
[1.26.0]
Version Details → click to expand
Changed
Fixed
[1.25.0]
Version Details → click to expand
Changed
Fixed
[1.24.0]
Version Details → click to expand
Changed
Fixed
[1.23.0]
[1.22.0]
Version Details → click to expand
Changed
Fixed
[1.21.0]
Version Details → click to expand
Changed
Fixed
[1.20.0]
Version Details → click to expand
Changed
Fixed
[1.19.0]
[1.18.1]
[1.18.0]
[1.17.2]
Version Details → click to expand
Changed
Fixed
[1.17.1]
Version Details → click to expand
Changed
Fixed
[1.17.0]
Version Details → click to expand
Changed
Fixed
[1.16.2]
Version Details → click to expand
Changed
Fixed
[1.16.1]
Version Details → click to expand
Changed
Fixed
[1.16.0]
Version Details → click to expand
Changed
Fixed
[1.15.2]
Version Details → click to expand
Changed
Fixed
[1.15.1]
Version Details → click to expand
Changed
Fixed
[1.15.0]
Version Details → click to expand
Added
Changed
Fixed
[1.14.3]
Version Details → click to expand
Changed
Fixed
[1.14.2]
Version Details → click to expand
Added
Changed
Fixed
[1.14.1]
Version Details → click to expand
Changed
Fixed
[1.14.0]
Version Details → click to expand
Changed
Fixed
[1.13.1]
Version Details → click to expand
Changed
Fixed
[1.13.0]
Version Details → click to expand
Added
Changed
[1.12.3]
[1.12.2]
[1.12.1]
[1.12.0]
Version Details → click to expand
Changed
Fixed
[1.11.0]
Version Details → click to expand
Changed
Fixed
[1.10.2]
[1.10.1]
[1.10.0]
[1.9.1]
[1.9.0]
Version Details → click to expand
Added
Changed
Fixed
[1.8.1]
[1.8.0]
Version Details → click to expand
Changed
Fixed
[1.7.1]
Version Details → click to expand
Changed
Fixed
[1.7.0]
Version Details → click to expand
Added
Changed
Fixed
Removed
- Legacy
.pllbundleingress, public/manual content registration, andPLLBundleManifestsupport.
[1.6.2]
Version Details → click to expand
Fixed
- Boarding-pass layout controls were updated.
- PLL Creator's Unity Editor integration was patched.
- Future-segment colliders are temporarily disabled during terrain processing and restored afterward.
[1.6.1]
Version Details → click to expand
Fixed
- Creator setup now isolates Unity's stock
TutorialInfoscripts into an Editor-only named assembly before importing PEAK'sAssembly-CSharpprovider. - Remaining project
Assembly-CSharpconflicts now identify the source scripts that require a named assembly definition. - Creator setup now replaces its pending transaction record through a real backup path accepted by Unity's Windows Mono runtime.
[1.6.0]
Version Details → click to expand
Added
- An installable hidden
PLL CreatorUnity Package Manager package with automatic local PEAK discovery and no generated files underAssets. PLLFinalGenerationfor deferred final-phase roots containing the supported exactPropSpawnercapability.PLLForceSpawnerfor exact-name native-prop families with occurrence-owned generation and cleanup.
Changed
- Creator setup now installs from the released
.tgz;bootstrap.ps1and the generated creator project were removed from the user workflow. - The boarding-pass layout row uses native dropdown item visuals, an auto-hiding scrollbar, compact padding, and a left-hand Order checkbox.
- Native first-segment placement derives the four-player formation from authored structural Terrain/Map mesh support instead of generated prop output.
Fixed
- Fog patches no longer publish stale origins while a new flight is still preparing its fog binding.
- Plane and player relocation no longer select generated or airborne prop colliders in Roots, Tropics, or other native starts.
Unsupported
- Item-domain
PLLForceSpawnernames are rejected because PEAK detaches room-owned item output; native props containing anotherISpawnerare also rejected.
[1.5.1]
Version Details → click to expand
Changed
- Boarding-pass layout controls now occupy PEAK's native white ascent panel and use its custom-run selector styling.
- Creator bootstrap accepts installed Unity patch releases from PEAK's detected major.minor editor stream.
Fixed
- Offline quicksave continuation transfers saved layout selection directly into the active flight snapshot instead of routing it through resettable terminal UI state.
- The layout dropdown and Order toggle no longer overlap or extend beneath the boarding-pass border.
[1.5.0]
Version Details → click to expand
Added
- A native scrolling boarding-pass layout dropdown and adjacent per-flight Layout Order toggle.
- Deterministic Generative Map layouts over native and eligible custom biomes.
- Per-custom-biome
Favorites,Overwrites,Before,After, andSpawn Chanceconfiguration files. - Exact-
BiomeIdcustom configuration lookup APIs. - A separate Unity creator SDK and
.pllpackaging project for the current pre-authored biome schema.
Changed
- Layout mode now resolves in the order registered/order toggle, Generative Map, InfiniteMap, then PEAK's live base order.
- Cloned native segments run surviving active configuration steps under a per-occurrence seed before PEAK's generation steps.
- The host configuration, layout identity, quicksave identity, and generation epoch include Generative Map and effective custom-biome configuration.
Fixed
- Future flights no longer inherit the preceding flight's Layout Order toggle override.
- Reused native generation no longer leaves nearby generated Photon views untracked or duplicates stale per-occurrence output.
- Creator publication restores the prior bundle and report together when either destination cannot be replaced.
[1.4.1]
Version Details → click to expand
Fixed
- The layout selector now uses PEAK's text-bearing custom-options style and occupies the boarding pass's native footer instead of failing on the icon-only run button.
- Configuration schema replacement is staged and atomically committed; an unchanged configuration is no longer rewritten during startup.
[1.4.0]
Version Details → click to expand
Added
- Host-selectable registered layouts on PEAK's boarding pass.
DeployLayoutand deterministicModifyLayoutAPIs.ForceloadandForceloadElementinactive world-root preparation APIs.PllContentRegistry, bundle-element definitions, and stable segment, element, and layout identities.- Deterministic
Overwrites,Before,After, andFavoriteslayout resolution. Prerequisites / Guarantee Campfire Loot.Patches / Patch bridges.
Changed
- Layout edits and InfiniteMap expansion now resolve metadata once over the final logical sequence.
- The host synchronizes selected layout identity, layout-registry revision, campfire-loot behavior, and bridge-patch behavior.
- Legacy PLL quicksaves use their original layout-revision serialization; a legacy revision rejection leaves the save intact.
- Runtime compatibility checks bind to the capabilities used instead of an independent PEAK member inventory.
- The public README now documents installation, configuration, layout registration, inert content loading, and custom-biome contracts.
Fixed
- Cloned Caldera containers no longer retain duplicate generated The Kiln output.
- Regenerated Beach bridges retain PEAK's non-damaging collision callback behavior.
- Required campfire roots regenerate when their player-scaled Campfire food output is incomplete.
- Custom segment IDs cannot collide with published native segment IDs.
Peakcannot appear before later layout tokens.- Unselected named layouts no longer abort the selected map because their live content is unavailable.
[1.3.0]
Version Details → click to expand
Added
- Custom biome API (Will be made automatic in next release).
Changed
- The default
LayoutOrder. Peakis documented and enforced as the native attachment that must directly followVolcano.- Custom segments.
- PLL quick saves.
[1.2.0]
Version Details → click to expand
Added
- Lazy Features.
- Ambiance Correction.
- Sound Correction.
- Begin Index for Infinite Map.
- No Plane.
Changed
- Prop Generation.
- Object Relocation.
- Spawn and Plane.
Removed
- Lazy Baking.
[1.1.0]
Version Details → click to expand
Added
- Remove Old Optimization.
- Winnable.
- Peak at end.
- Water follows Beach.
- Relocate Plane.
- Relocate Start.
- Lazy Generation.
- Fogless.
- No Water.
Changed
- Prop Generation.
- Beach Segment.
[1.0.0]
Version Details → click to expand
Added
- Initial Aeralis Foundation: PEAKLevelLoader Library.

