I spent the past days working on the game lobby, where you can wait for other players, chat with each other and get ready for the trip to Kojou Castle.
This actually took longer than expected. I did have a lobby function before, albeit less elaborate, it was very straightforward to create and took little time back then. This time, I wanted to make full use of the new Unity UI system and the new uNet network engine.
I started off doing UI and it was really pleasant to work with. It is way more maintenance-friendly than my previous solution and I made quick progress. As so many times before, I was amazed to what extent Unity was assisting me in actually creating something instead of figuring out how to do it. But then came the networking part… and nothing I came up with seemed to work. I tried something out, and just… nothing happened. So I tried to look for tutorials, but to my amazement, literally no one seemed to create a lobby from scratch using the integrated NetworkLobbyManager that Unity offers. Everyone just used a premade Unity asset that can be downloaded for free, and has a plug and play ready-designed lobby that was only modified visually (and just a little bit) in every tutorial video!
Thus, I downloaded said asset and was basically iteratively stripping features off it to get a better understanding of how it’s used correctly. It took a while, but I finally managed to set up the lobby prototype that I had visualized. Afterwards, I thought… let’s quickly add a chat feature. But no dice. Again, uNet didn’t like any of my (intuitive) approaches and again, I spent hours trying to figure out the right way to do it. It is apparent that as uNet is still very young, there are some bugs, oddities and a general lack of community knowledge. Not really concerning uNet, but one time, I was not able to select text fields in the build. It worked fine in the editor. The solution was to re-add the component and it worked, although everything was set up the same way.
But nevertheless, I am staying optimistic and am still impressed by the majority of Unity’s features. I’m confident I will adapt to the Unity way of doing networking, too.