Silly Unity3D…

I love Unity3D. The game engine is still one of the most intuitive I’ve used, it’s easy to port to almost any platform, etc.

But after compiling my final game project, I was surprised that some bugs popped up. I suppose issues like this are almost certain upon finishing a project, and I’m lucky I didn’t spend more than a couple days on it. But still, you’d hope what you play in the editor can be done in the exe.

I encountered two major issues that I couldn’t find from anyone else online, one of which I mentioned in a previous post. I’ll tell Unity about it eventually, but here they are:

Cross-version issues not using Pro features
– I originally made my game in a free version of Unity, and have since finished it in a Pro version, upgraded version number. Most Pro features work fine, but “Image Effects” and certain shaders didn’t work at all in the compiled build.
– FIX: export all levels/assets into package, import new package into brand new project opened in Unity Pro. It took a long time to import all of that, but in the end it worked.

Memory Issues with .assets files
– Unity compiles it’s assets into .assets files, one per level. For efficiency, it looks at previous asset files to avoid redundancy and avoids duplicating assets. But some of my asset files were larger than I thought, causing the game to crash upon opening, in strange places of the game. Apparently, the individual .asset files have a 2 GB limit as per most 32-bit applications without crashing, even though the final game build can use up to 4 GB without crashing upon execution.
– FIX: when you build the game, you can choose the order of the scenes/levels as they are built. This also decides the order the .asset files are made, and therefore effects the size of them if previously used assets weren’t in previous .asset files. I recommend moving around level order, with most expensive scenes near the end, so that their asset files can use assets already called upon in previous, smaller levels (and their respective .asset files). This worked out. A great trick to get around game crashes based on RAM. But it would be nice if Unity could simply break up .asset files to avoid this.

I hope this helps anyone with similar issues.