Have a couple of questions on what Unity views as best practices for code assets.
Bundling of other assets with your asset
The common one here is stuff from Standard Assets, but I also have 3-4 dependencies on other free assets. It seems to me that the best way to include these is to have them at the same level in the hierarchy that they would be if you imported them directly from the asset store. This way Unity will detect it and you don’t end up with duplicate and possibly conflicting assets. I found this especially important with models having the same name, which can cause all sorts of problems.
Updates
Does Unity mind if you have an alternative update path along with your official asset store releases? I would like to make important bug fix releases available immediately for download on my site, so users don’t have to wait for Unity to vet everything.
Package size
My .unitypackage file is sitting at 310mb. Most of that is third party assets. My asset is a world building system and I use a number of free models and textures to create a basic set of structures and building blocks that are ready to use, as well as using them to make my demo scene. I thought about creating a secondary package that users can download that has the demo, but I don’t want to make users do that just to get a working product. I know a lot of model/art assets are this size or even bigger, but I was afraid that the Unity folks might balk at having a lot of third party assets bundled. It’s a complex enough system that it wouldn’t be readily apparent as to why they are really necessary.
I’m not with Unity, but here are my experiences as a publisher:
Yes, please keep supplemental assets in their original locations and with their original metadata. Take, for example, MouseLook.cs. If you duplicate Standard Assets’ MouseLook.cs, move it elsewhere, and rename it back to MouseLook.cs, Unity will treat it as a new file. If your customer has already imported Standard Assets’ MouseLook.cs, the compiler will complain about the duplicate. This will prevent the customer from compiling their code or playing any scenes, so they may leave a bad review that your product “broke” their project. If your MouseLook.cs has the original metadata, Unity will skip the import if it’s already in the customer’s project. When you upload using Asset Store Tools, you can select the root folder. This will upload everything except for the AssetStoreTools folder.
No, that’s fine. A lot of publishers do this. You can even sell on your own site as long as you don’t undercut the Asset Store. You can write a little PHP code to validate a customer’s Asset Store invoice number on your site. The instructions are on the Asset Store Publisher page, Verify Invoice tab.
You definitely want some kind of playable example out of the box. I don’t think Unity would mind a large package. Your customers might, though, so make sure to put all the example assets in a separate subfolder that they can delete without impacting anything else. Before submitting, make sure all of your supplemental assets are licensed for inclusion in Asset Store products. Unity’s free assets are okay, but other publishers’ free assets frequently aren’t. Just because it’s free doesn’t mean the artist will allow you to include it in your product. If you have a question, contact them to make sure it’s okay first. And best of luck with your submission!
Great advice TonyLi
Just wanted to echo the last part of your advice. Just because an asset is free doesn’t mean it can be reused in a “for profit” pack. Double check all free content used to be sure first - or all your hard work could be removed from the asset store quickly.
So actually while talking to one of the owners of a free asset I wanted to use, he brought up the point that the asset store terms and conditions themselves don’t allow using a free asset as part of a paid asset, that it counts as a resell? Can anyone confirm that? If so it’s unfortunate, because my particular use actually just gets other assets more exposure and I’ve had very positive responses talking to asset owners about re-using their free assets.
It’s still okay if you can provide documentation to the Asset Store folks you’ve arranged written permission with the author to resell/repackage it. But he’s correct that you can’t resell or repackage someone else’s assets without their license to do so.