Who? What? Why? Huh?
Hello, my name is Travis, principal developer of Box House Games. Since January, I have been working on my first "I'm going this alone, I'm making a product, and I'm going to sell it, gosh darnit!" indie project. [Truthfully, it's the 3rd or 4th iteration of a basic concept I've been tinkering with since last summer, but January was when a lot of the pieces fell together into a cohesive whole and became a "product" in my mind.] Since this is my first product, I knew it made the most sense to fall back on as much "out of the box" technology as I could without shoehorning in elements I didn't need. For me, this meant using Unity as a game engine - it allows me to quickly prototype ideas, it's fairly easy to use, and it has a free license that doesn't restrict me in any way that significantly affects my project or its design.
One of the biggest selling points for me is Unity's support for a wide swath of different platforms: Win/Mac/Linux PC, Mobile, Web... heck, even consoles if I can get a license. Of course, therein lies the rub: some platforms have an additional cost associated with them. Imagine my delight when I heard that Unity would be supporting the Playstation Mobile platform for Vita [which has been free since around last May]. For one, I like the Vita... it's a neat bit of hardware, and I want to see it shine. For another, using the PSM platform to sell games on Vita is free. And if it doesn't take significant effort to support a new platform, that's just going to expand my potential audience even further. Fantastic!
So, the information is out there to get up and running using Unity for PSM, and you can get much of it just by following the resources linked to by that story I mention above. However, I would like to compile as much of the process as I can, with some added details and explanations of things I didn't find so clear when I tried to get running with this. Hopefully this will be of benefit to others thinking of using this method of getting their games onto the Vita.
From A-to-B (-to-C-to-D): The 4 Big Steps to Running on the Vita
1) Register as a PSM developer & Apply for PSM Publishing License
The first thing you will have to do is register as a PSM developer. This more or less flags a Sony Entertainment Network account that you have (or create) as a developer for Sony's PSM platform. If you have an existing PSN account, you can use that if you'd like [I used mine], but you should also be able to make a new account if you'd like to keep your developer info separate from your personal info. Just follow the steps and input the relevant info; it shouldn't be difficult at all.
So, once you have registered as a developer, you can sign in to the PSM DevPortal and apply for a PSM Publishing License. This is what will allow you to generate a publishing key, deploy to the Vita for testing, and (eventually, this summer?) sell your game on the Playstation Store. Again, just follow the steps and input the info requested. However, you will have to wait before you are approved. For me, it took a little less than a week, but your mileage may vary. You will eventually recieve an e-mail with your confirmation and instructions on where to go to "purchase" your license. Don't worry, it shouldn't cost any more than the low, low cost of $0.00.
2) Install & Setup PSM tools
There are basically 2 parts to this: The PSM Tool Set that you install on your development machine, and the PSM Development Assistant that will be installed on the Vita. The relevant installation files (including the special version of Unity needed - see next step) can be found here. You will pretty much want to follow these directions for this step (and those that follow, really).
There are some caveats, though. One, you might have to install the PSM Tool Set before setting up Unity. Two, when setting up the Proxy Server Settings, you might have to select "Not use proxy server." This is where I ran into most of my issues, so I have tried to explain these issues and others in more depth below.
3) Install Unity [special version with Vita support]
You made sure to download the Unity editor customized for use with PSM, right? If not, try the "Download the public beta of Unity for PSM" link from this post in the Unity PSM forum. It is important to download and install this version of Unity, as the regular version does not have support for deploying to Vita using PSM. I must have not read that detail in the instructions I followed and was very confused when I could not "Build & Run" my game on the Vita. I would expect this to show up in future updates to Unity, but for now you will need the special version.
4) Deploy to Vita
So, after you have 1 - Installed the PSM Tool set and generated your publisher key, 2 - Installed the PSM Development Assistant on the Vita, and 3 - Installed the special version of Unity with PSM support, you can finally try deploying a Unity project to the Vita. You will continue the directions above at this point. The examples in these instructions assume you will be building the sample Unity project "AngryBots," but it will work just the same with any existing project you may have.
In short: You should make sure that the Vita is connected to your development machine via USB and that it is currently running the PSM Development Assistant. Then, go into the Build Settings menu in Unity and switch the platform to "Playstation Mobile." If you've already generated your publisher key, you can click "Build & Run" and your project will be copied over to the Vita momentarily.
Alright, now you should have your game running on a Vita for testing! Good job!
Some Important Notes & Information
- In case you are wondering and I wasn't clear about this earlier, using Unity for PSM will work for Free as well as Pro Unity licenses.
- Again, you must use a special beta version of Unity that has support for PSM Vita builds. The regular version of Unity does not support this build target.
- When I first tried generating a publisher key using the "Publishing Utility for Unity", it did not save the key correctly. That's okay, it saved on the second attempt. This didn't matter, as this is my first and only project (so far) as a PSM developer/publisher.
- The proxy settings for the publishing utility have been giving some developers problems. I do not use a proxy, so choosing "Not use proxy server" worked for me. If you do use a proxy and still have issues, try the troubleshooting page in the PSM Unity docs or try the Unity or PSM Developer forums.
- The reason you may need to install and set up the PSM Tool Set first is that the installer will set up the proper environment variables for Unity to use when building and deploying to the Vita. For some odd reason, even though I did this, Unity still got confused and threw some errors. After closing and restarting Unity, though, it worked. If you need to, make sure you have the SCE_PSM_UNITY and SCE_PSM_UNITY_DATA environment variables set up and pointing to the proper directories.
- Again, make sure that the Vita is connected via USB and running the PSM Development Assistant before trying to deploy your build to the Vita. It will fail otherwise.
- Make sure to check out the Unity PSM forum and PSM Developer Forums for any other issues you may encounter. This is all still in a rather young state and a number of problems have already been experienced by other developers. Chances are you will find someone who can help you.
Thats All Folks!
I hope that was at least a little useful to someone out there. Has anyone else tried Unity for PSM yet? Have any other issues you would like to share? What has your experience been like so far?