Unity's Staging Packages
Monday, April 16, 2018Ya'll know what Unity's Package Manager is right? It's an awesome way Unity is making itself more modular, being able to add functionality and update that feature in an isolated way instead of the whole editor. If you open the package manager you might see 5 or 10 packages. But you can jump on the bleeding edge and get access to a few other hidden packages. Open up your packages/Manifest.json file and add
to the bottom, before the closing "}".
You'll now have access to a few more packages that you probably shouldn't be using in production.
A ton of packages aren't listed. You can see a list of them here. (I found this link via google by searching for com.unity.progrids).
I think some of them have been discussed before, but I've never heard of some of them. Here's a few I looked into.
Was already using Probuilder as a package - now you can use progrids as a package too!
Seems to be a way to use reflection without using reflection. My impression is that you mark an class with a special interface, and it'll generate code to be able to traverse those properties. For doing stuff like serialisation. My guess is that this is an effort to move away from the SerializedProperty shit in the editor, and share that code with the runtime.
Localization - finally. Didn't actually get it to work because I'm using 2018.1 and it requires 2018.2, but the documentation shows editor windows that you'd kind of expect.
Doesn't indicate how you use the locales or anything. I was hoping to see integration with UI elements that accepted strings, but didn't see any indication of that when I flicked though the code.
Seems to be generic collections (List, HashMap, Queue) coded for performance. Specifically they seem to be heavy on pooling and manually managing the memory allocation.
Not sure if it's another editor, or named wrong, but the contents seem to suggest that it's used for creating really tiny builds. Unity touched on this at GDC I think, something about making annoying HTML5 ads more annoying by integrating games into them.
Apparently enables the ability to give an asset an "address" (which seems to just be a unique name), and then "load" it via that address, no matter whether it's in an asset bundle, resources folder or anywhere else.
The idea seems to be that you can add new resource providers, so loading assets "by name" would happen via a single interface, and you can make resource providers for resources, asset bundles and whatever.
I only really looked into stuff that peaked my interest, so there might be other interesting stuff there. Let me know in the comments if you see anything cool.
Turn your phone to view blog list