https://github.com/adventure-gpt/RasterPropMonitor-mechjeb-2-improvements
π COMPLETE MECHJEB 2.15.1 IVA INTERFACE - Do nearly everything you can do with MechJeb's IMGUI menus, right from your cockpit displays
The Problem: MechJeb 2.15.1 underwent massive internal refactoring. The standard FirstPersonKSP/RasterPropMonitor was designed for older MechJeb versions and its MechJeb integration is completely broken with MechJeb 2.15.1+:
MechJebModuleLandingGuidance vs MechJebModuleLandingAutopilot)The Solution: This fork is a complete and total overhaul of the MechJeb integration layer. It's not just a compatibility patchβit's a ground-up reimplementation that gives you near-complete feature parity with MechJeb 2.15.1's IMGUI interface, all accessible from your IVA cockpit displays.
You can do nearly everything you can do with MechJeb's IMGUI menus using this fork's RPM monitors. This isn't a basic autopilot toggleβit's a comprehensive flight computer interface.
| Feature | Standard RPM | This Fork |
|---|---|---|
| Ascent Autopilot | β Broken | β Full Control |
| Landing Guidance | β Broken | β Full Control |
| Maneuver Planner | β Broken | β All 18 Operations |
| Smart A.S.S. | β οΈ Partial | β Full Control |
| Node Executor | β οΈ Partial | β Full Control |
| Rendezvous Autopilot | β Broken | β Full Control |
| Docking Autopilot | β Broken | β Full Control |
| Translatron | β Missing | β Full Control |
| Rover Autopilot | β Missing | β Full Control |
| Aircraft Autopilot | β Missing | β Full Control |
| Spaceplane Guidance | β Missing | β Full Control |
| Info Displays | β οΈ Partial | β All Readouts |
| Operation | Description |
|---|---|
| Circularize | At apoapsis, periapsis, or specific altitude |
| Change Apoapsis | Raise/lower apoapsis |
| Change Periapsis | Raise/lower periapsis |
| Change Both Pe & Ap | Single-burn orbit shaping |
| Change Inclination | Plane change maneuvers |
| Change LAN | Longitude of ascending node |
| Change Semi-Major Axis | Direct SMA targeting |
| Change Surface Longitude | Apsis longitude |
| Change Eccentricity | Direct eccentricity control |
| Resonant Orbit | For satellite constellations |
| Hohmann Transfer | Two-impulse transfers |
| Match Planes | Plane change to target |
| Match Velocities | Relative velocity kill |
| Intercept at Time | Lambert solver intercepts |
| Fine-tune Approach | Course corrections |
| Return from Moon | Optimal moon return |
| Interplanetary Transfer | Basic transfer windows |
| Advanced Transfer | Porkchop plots & optimization |
GameData/JSI/RasterPropMonitor if presentGameData folderGameData/
βββ JSI/
βββ Agencies/
βββ RasterPropMonitor/
β βββ Library/
β βββ Plugins/
β β βββ RasterPropMonitor.dll
β β βββ MechJebRPM.dll
β βββ rasterpropmonitor-shaders.assetbundle
β βββ rasterpropmonitor-font.assetbundle
βββ RPMPodPatches/This fork replaces the standard FirstPersonKSP RasterPropMonitor. Do NOT install both.
Standard Fork: https://github.com/FirstPersonKSP/RasterPropMonitor
The standard FirstPersonKSP RPM has a handful of MechJeb buttons that mostly don't work with MechJeb 2.15.1.
This fork is a complete reimplementation. We built:
A full reflection-based MechJeb wrapper (MechJebProxy.cs) that binds to MechJeb 2.15.1's internal types at runtime, handling all the API changes gracefully with version-aware fallbacks
A comprehensive menu system (MechJebRPMMenu.cs - 3,500+ lines) that mirrors MechJeb's IMGUI interface structure, giving you hierarchical menus for every MechJeb module
Direct Operation invocation - The maneuver planner doesn't just set parameters; it calls MechJeb's actual Operation.MakeNodes() methods to create maneuver nodes exactly like the IMGUI does
Full TimeSelector support - Every maneuver operation supports the same timing options as MechJeb's GUI (at apoapsis, at periapsis, at altitude, X seconds from now, at ascending node, etc.)
Proper autopilot state management - Enable, disable, and monitor all MechJeb autopilots with proper user registration so they don't conflict
# Full release build (recommended)
.\build-release.ps1
# Or specify custom KSP path
.\build-release.ps1 -KSPPath "D:\Games\KSP"
# Manual build
& "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" RasterPropMonitor.sln /p:Configuration=Release
The build script will: 1. Build both DLLs from source 2. Copy asset bundles from your KSP installation (ensures correct versions) 3. Package everything into a release zip
The integration uses a reflection-based wrapper (MechJebRPMWrapper.cs) that:
1. Discovers MechJeb assembly at runtime
2. Binds to internal types via reflection
3. Handles API differences between MechJeb versions
4. Provides stable interface for RPM handlers
| File | Changes |
|---|---|
MechJebRPMWrapper.cs |
Complete rewrite for 2.15.1 field/property changes |
MechJebRPMButtons.cs |
Updated autopilot enable/disable handlers |
JSIExternalCameraSelector.cs |
Fixed local coordinate handling |
FlyingCamera.cs |
Near clip plane fix (0.01m) |
Complete MechJeb 2.15.1 Integration Overhaul
This isn't a patchβit's a ground-up reimplementation of RPM's MechJeb integration:
MechJebRPMMenu.cs that mirrors MechJeb's IMGUI structureRasterPropMonitor plugin (C) 2013-2018 Mihara, MOARdV, and other contributors.
MechJeb 2.15.1 integration additions (C) 2026.
Code and shaders are licensed under GPLv3. See LICENSE.md.
Props by alexustas and contributors under CC 3.0 BY-NC-SA.
GameData |
+ JSI |
+ Agencies
+ RasterPropMonitor
+ RPMPodPatches
If you do not see GameData/JSI, you have installed this mod incorrectly, and it shall misbehave (missing props, other things not working right).
If you used CKAN to install this mod, check the file structure. CKAN has installed this mod incorrectly in the past. If CKAN installed it incorrectly, remove this mod and install it manually. I do not provide support for CKAN installations.
### UPGRADING FROM OLDER VERSIONS:
As a general rule, you should delete any existing installation.
### CONFIGURATION
Out of the box, RasterPropMonitor ships with default configuration settings. The configuration file is
installed to GameData/JSI/RasterPropMonitor/Plugins/PluginData/rpm-config.cfg
The config file settings are:
* DebugLogging - False by default. Setting this to True will vastly increase the amount of information that
RasterPropMonitor writes to KSP's log file. You should only need to change this for support purposes.
* ShowCallCount - False by default. Primarily intended for IVA makers to collect information on what impact
their IVA has on performance. Should not need to be set True except for collecting this info. DebugLogging
must also be set True for the call count to be logged.
* DefaultRefreshRate - 5 by default. Defines how many Update calls must elapse before RPM will update its
variables. One Update occurs every screen refresh, so if KSP is running at 60fps, the default refresh rate
of 5 means that variables will update roughly 12 times per second. Note that props may override this
value by making it smaller, but never by making it larger.
* MinimumRefreshRate - 1 by default. Defines what the minimum value for the refresh rate may be. Lower-spec
computers may benefit by setting this value higher than 1. It must not be larger than DefaultRefreshRate.
Large minimum values will cause some animations and updates to stutter, instead of moving smoothly.
### MOAR IVAs?
If the basic IVA experience included in this package is not enough, take a look at some of these:
* [ALCOR](http://forum.kerbalspaceprogram.com/index.php?/topic/50272-104alcorquotadvanced-landing-capsule-for-orbital-rendezvousquot-by-aset-21072015/) lander capsule by alexustas
* [Mk1-2 Pod](http://forum.kerbalspaceprogram.com/index.php?/topic/116440-iva104-mk1-2-pod-iva-replacement-by-aset-wip/) by alexustas
</details>
Raw stats are from the beginning of time until now. Each follower and download entry represents one hour of data. Uneventful hours are omitted.