Devlog - February 5th 2023


UI Toolkit codebase, project updates & more

This week’s focus was on the implementation of a UI Toolkit codebase and additional project related set up tasks. While there isn’t anything to show visually the progress this week was pretty good. I managed to nicely integrate the new UI system (UI Toolkit) with a large portion of my old code base thanks to the abstraction layer I put in when I first created the old system. The little bit of extra time I invested back then now really pays off. I don’t have to rewrite a lot of code and the code that I need to touch can fairly easily be converted and adapted to work with the new system. The code abstraction also allows me to use both systems together which will make transitioning from one UI system to the other a process where not everything is gonna be broken until the last menu has been converted but can rather be a one menu at a time thing. This essentially allows me to not do all menus at once but rather do one menu every so often while also working and progressing in other areas of the game. This also allows me to keep certain menus based on the old system where it makes sense. This can be the case where the new system is currently lacking some functionality. Working on the transitioning so far definitely turned out to be much easier thanks to that.

While working on all the UI and code for it I was also looking into localization. This makes sense to do now while the UI is being reworked to not have to do extra work after all the menus are built. I was considering using Unity’s official localization package but decided against it and rather go with an asset I know and have used in the past. Since I will do the implementation of localization using a file on disc it won’t matter too much which direction I go now as long as I implement the localization with a layer of abstraction. Doing that will allow an easy replacement of one system with another in a matter of hours if need be. This could be the case when the localization package by Unity is a little bit more feature rich. It would definitely make sense at that point because it’s built on a system that my mod system utilizes and would allow me to extend localization using the mod system. This would come with a good amount of benefits but I leave that up for evaluation in the future and focus on the abstract implementation for localization now while working on the new UI implementations.

I also updated the main project and all mod projects to Unity 2022.2 like I said in the previous devlog which went without issues so far. The mod system also received runtime code compilation this week again as I have reimplemented the asset required for that functionality. While doing that I did a little bit of work on automatic asset detection to make things easier on myself in the future as I am using a good amount of third party assets. Previously I would have had to do this manually. This wouldn’t be a big deal for me but since I am also preparing some of my own systems to be packaged into assets and sold in the asset store it is necessary to have such a detection system so things don’t break when someone else is using my code. While working on these parts I also managed to find some time to extract and organize additional code from the old main project. Now there isn’t too much code left in the old project to be converted into packages. I hope to have that all converted and nicely linked up with the new multi project workflow within a few weeks.

I’m pretty happy with the progress I made this week. Really enjoying the experience of significantly improved iteration and implementation times thanks to those changes. While it does take some time to do these adjustments and changes I am very confident it will pay off big time in the future since it’s already starting to pay off before it’s even fully completed.

Notable tasks this week:

  • Started and connected new UI Toolkit codebase
  • Evaluated Localization implementation options
  • Updated projects to Unity 2022.2
  • Set up code support for mods
  • Extracted and bundled more code from the old project
  • Added automatic third party asset detection for easier integration

Wishlist on Steam

Join the Discord

That’s all I got this week. I hope you are all doing well.

Stay safe out there and I’ll see you next week.

Get Ozone Wipeout

Leave a comment

Log in with itch.io to leave a comment.