Homeworld: Unbound 0.12 — a crash that looked like a hang (corrected by 0.13)
This post said updating removed the need for the second launch. It did not. The crash stopped, but the process still exited without coming back, so what a player saw — a stuck loading screen, then pressing launch again — was unchanged. The second press only went away in 0.13, which also found this to be a symptom rather than the cause: the engine cannot start twice in a warm process at all, whether or not your campaign changed. The reasoning below is left as written, because that part holds.
A fix release. Everything the Sensors Manager rebuild brought two hours earlier is unchanged.
The path that was most likely to be taken was the broken one
Install it, play the demo, decide you want the campaign, put your own Homeworld files in Downloads, and come back to it — and the next launch sat in the headset’s loading environment and never started. Press launch a second time and everything worked, which made it read like a first-launch quirk rather than a bug with a cause.
That is precisely the path 0.10 opened up and the SideQuest listing made the ordinary one. It had been broken the whole time.
It was not a hang
Nothing was stuck. The game crashed — and the reason it did not look like a crash is that it died before drawing anything at all. A headset’s compositor keeps showing its own environment until an app presents its first frame, so an app that never presents one leaves you sitting in that environment indefinitely. From the inside, that is indistinguishable from a freeze. There is no window to disappear.
The cause is a decision made too early to change. Whether you get the demo or the full campaign is settled when the app starts, and it is built into the engine that gets loaded. Android, though, prefers to reuse an app that is already running rather than start it fresh. So the app noticed your game data had appeared, correctly, and then handed it to the demo engine that was already in memory and could not be swapped — which went looking for a demo file that was no longer the point and gave up.
The second launch worked because the crash had emptied the app out of memory, so it finally started clean.
If you are hitting this now, launching twice is a complete workaround, and updating removes the need for it.
Windows cannot host or join
New, and worth knowing before you plan a game: a Windows player currently cannot host a multiplayer match or join one. The lobby data goes over the wire in a layout that comes out a different size on Windows than it does on Linux and Android, so the two cannot read each other’s.
This is discovery and joining only — in-game traffic is unaffected, and the 0.8 picture is otherwise intact: the host forwards TCP 10500 and UDP 10600, two players across the internet is tested, more than two is unblocked rather than tried. It is the next thing being worked on.