KerbNoteLite v1.3.1 is a comprehensive note-taking and advanced alarm system mod for Kerbal Space Program that helps you manage your missions with in-game notes, mini-notes, location-based alarms, terrain warnings, and resource monitoring.
- New altitude settings UI in Global Alarm Panel
- Min altitude (default: 100m) - prevents false alarms during landing
- Max altitude (default: 25000m) - prevents false alarms in space
- Tooltips explain each setting
- Stall warnings now only trigger within configurable altitude range
- KerbVision Compatibility: Fixed InputLock interference
- Changed from
ControlTypes.Allto selective locking - No longer blocks post-processing effects in other mods
- Grain noise and other visual effects work properly
- Applied to all UI panels (AlarmSelector, GlobalAlarmPanel, SettingWindow, SliderWindow)
- Changed from
- Hide on Exit now works correctly
- MiniNote no longer disappears immediately after landing
- Only hides when vessel actually exits the alarm condition
- Prevents premature hiding during physics settling
See CHANGELOG.md for full version history.
- Install CKAN
- Search for "KerbNoteLite"
- Click install
- Launch KSP
- Download latest release from Releases page
- Extract the ZIP file
- IMPORTANT: If updating, run
cleanup_old_versions.bat(Windows) to remove old DLL files - Copy
GameData/KerbNoteLite/folder into your KSPGameData/directory - Launch KSP
From v1.3.2 onwards, KerbNoteLite uses a standard DLL name (KerbNoteLite.dll) that CKAN handles automatically.
If upgrading from v1.3.1 or earlier (which used KerbNote_V*.dll):
Windows:
- Double-click
cleanup_old_versions.batin the extracted folder - Or run in PowerShell:
.\cleanup_old_versions.ps1
Manual cleanup:
- Navigate to
KSP/GameData/KerbNoteLite/Plugins/ - Delete all old
KerbNote_V*.dllfiles - The new version is simply
KerbNoteLite.dll
CKAN users: CKAN handles everything automatically from v1.3.2 onwards.
- KSP Version: 1.8.0 - 1.12.5
- Dependencies: None
- .NET Framework: 4.8 (included with KSP)
- Multi-tab notebook with unlimited tabs for organizing mission notes
- Rich text formatting with 5 adjustable zoom levels
- Undo support (Ctrl+Z) for text editing
- Tab insertion (10 spaces) for formatted notes
- Auto-scroll to cursor while typing
- Draggable and resizable window interface
- Per-save note persistence - different notes for each game save
- Floating mini-notes for quick reference during flight
- Situation-based alarms trigger when entering specific conditions:
- Celestial body arrival (planets, moons)
- Vessel situations (Orbiting, Flying, Landed, Splashed, Sub-Orbital, Escaping, Docked)
- Editor scenes (VAB/SPH)
- Space Center
- Alarm actions:
- Show mini-note popup with blinking animations
- Play Kerbal vocal sounds
- Stop time warp automatically
- Auto-hide on scene exit
- Per-tab alarms - assign different alarms to different note tabs
- Automatic alarm cleanup removes orphaned alarms
Advanced terrain collision avoidance system with realistic aviation-inspired warnings:
- Pull-Up alarm when descending too fast below configurable altitude
- Configurable altitude threshold (default: 750m AGL)
- Configurable descent rate trigger (default: -30 m/s)
- Continuous "Pull Up" audio callout while condition persists
- Look-ahead collision detection predicts terrain impact
- Configurable prediction time (default: 6 seconds)
- Adjustable terrain margin for early warnings
- Only active above minimum speed threshold
- Automated altitude announcements during descent:
- 200m, 100m, 90m, 80m, 70m, 60m, 50m, 40m, 30m, 20m, 10m
- "Landed" callout when touchdown is confirmed
- Screen messages always shown, audio optional
- "Too Low Gear" alarm when approaching landing without gear deployed
- Configurable altitude threshold (default: 200m AGL)
- Maximum speed limit (default: 200 m/s)
- Roll angle suppression (ignores warning when banked > 45°)
- "Sink Rate" callout when descending too fast with gear deployed
- Configurable threshold (default: -7 m/s below 70m AGL)
- Helps prevent hard landings
- Loss of airspeed detection with two modes:
- AUTO mode: Intelligent energy decay detection
- Monitors descent-to-horizontal speed ratio
- Example: Alarm if descending 15 m/s while flying 40 m/s horizontally (37.5% ratio)
- Default threshold: 35% (configurable)
- Ignores high-pitch maneuvers (cobra, loops, etc.)
- Only active when moving forward at reasonable speed (>20 m/s)
- MANUAL mode: Simple minimum speed threshold
- User sets minimum safe horizontal speed (default: 50 m/s)
- Alarm when below threshold
- AUTO mode: Intelligent energy decay detection
- Altitude filtering (NEW in v1.1.0):
- Minimum altitude (default: 100m) - prevents false alarms during landing approach
- Maximum altitude (default: 25000m) - prevents false alarms in space/high atmosphere
- Only triggers within configured altitude range
- Dedicated "STALL!" audio warning (custom sound file supported)
- Automatic fallback beep if sound file not present
- See
STALL_SOUND_INSTALLATION.mdfor audio file setup
- Landing mode detection - suppresses alarms when gear is out and slow
- Aircraft-only filter - optional restriction to aircraft vessels
- 20-second load cooldown prevents false alarms after scene load
- EVA filtering - disables terrain alarms during spacewalks
- Physics settling protection - ignores false landings during load
- Independent volume slider for all terrain alarm sounds (0-100%)
- Does not affect screen messages
Real-time vessel resource monitoring with customizable thresholds:
- ElectricCharge - Prevents power failures
- LiquidFuel / Oxidizer - Fuel depletion warnings
- MonoPropellant - RCS fuel monitoring (works during EVA for jetpacks!)
- Ablator - Heat shield protection
- Ore - Mining operation monitoring
- XenonGas - Ion engine fuel
- Custom resources - Any resource in current vessel
- Per-resource thresholds (0-100%, default 15%)
- Enable/disable individual resources independently
- Depletion warnings when resource reaches 0%
- EVA jetpack monitoring - MonoPropellant alarm works during spacewalks
- Auto-detection of vessel resources
- 8-second throttle prevents alarm spam
- 20-second load cooldown avoids false alarms after scene load
- Global silence toggle to mute all resource alarms temporarily
- Antenna/CommNet monitoring warns when signal strength drops
- Configurable threshold (default: 25%)
- Helps prevent loss of control during missions
- Customizable UI skins with texture pack support
- Multiple skin presets included
- Kerbal-themed UI elements
- Visual alarm indicators on note tabs
- Clean, intuitive interface design
Slide-out panel for managing all alarm systems:
- Resources Alarms - Configure resource monitoring
- Terrain Alarms - Adjust GPWS/terrain warning settings
- One-click enable/disable for each alarm system
- Persistent configuration across game sessions
The latest version includes major performance improvements for smooth gameplay:
✅ Cached FindObjectsOfType calls - 95% reduction in expensive Unity searches
✅ Eliminated LINQ allocations - Manual loops instead of Where().ToArray()
✅ Reflection caching - All MethodInfo/PropertyInfo lookups cached at startup
✅ Aircraft type detection caching - 2-second cache lifetime, 80-95% CPU reduction
✅ Resource query optimization - Uses KSP's built-in GetConnectedResourceTotals()
✅ Reusable collections - Eliminates heap allocations in hot paths
✅ Early exit patterns - Stops unnecessary iterations when threshold met
- Download the latest release from the Releases page
- Extract the
KerbNoteLitefolder from the downloaded ZIP file - Copy the
KerbNoteLitefolder to your KSPGameDatadirectory - The final structure should be:
GameData/KerbNoteLite/ - Launch KSP and enjoy!
** Important:** Download the pre-built release package, not the source code. The release contains the compiled mod ready to use.
- Clone the repository:
git clone https://github.com/garyblu71mods/KerbNoteLite.git - Open
KerbNoteLite.csprojin Visual Studio 2019+ - Ensure references to KSP assemblies are correct (adjust paths if needed)
- Build in Release mode (.NET Framework 4.8, C# 7.3)
- Copy the compiled DLL from
bin/Release/toGameData/KerbNoteLite/Plugins/
- Click the KerbNote icon in the application launcher (toolbar)
- The main window will appear with your notes
- Click the "+" button to add a new tab
- Enter your notes in the text area
- Use Tab key to insert spacing (10 spaces)
- Use Ctrl+Z to undo changes
- Click the AAA button below the note to cycle zoom levels (5 levels)
- Click the "X" on a tab to delete it (confirmation required)
A collapsible Settings panel is at the bottom of the KerbNote window. Click Settings to expand/collapse.
- Purpose: Switch between different game saves
- How to use:
- Click Notes button in Settings panel
- Select a save from the list (scroll if more than 5)
- The mod loads notes and alarms specific to that save
- Each save has its own separate data
- Click Back to return to Settings menu
Features:
- Auto-creates note files for each save
- Moves orphaned files (from deleted saves) to
DeletedSavesfolder - Ensures data integrity across save games
- Purpose: Change the KerbNote interface appearance
- How to use:
- Click Skin button in Settings panel
- Browse available skin packs (scroll if more than 5)
- Select a skin to apply immediately
- Skin choice is saved per-save
- Click Back to return to Settings
Skin locations:
GameData/KerbNoteLite/texture_pack/[SkinName]/Textures/
Skins affect:
- Window backgrounds and textures
- Button styles (tabs, hover, click)
- Note area appearance
- Mini-note visuals
- Overall color scheme
- Purpose: View documentation and help
- How to use:
- Click About/Help button
- Modal window appears with markdown help text
- Scroll through content
- Click X to close
Help file location:
GameData/KerbNoteLite/About_Help (or About_Help.txt, .md)
- Create or select a note tab
- Click the sidebar (right edge of window) to open alarm settings
- Select target celestial body from dropdown
- Select vessel situation (Flying, Orbiting, Landed, etc.)
- Enable desired actions:
- ☑ Mini-Note - Show floating mini-note
- ☑ Play Sound - Play Kerbal vocal
- ☑ Stop Warp - Stop time warp
- ☑ Hide on Exit - Auto-hide mini-note when condition ends
- Enable the alarm - it will trigger when conditions are met
The Global Alarm Panel provides centralized control for advanced alarm systems.
- Click the alarm icon on the left side of the KerbNote window
- Panel slides out from the left edge
- Click again (or click outside) to close
- Click Resources Alarms in the panel menu
- Toggle Enable/Disable switch at top
- Configure per-resource settings:
- Enable checkbox - Monitor this resource
- Threshold slider - Warning level (0-100%)
- Enable Communication Alarm if desired
- Set signal threshold for low-signal warnings
- Click Silence Alarms to temporarily mute (doesn't disable monitoring)
- Click Back to return to menu
Default thresholds:
- ElectricCharge: 15%
- LiquidFuel/Oxidizer: 15%
- MonoPropellant: 15%
- Ablator: 10%
- XenonGas: 20%
- Click Terrain Alarms in the panel menu
- Toggle Enable/Disable switch at top
- Configure Base Terrain Warning:
- Altitude AGL - Warning altitude (default: 750m)
- Descent Speed - Trigger rate (default: -30 m/s)
- Enable checkbox
- Configure Terrain Ahead:
- Max Time - Look-ahead seconds (default: 6s)
- Step - Sample interval (default: 0.25s)
- Margin - Terrain clearance buffer (default: 0m)
- Min Speed - Activation speed (default: 20 m/s)
- Enable checkbox
- Configure Gear Warning:
- AGL threshold (default: 200m)
- Max Speed (default: 200 m/s)
- Max Roll - Ignore when banked (default: 45°)
- Enable checkbox
- Configure Sink Rate Warning:
- AGL threshold (default: 70m)
- Min Descent (default: -7 m/s)
- Enable checkbox
- Configure Stall Warning:
- Enable checkbox
- Mode selection:
- AUTO: Energy decay detection
- Angle Limit: Maximum angle threshold (default: 50°)
- Triggers when angle between nose and flight path exceeds limit
- MANUAL: Speed threshold
- Min Speed: Minimum safe horizontal speed (default: 50 m/s)
- AUTO: Energy decay detection
- Min Altitude: Don't alarm below this AGL (default: 100m)
- Max Altitude: Don't alarm above this ASL (default: 25000m) - NEW in v1.1.0
- Tooltips available on hover for each setting
- Enable Altitude Callouts for automated altitude announcements
- Toggle Aircraft Only to restrict alarms to aircraft vessels
- Adjust Volume slider (0-100%) for all terrain sounds
- Click Back to return to menu
- Landing Suppress Max Speed: 150 m/s (default)
- Landing Suppress Max AGL: 300 m (default)
- When gear is deployed, slow, and low, terrain warnings are suppressed
- Mini-notes automatically appear when alarms trigger
- Drag them anywhere on screen
- Click to expand to full note view
- Mini-notes persist across scene changes unless "Hide on Exit" is enabled
- Blink animations indicate alarm triggers:
- Triple-fast blink: First appearance or re-show
- Fast blink: Alarm re-triggered while visible
KerbNoteLite/
├── src/
│ ├── AlarmManager.cs # Core location-based alarm system
│ ├── AlarmRunner.cs # In-flight alarm trigger (optimized)
│ ├── AlarmEditorRunner.cs # VAB/SPH alarm trigger
│ ├── AlarmSpaceCenterRunner.cs # Space Center alarm trigger
│ ├── AlarmSelector.cs # Alarm configuration UI
│ ├── AlarmSystemBootstrap.cs # Auto-initialize alarms on load
│ ├── GlobalAlarmPanel.cs # Slide-out alarm control panel
│ ├── GlobalAlarmManager.cs # Global alarm coordination
│ ├── TerrainAlarmRunner.cs # GPWS/terrain warning system (optimized)
│ ├── TerrainAlarmConfig.cs # Terrain alarm persistence
│ ├── ResourcesAlarmRunner.cs # Resource monitoring (optimized)
│ ├── ResourcesAlarmConfig.cs # Resource alarm persistence
│ ├── TimeReminderAlarm.cs # Time-based reminder system
│ ├── KerbNote.UI.*.cs # UI components
│ ├── MiniNote.cs # Mini-note window system
│ ├── SoundManager.cs # Sound effects (optimized)
│ ├── SkinAssets.cs # UI texture management
│ └── KerbCalc.cs # Built-in calculator
└── GameData/KerbNoteLite/
├── Plugins/
│ └── KerbNoteLite.dll # Compiled mod
├── Textures/ # UI textures
├── Sounds/ # Audio files
├── texture_pack/ # Skin themes
└── AlarmsAndNotes/ # Per-save data storage
├── Notes_[SaveName].txt
├── Alarms_[SaveName].txt
├── TerrainAlarmConfig.cfg
└── ResourcesAlarmConfig.cfg
GameData/KerbNoteLite/AlarmsAndNotes/Notes_[SaveName].txt
Contains all note tabs with content, zoom levels, and tab names.
GameData/KerbNoteLite/AlarmsAndNotes/Alarms_[SaveName].txt
Stores alarm configurations for each note tab.
GameData/KerbNoteLite/AlarmsAndNotes/TerrainAlarmConfig.cfg
Persistent settings for GPWS/terrain warning system.
GameData/KerbNoteLite/AlarmsAndNotes/ResourcesAlarmConfig.cfg
Persistent settings for resource monitoring system.
| Situation | Trigger Condition |
|---|---|
| PRELAUNCH | Vessel on the launchpad |
| FLYING | Atmospheric flight |
| SUB_ORBITAL | Suborbital trajectory (will impact) |
| ORBITING | Stable orbit around body |
| ESCAPING | Leaving sphere of influence |
| LANDED | On solid ground |
| SPLASHED | In water |
| DOCKED | Docked to another vessel |
| Location | Trigger Condition |
|---|---|
| VAB | In Vehicle Assembly Building |
| SPH | In Space Plane Hangar |
| Space Center | At KSC scene |
- .NET Framework 4.8
- C# 7.3
- Visual Studio 2019+ (or compatible IDE)
- Kerbal Space Program (tested on compatible versions)
- Unity engine (KSP embedded version)
- Clone the repository
- Open
KerbNoteLite.csprojin Visual Studio - Ensure KSP assembly references are correct:
Assembly-CSharp.dllUnityEngine.dllUnityEngine.UI.dll- Located in
[KSP]/KSP_Data/Managed/
- Build in Release mode
- Output DLL will be in
bin/Release/
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes with clear commit messages
- Test thoroughly in KSP
- Submit a pull request
- Alarm system requires scene changes to detect new situations (by design)
- Mini-notes may overlap if multiple alarms trigger simultaneously
- Terrain alarms may have slight delay during physics settling after load (mitigated by 20s cooldown)
- Resource monitoring uses 8-second throttle to prevent spam
- Verify alarm is enabled in alarm settings
- Check that you're in the correct celestial body and situation
- Ensure 20-second load cooldown has passed after scene load
- For terrain alarms: Check Global Alarm Panel → Terrain Alarms → Enable/Disable
- For resource alarms: Check Global Alarm Panel → Resources Alarms → Enable/Disable
- Latest version includes major performance optimizations (see Performance section)
- Disable unused alarm systems in Global Alarm Panel
- Reduce the number of active note tabs
- Lower terrain alarm update frequency (increase "Step" value)
- Check that
GameData/KerbNoteLite/AlarmsAndNotes/folder exists - Verify write permissions for KSP directory
- Ensure save name doesn't contain invalid characters
This project is licensed under the MIT License - see the LICENSE file for details.
- Sound effects: Original Kerbal Space Program audio (used under fair use)
- UI textures: Custom created or modified from KSP assets
Created by: garyblu71mods
Special Thanks:
- KSP Modding Community
- Unity Engine Team
- All contributors and testers
For issues, suggestions, or questions:
- GitHub Issues: Open an issue
- Bug Reports: Include KSP version, mod version, and reproduction steps
- Feature Requests: Describe use case and desired behavior
- ✨ Added Terrain Proximity Alarm System (GPWS-style warnings)
- ✨ Added Resource Monitoring Alarms with customizable thresholds
- ✨ Added Global Alarm Panel for centralized alarm control
- ✨ Added Communication Signal Monitoring
- ✨ Added Altitude Callouts during landing
- ✨ Added Gear Warning System with roll suppression
- ✨ Added Sink Rate Warning for safe landings
- ✨ Added Stall Warning System for aerodynamic safety
- ⚡ Major Performance Optimizations (80-85% faster)
- 🔧 Cached expensive Unity API calls
- 🔧 Eliminated LINQ allocations in hot paths
- 🔧 Optimized resource queries using KSP built-in methods
- 🔧 Added aircraft type detection caching
- 🔧 Improved reflection performance with caching
- 🐛 Fixed false alarms during scene load (20s cooldown)
- 🐛 Fixed physics settling false positives
- 🐛 Fixed EVA jetpack MonoPropellant monitoring
See CHANGELOG.md for full version history.
Happy note-taking and safe flights, Kerbonauts!
Fly safe, monitor your resources, and never miss an alarm!