There are a few things that change when using a gamepad, and the top bar is the most obvious thing that changes compared to mouse and keyboard. I'm not going to go into too many details of how all the gamepad stuff works because only people on Steamdeck will likely use it for now, but many more people will use it when the game comes to consoles next year. You can't do everything with a gamepad, but that's mostly because I didn't want to deal with creating an in-game keyboard to edit various text fields. There are a few KB/Mouse shortcuts/combos that don't exist on gamepad, but none of those stop you from creating the same vehicle.
Moving on, let's look at the PC version of the layout with the most important popup enabled.
The shortcut for Advanced Mode (A) now brings up the part settings popup (on the right). This is a scrollable list of properties, and nearly every property has a tooltip that explains a bit more of what the setting does. This list scrolls using RMB or MMB Wheel. [I decided to leave the most of the vehicle settings in the cab properties, as I didn't want another pop-up, and there's so many vehicle settings, it needed to scroll anyway.]
The sliders in build mode have a new feature that's been highly requested: You can click on the value and enter a number directly. This also allows you to enter values outside the range of the slider. There are no error checks currently, so this is a good way to crash the game if you're so inclined (that crash won't happen 'til you play, most likely). There's also an optional comment field associated with each part so you can leave notes/comments for yourself or others (top right of the settings, only shows if the comment exists).
If a part has controls, they'll appear at the top of the settings. Click on the inputs/outputs and a secondary popup will appear. There's a new Quick Assign button at the top of that. Press that and this is what you'll see.
Depending on what you press, it'll either assign a new slot, or map to an existing controller slot. The old system of reassigning buttons/etc also exists in a 2x8 list, arranged vertically instead of horizontally now. There are now 32 button slots, up from 24, with the first 16 mapped by default. I decided to rename "Logic" connections to "Signals" to avoid confusion with the Logic parts. There are still 1024 of those available. I changed how signals render on parts a bit, but I might revisit it a bit more later to increase visibility/etc.
So that's the main pop-up and child pop-up you'll probably leave open/use most of the time, but other popups include Build Mode Settings, the Quick Edit popup, and the Layout popup. Build Mode Settings and Quick Edit are mostly a place to throw shortcuts/settings in a way that makes them more accessible to everyone. They all have tooltips and list the relevant shortcuts where needed.
The Layout popup is a bit different though. Here's what that looks like.
You can now edit the vehicle and creator names, along with editing how the control layout is displayed. Every used control will appear here, and you can select and move the controls around as you see fit. This is how they'll be displayed in-game, along with whatever labels you add. For previously created vehicles, the control hint will be converted to a label. You can have up to 8 labels at once. You can also create a gamepad-specific layout. As with most things that you can move, holding shift lets you move the controls/labels in smaller increments.
That covers many of the major changes, but I skipped the new move/rotate handle and many other minor changes and tweaks. There are a couple things that aren't quite finished, particularly the help mode/options, and switching between multiple player starts. I'm also considering redoing how sliders/ammo/overheating displays are handled (they'd be on the control layout, and be customizable), but I'm going to wait a bit.
Here's a quick summary of the build mode improvements (outside of the arrangement of things) if you want to know what to look for:
- Sliders now have optional direct text entry with no limits.
- New 3d handle for moving/rotating selected parts (resizable).
- Gamepad now works with 99% of build mode functionality.
- Parts now have optional comments.
- Customizable control layouts with up to 8 custom labels, and optional gamepad-specific layouts.
- Quick Assign feature to reassign button inputs.
- Added descriptions to a lot more parts, and they are always available.
- Added tooltips to the majority of part settings
- Improved display of shortcuts for buttons/etc.
- Many previous shortcut-only options now show as real options that display tooltips+shortcuts.
- New option to compress the build mode UI vertically.
- New option to display GP+KB shortcuts at same time in the remapper popup.
- Added an outline to selected/highlighted parts.
- Changed how signal inputs/outputs are displayed on parts.
- Added highlighting of parts using the highlighted button/signal (remapper popup).
WHAT'S NEXT? WHAT TOOK SO LONG?
As usual for any big update, I'll be following up with a series of smaller updates over the next day or two. With so many changes, there are bound to be issues that I didn't find. I have a list of smaller changes I might be making, but some of them will depend on feedback/requests/etc. Long-term I have a pretty firm list of what needs to be worked on/added, but at the moment I'm feeling very much burnt out and will work on whatever seems easy/enjoyable to work on. The only thing I'll do for sure in the short-term is update the control layouts of the Main Campaign vehicles.
In terms of why this update took so long, it's because it was a very large amount of work, much of which I was just not able to anticipate. Every time I changed one thing or rebuilt one part of the interface, that would spiral into a web of additional tweaks or fixes or new decisions that was difficult to predict. UI touches nearly every part of the massive codebase for the game, and Build Mode is the most complex system in the game by a significant amount. Every UI element changed in some way while also adding gamepad support, and gamepad support accounted for nearly half of the work because of the added complexity, special cases, etc.
To be completely honest, I've been miserable while working on this update. I only kept going because it needed to be done, and I used my desire to work on anything else as motivation to get this done. I'm glad it's done, and feel some sense of accomplishment, but I'd prefer to never work on a UI this complex again. I didn't enjoy working on the in-game level design tools either, but those don't have to be particularly good or work on console, they just have to work for me. The added pressure and need to keep things as user-friendly (and gamepad-friendly) as possible, along with the sheer number of elements involved, pushed it over the top. I was more productive working on this than the level editor tools, but I was even more unhappy about it.
Part of the problem might be the underlying UI systems I've built just aren't that great, particularly when it comes to creating complex visual elements. But I can't imagine any system that would create the resulting build mode UI/systems without a good amount of messy, difficult code.
Regardless, I'm determined to finish Instruments, and the rest should be relatively easy and enjoyable to work on compared to this.
[Apologies for the excess complaints. And please give feedback about Build Mode even if you don't think I'll like it.]