A modding framework for Sheltered by Unicube & Team17
Credit: Originally created by benjaminfoo (2019)
Maintained by: Coolnether123 (2025-Present)
This project is licensed under the MIT License (see LICENSE).
The original 2019 Sheltered mod loader foundation was created by benjaminfoo. Continued development and public redistribution are performed with the original author’s permission.
Third-party components retain their own licenses (see the Credits section).
This project is considered legacy because the original Sheltered mod-loader effort from 2019 was left unmaintained and never grew into an active modding framework. At the time, a Unicube developer (on Reddit as UnicubeSheltered) expressed interest in mod support, but no official framework was shipped. On the original mod-loader GitHub repo, Tiller4363 attempted in 2023 to contact benjaminfoo for guidance, but from what I can find, there was no reply and benjaminfoo deleted his reddit account.
In 2025, I (Coolnether123) discovered Sheltered and went looking for mods. The only thing I found was the abandoned mod loader, so I decided to pick it up and continue development to enable modding for the game.
Sheltered Mod Manager (SMM) is a modding framework for Sheltered that installs non-destructively alongside the game.
Key Features:
- Zero-Boilerplate Mods: New
ModManagerBasefor lightning-fast development (v1.2) - Mod Attributes: Simple
[ModToggle]and[ModSlider]for in-game settings (v1.2.1) - Spine Settings API: Rich, interactive configuration menus (v1.2)
- Enhanced Save System: Per-mod isolated data and dictionary persistence (v1.2.1)
- Plugin loader with dependency resolution and load order management
- Unlimited custom save slots with mod tracking and verification
- Developer API for items, recipes, events, and Harmony patching
- Desktop and in-game mod managers
- Runtime inspector (F9) for debugging
The Mod Manager mods tab allows you to customize your load order, resolve dependencies, and view detailed mod information.
Introducing Zero-Boilerplate Modding and Spine Settings, designed to let you focus on gameplay instead of infrastructure.
- ModManagerBase: A high-level base class that handles initialization, settings, and Unity lifecycle for you.
- Mod Attributes: Simple
[ModToggle]and[ModSlider]widgets for rapid UI prototyping. - Spine Settings API: Professional-grade settings UI with validation, presets, and dynamic lists.
- Isolated Mod Persistence: Register data objects and have them automatically saved/loaded per-slot in
mod_<id>_data.json.
Tip
Feedback Wanted! Spine is in active development. I'm looking for mod authors to test the API and provide feedback. Check out the Spine Settings Guide to get started!
The API is under active development - see the documentation for current capabilities.
Steam/GOG users: install the 32-bit package named Steam/GOG.
Epic users: install the 64-bit package named Epic.
- Back up your Sheltered folder
- Copy the (Steam/GOG or Epic) files into the Sheltered game directory
(same folder as
Sheltered.exeorShelteredWindows64_EOS.exe) - Run
SMM\Manager.exe - Enable mods and launch the game
If your exe is Sheltered.exe, you are on Steam/GOG. If it is ShelteredWindows64_EOS.exe, you are on Epic
- Download mods from Nexus(Link)
- Move file into mods folder
- If the mod is zipped unzip the folder
- Enable in Manager.exe
Each save records which mods were active when it was created.
- Warns if required mods are missing
- Warns on version mismatches
- Visual status icons per save:
- ✓ All mods match
- ~ Version mismatch
- ✗ Missing mods
- Save Details window shows differences
- One-click “Reload with Save Mods” option
The in-game verification system ensures your active mod list matches your save file exactly to prevent corruption.
Removes the vanilla 3-slot limit.
- Paging UI for unlimited saves
- Works alongside vanilla saves
A “Mods” button is added to the main menu.
- View installed mods
- See versions, authors, and dependencies
Access full mod details, versions, and descriptions directly from the Sheltered main menu.
- Delete the
modsandSMMfolders - Remove doorstop_config.ini, SMM\mod_manager.log, and winhttp.dll
- Verify game files via Steam/GOG/Epic if any issues arise
Your vanilla save files are not deleted. Custom saves are stored in mods/ModAPI/... (back this folder up if you want to keep them).
If winhttp.dll is present, Sheltered will always start with ModAPI enabled, even when launched directly.
To start the game fully vanilla, temporarily move winhttp.dll out of the game directory, then move it back to re-enable mods.
- Game: Sheltered 1.8+
- Platforms: Steam/GOG, Epic
- Architecture:
- Steam/GOG: 32-bit
- Epic: 64-bit
- OS: Windows 10 / 11
- Unity: 5.3 and 5.6+ supported
Press F9 in-game.
- Scene hierarchy viewer
- Object picker
- Component and field inspection
- Bounds visualization
Mods follow a standardized folder layout:
Sheltered/
└─ mods/
└─ MyCoolMod/ ← Mod root folder
├─ About/
│ ├─ About.json ← Mod metadata (REQUIRED)
│ ├─ preview.png ← Preview image for Manager
│ └─ icon.png ← Optional icon
├─ Assemblies/ ← Compiled mod code
│ └─ MyCoolMod.dll
├─ Assets/ ← Custom content
│ ├─ Textures/
│ ├─ Audio/
│ └─ Localization/
└─ Config/ ← Configuration files
├─ default.json ← Default settings
└─ user.json ← User overrides
{
"id": "YourName.MyCoolMod",
"name": "My Cool Mod",
"version": "1.0.0",
"authors": ["Your Name"],
"description": "Adds cool features to Sheltered!",
"entryType": "MyCoolMod.MyPlugin",
"dependsOn": ["OtherAuthor.SomeMod>=2.0.0"],
"loadBefore": ["SomeMod"],
"loadAfter": ["CoreAPI"],
"tags": ["QoL", "Items"],
"website": "https://nexusmods.com/sheltered/mods/123",
"missingModWarning": "This save uses custom items that will be lost!"
}Required Fields: id, name, version, authors, description
Optional Fields:
entryType- Fully qualified class name implementingIModPlugindependsOn- Array of mod IDs with optional version constraints (e.g.,">=1.0.0")loadBefore/loadAfter- Load order hints for compatibilitytags- Categories for filtering (e.g.,"QoL","UI","Content")website- Link to your mod page or documentationmissingModWarning- Custom message shown when loading a save that used this mod but it's now disabled/missing. Use this to warn players about potential data loss or gameplay issues.
The Developer API is in early development. See the documentation folder for current capabilities.
Currently available:
- Item and food injection
- Custom crafting recipes
- Event subscriptions (day cycles, save/load, UI panels)
- Harmony integration for runtime patching
- Runtime inspector (F9)
Planned for future updates:
- NPC & Character manipulation
- Combat encounter events
- Quest system integration
- Faction hooks
- Coolnether123 - 2025 Active Development & Maintenance
- benjaminfoo - Original 2019 mod loader foundation (used with permission)
- Team17 - For publishing Sheltered
- Unicube - Original game developers
- NeighTools - UnityDoorstop injection framework
- Andreas Pardeike - Harmony runtime patching library
- Issues: GitHub Issues
- Nexus Comments: Sheltered Mod Manager
| Guide | Description |
|---|---|
| How to Develop a Plugin | Getting started with mod development |
| Spine Settings Guide | Attribute-based settings API |
| Settings and Persistence | Pattern A/B settings and save APIs |
| ModAPI Developer Guide | Comprehensive API usage guide |
| API Signatures Reference | Canonical current signatures |
| ShelteredAPI Guide | Extended helper and trigger APIs |
| API Troubleshooting | Common failures and log signatures |
| Events Guide | Game and UI event subscriptions |
| Harmony Patches | Runtime code patching |
| ModAPI File Roles | Project file-role reference |
