[MODAPI] Request: GPS List Extension Hooks
I would like to request additional ModAPI exposure for the GPS interface, specifically the ability for Workshop mods to extend the existing GPS list without requiring access to the broader internal GUI system.
Current LimitationThe current GPS ModAPI provides the core data-side functionality needed to manage GPS entries, including basic CRUD operations.
However, there does not appear to be a supported API for extending the GPS list UI itself.
This prevents Workshop mods from implementing organizational features such as:
- Folders
- Custom groups
- Tags
- Route groups
- Favorites
- Bulk HUD visibility controls
- Custom sorting/filtering
The GPS data can be managed, but the existing GPS interface cannot be extended in a supported way.
Proposed APIA dedicated GPS list extension API could expose a limited set of hooks specifically for the GPS terminal page.
For example:
- Add synthetic/custom rows to the GPS list
- Add collapsible group/header rows
- Control or extend sorting
- Add custom filtering
- Associate custom metadata with displayed GPS entries
- Intercept selection events for custom rows
- Intercept double-click events for custom rows
- Add custom context-menu actions
- Refresh/rebuild the GPS list when mod-owned data changes
The API would ideally allow mods to identify whether a selected row represents:
- A vanilla GPS entry
- A mod-provided synthetic entry
- A group/folder header
Example Use CaseA mod could display the existing GPS data like this:
GPS
├─ ▼ Mining
│ ├─ Iron Deposit
│ ├─ Ice Lake
│ └─ Uranium Asteroid │
├─ ▶ Stations
│
└─ ▼ Missions
├─ Objective 1
└─ Rendezvous Point The underlying GPS entries would remain normal vanilla GPS entries.
The mod would only provide organizational metadata and additional display behavior.
Why a Dedicated API Would HelpThe internal GPS controller already handles functionality such as:
- GPS list population
- Searching
- Selection
- Sorting
- Add/remove operations
- HUD visibility
- GPS editing
However, the live GUI classes required to interact with the existing GPS list are not available to normal Workshop scripts.
A dedicated GPS-specific extension API would allow mods to extend this interface without exposing general GUI internals such as the wider screen/control system.
This could provide a safer and more stable extension point than giving mods direct access to internal GUI classes.
Potential API ShapeConceptually, something similar to this could be useful:
IMyGpsListExtensions {
event Action<IMyGpsListBuilder> PopulateList;
event Action<IMyGpsListEntry> EntrySelected;
event Action<IMyGpsListEntry> EntryDoubleClicked;
void Refresh();
void AddGroup(
string id,
string displayName,
bool expanded
);
void AddCustomEntry(
string id,
string displayName,
object metadata
);
} The exact implementation is of course up to Keen, but even a relatively small API surface around GPS list population and interaction would enable a large number of GPS-management mods.
Potential UsesThis could enable Workshop mods for:
- GPS folders
- GPS tags
- Favorites
- Route planning
- Mission waypoint groups
- Mining-site organization
- Bulk show/hide operations
- Distance-based sorting
- Custom GPS categories
- Temporary navigation groups
All of these could continue using the existing vanilla GPS system underneath.
SummaryThe current GPS ModAPI is sufficient for managing GPS data, but not for extending how that data is presented or organized.
A limited GPS-list extension API would allow much richer GPS-management mods while avoiding the need to expose the broader internal GUI system.
If the GPS ModAPI is considered for future expansion, this would be greatly appreciated.
Thanks for your time.
Thomas M.
I like this feedback
Replies have been locked on this page!