I decided to give running the Windows version of SotA under Proton (Steam) another go and wow, what a boost in framerate. Even anti-aliasing seems to work better.
There are two things I take away from this: Unity really doesn't give a crap about "cross platform" Valve, however, does and has done an amazing job with Proton.
One drawback of the Windows client is that the hitching gets worse over time. When I play for a few hours, the hitches become a couple seconds long. This generally wasn't as much of a problem on the Linux client. Just need to restart the client more often.
Quite often, input keys get stuck for a couple seconds (more so when there's big hitching). For instance, charging a skill or moving will get stuck for a short time. Does this happen when playing on Windows or is this specific to Proton?
It seems that the excessive hitching and sticky keys were likely related to Lua. This is a big relief as I can live without the buff monitoring system but the hitching and sticky keys were horrible. [edit] Still happens, just not as severe.
I managed once on Windows 10 to spam the moving keys so much that windows tried to protect me by starting the pause between keystrokes... Took me several days to find out why the hell every keystroke needed a few seconds before I could do the next...
The OS isn't Windows though, it's Linux. There's something going on in the windows version of Unity that causes hitching to become much worse over time than on the Linux version (maybe a memory leak?) and when that happens, there's a significant delay when pressing and releasing keys (also gets worse as the hitching gets worse). To put this into perspective, I'll press say a buff hotkey and it won't start charging for a few seconds. When I release the hotkey, it won't cast (staying in the charging state) for a few seconds. The same thing happens with movement keys. I think that input processing on Linux is done on a separate thread and the input processing on Windows is done on the main thread. Lua scripts (like BMS) bring the issues much faster. I know that a lot of Windows users also have the increased hitching because I hear them say that they need to restart. [edit] Keys get a bit sticky when I'm in a heavily decorated town too.
The sticky key issue is related to key repeat and the main game loop only reading one buffered keystroke per frame.
Turning off key repeat in Settings -> Accessibility fixes the sticky key issue. [edit] Spoke too soon, not the solution.
The more important question is: do these problems and any others problems don’t happen on a MAC? I stopped playing SotA on a Mac years ago when the nighttime dark was too dark to play and bought a Windows PC instead just to play SotA.