First experiences with Unity PSM publishing

The following blog post, unless otherwise noted, was written by a member of Gamasutras community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

Some months ago, Unity published its first public beta version of PSM engine, and I had a PSVita that a client traded me for some work so I started porting the game Silver Zombie to it, the first experiences were a bit disappointing, the console crashes sometimes, shaders, touches and sounds were not working as expected...wow, that was horrible, then I realised step by step how to fix all the issues.

HOW TO DEBUG

There is not an actual debugger attached to Unity PSM, but you can export the game and attach a console log watch, here is how. I hope they will add a debug tool like the PSM Studio debug tool.

This is great to know what is happening with your game, the engine prints out a lot of info you can analyze to detect problems and fix them.

- Vita crashes happens in some weird situations, like when you are using gpu skinning acceleration and the user quickly powers the console off and then on while game is running, you have to deactivate this option in the export preferences. Here is the post, this issue is going to be fixed in the next public version.

- Touches and accelerometer are not working as well as it works with mobile devices, imo they need to make some adjustments to these inputs, because the values are not normalized in a proper scale, so you have movements too fast or too slow.

- Once your game is approved and published you may see a warning like "THIS CONTENT IS NOT COMPATIBLE WITH Android™ DEVICES" in the online shop, this is a new issue with PSM SDK 1.21 that will be fixed in new versions.

UNITY PSVITA PERFORMANCE

The engine works very good beside those bugs, (almost native performance) running a game at +150FPS when in a Nexus7 runs at 30-40FPS is nice. But when you have more than 20k polys in screen and more than 120 draw calls, optimizations are needed like I do with Bomber Farm 3D: reducing Camera FOV and clipping planes for example, optimizing memory, polycount, draw calls from GUI and 3d objects mats,etc.

PREPARING THE GAME FOR THE STORE

Once you have your game up and running you will need to prepare the meta data. The first step is to change the Build Type to Master in Unity and hit the Build button, it will contact Sony servers and upload the signed game. But first, open your /Assets/Plugins/PSM/app.xml with the Publishing Utility for Unity. Fill the extra meta-data with this tool, get PEGI and ESRB certifications (numbers), check options, and so on.

Get ready a description translated to all the markets you are selling your game in, if you are wanting to sell your game in Japan (which you may want to) you will need to have a proper translation of your game desc to japanese.

Make screenshots with different languages, zones of your game, select carefully because the publishing process can take up to 2 weeks.