Location Manager for MSFS – Development Overview
Location Manager for MSFS – The Challenge of Enhancing the UI/UX
Following on from my previous post about Aircraft Manager for MSFS – Development Overview , here is a short overview of how the development of Location Manager panned out. To recap what the problem is: MSFS is like an interactive earth simulator, enabled by flying around complex mini-simulations in the form of aircraft across the whole history of flight. The two methods for currently managing locations in MSFS are show below.
But there’s no way to save and/or favorite locations in the sim itself. While you can save locations outside MSFS in all sorts of ways (OneNote, LittleNavMap, Excel, etc) it’s not the most convenient of methods if you want to build up a log of world exploration discoveries for easy access within the simulator. This isn’t the same as loading a saved flight plan either. There are many use cases where you don’t actually want to use a flight plan, but just go to a location and start flying from there. So the intent here was to derive a solution to solve this problem.
Step 1 – Validate the Technical Approach
- How to capture and save the location information from the MSFS UI
- Where would be the best place to insert the UI to manage saved locations
- How to replicate the map zoom functionality in MSFS for saved locations (this was tricky!)
- How to efficiently store locations for easy retrieval, display, updates, and deletion
So I got to work, solving each of these unknowns in turn, or at least getting me into the ballpark of “this looks doable in a performant manner so the projects not dead and I can keep going”. Like the previous project, there were a number of dead ends and frustration moments which necessitated some creative thinking in order to spark the idea for another way to solve the problem. Some of these solutions come from gaining a deeper understanding of the MSFS UI framework, some from creatively applying workarounds. A workaround is a little different from a hack btw. A hack is typically a short term fix, designed as a purely quick and dirty temporary measure while you search for a better more reliable long term solution to a problem. A workaround is a solution you have confidence in being robust enough for long term use, even though it’s not how you originally envisioned it working. Workarounds are always preferable to hacks, giving you better maintainability over the long term.
Step 2 – Validate the Prototype
After gaining sufficient confidence I had working solutions to the core technical issues, I could start constructing a full prototype incorporating these into a working demo. This lets you test & tweak the full workflow, and weed out other issues/bugs.
Location Manager for MSFS Free Demo
The next stage from this is to get a demo into peoples hands to get wider feedback, while continuing to tweak workflows and solve issues/bugs as they appear. Similar to AM, I fired up a thread at the Flight Simulator forums to see if anyone is interested in trying it out. Have at it, all feedback is welcome: The Good, The Bad, and The Ugly. You can download the free demo lite version from the Location Manager for MSFS project page. Like the AM demo, it’s fully functional for casual use cases, with no obligation to upgrade. Enjoy!
Location Manager for MSFS Pro Release
Location Manager Pro V1.0 was released on 2023-02-14. It includes a toolbar widget for accessing LM from fly mode, so you can teleport to saved locations as well as add new one. The release announcement on the MSFS Forums is here @ Aircraft Manager Pro + Location Manager Pro now available.
Start Anywhere in MSFS
It was quickly followed up with another solution to a long standing request from users of MSFS: the ability to start cold and dark from anywhere. You are currently limited to being able to start only from airports or in the air.
With V1.0.3 of Location Manager we introduce Start Anywhere, where you can teleport to saved locations in Fly mode and start on land, water, or air to begin your flight experience.
More details in the video below: