New Open-Source Unity Packages: Multiplatform Build Settings and More!


A while back, I mentioned in a tutorial that I started splitting up a large Unity project into small Unity packages. I’ve made a significant amount of progress since then, and would love to share the results so far. Note that the majority of these packages are marked preview in case I make changes as I continue working on putting together more tools.

Multiplatform Build Settings

In my opinion, this is probably one of the biggest tool amongst those listed below. Multiplatform Build Settings is an asset and a tool where one can setup build settings for each platform, then by clicking one button, build a Unity game to all of them. Makes building projects a lot quicker and more convenient, especially within that Ludum Dare submission hour!

Also integrates with Web Security package, listed below.

Embed WebGL Template

Many have likely noticed this, but Unity’s WebGL builds aren’t well-made for embedding in web portals like Itch.io, GameJolt, etc. Both the default and minimal settings for WebGL build templates still has borders seeping into the iframe. To fix this, the Embed WebGL Template is an importable set of assets that neatly fits within the iframe the WebGL build is embedded in. The game will even change resolution to fit the screen if through the web portal’s options, the player chooses to full-screen the game. In addition, the template also displays a number indicating how much progress the initial loading process is taking.

Web Security

A common problem when uploading WebGL builds to web portals is that it’s very easy for a nefarious web user to download the source of the build, then re-upload it to another website for profit. The WebLocationChecker script, bundled in the Web Security package, resolves this issue. by retrieving the domain the WebGL build is running on, and matching it to a list of expected domain names. While the script leaves it to the developer on what they want to do if the script indicate the web domain isn’t valid, one built-in option is to automatically redirect the web user to a different website, provided the web portal gives the build permission to do so. For C# developers, this script should be very easy to use: it only takes a few lines to get started.

Cryptography

Last but not least is the Cryptography package, which as its name implies, has a series of tools for encrypting and decrypting data. The highlight is StringCryptographer, an easy-to-use asset that can be used to encrypt and decrypt strings.

Final Notes

There are some other packages I have released, but most of them are libraries intended to support all the packages above. These include:

  • Common – Base library for nearly everything I work on.
  • Web – Base library for web-related packages.
  • Global – Library for scripts with expanded scopes.

I’m slowly working on documenting and unit testing these libraries, but expanding the current tool sets and adding new features are my focus right now.

Leave a Comment on New Open-Source Unity Packages: Multiplatform Build Settings and More! | Categories: Uncategorized

Accomplishments for March 21, 2020


For those not in the know, the entire New York state is in a complete shutdown. Social isolation is practically mandatory at this time, and as a fairly social person, this makes the situation fairly difficult. I confess that yesterday was probably the lowest point for me this week, so as a way to heal myself, I figured I’d list what positive accomplishments I made this week. Hopefully, I can keep a log on weekly accomplishments while the shutdown is happening.

Actually started applying for work

Part of the reason why Friday in particular was a difficult day to me was that I was getting resume rejection emails. But in hindsight, this can be viewed as a good thing: for the last month and a half, I’ve been working diligently on developing a creative portfolio, demo reel, and resume. In a way, receiving rejection emails is a good indicator I’m finally past the job search preparation phase, and now in actual application submission stage.

In addition, I’ve been keeping an archive of resumes and cover letters I’ve been sending out. Now that there’s a decent library of them, it makes it easier to compose them as I can mix and match excerpts of prior cover letters to cater them to a specific opportunity. It has helped me keep up to pace with submitting at least one new application every day. That’s a significant progress from where I started early February, and I should be proud of that.

Improving social media presence

One of my new years resolution for this year include improving my social media presence, and I think I’m making some significant headway there. My LinkedIn and Twitter has near-daily posts and engagement with my network in some form, and I’m slowly but surely getting suggestions from others on how to improve my job search endeavors. Given where I started with near-zero engagement, I think this is a pretty huge accomplishment.

My Github activity has increased noticeably as well, though it recently dropped due to the amount of time job search is taking over at the moment. In theory, with a better archive of resources I have available now, I should be able to reduce the time spent job searching, and return back to certain open-source projects I wanted to start again.

Started researching into Unity’s own beta projects

Lately, I’ve been hitting a significant wall with Air Flip Drive: I’ve acquired some technical debt and design problems. Some show-stoppers include:

  • Nauseating and unhelpful camera.
  • Unengaging track design (generated by a procedural algorithm).
  • Performance problems.
  • No online multiplayer support implemented.

I’ve actually strongly been debating about developing the game back from scratch again given a number of fundamental problems. To help with that decision, I’ve finally started exploring into Unity’s sample DOTS project to check its stability. Alas, it isn’t as stable as I have hoped.

I still have a few more Unity projects I’d like to research into before returning to game development again. In particular, I’ve been meaning to break-up the Template Unity Project into smaller packages, both for reducing coupling, and to improve compilation time. Anything to accelerate this development process would help, as well as letting me improve Air Flip Drive indirectly.

Keeping a regular exercise routine

As I’m no longer working in a coworking space, the extra time has given me an opportunity to exercise more often. It’s still only a short, around-an-hour-long walk around the now-empty neighborhood, but I think it’s immense progress from when I simply didn’t exercise at all.

Now have a decent livestream setup

Since the TVGS Sunday streams needs to be held outside of our usual studio, I’ve finally made preparations in my very own apartment to start streams. This also opens the opportunity to start working on my own project livestreams in the next few months, which I’m really looking forward to.

Those were the accomplishments I’ve made so far, what about yours?

Leave a Comment on Accomplishments for March 21, 2020 | Categories: Uncategorized