About three months ago, while working on a game I’ve developed a pretty simple but kinda useful asset. A tool that generates 2D mesh for multiple simple shapes (link below). I thought I could sell it on the Asset Store for a price of $4 but it got rejected for being too simple. I saw much simpler assets on the store so I thought that maybe that problem is that I was asking too much for such a simple script. Setting it to free didn’t help and it got rejected again. So I just published it for free on itch.io because ultimately I just wanted to publish it. Since then it was downloaded ~100 times and 4 people even opted to pay for it from $1 to $5 each. So it looks to me like it’s not worthless. But what would I have to do for Unity Store to accept it and for people to consider buying it? Should it be more complex and allow much more options? Should it be more complete solution to some problem?
I’m interested in developing more assets and editor extensions but I want to understand the rules. What should this asset contain for it to be accepted on the store and what should it have so people would be willing to pay for it?
As for how you could improve it. I’ve not downloaded your package, but looking at the video I think it doesn’t have this. You might be able to improve upon it by writing a version that extends Graphic/MaskableGraphic and implements ICanvasRaycastFilter. So that they can be used in combination with unity’s UI buttons etc. Although I personally don’t think it is required in order for it to be published on the asset store. It might make your package more interesting for people who intend to use it inside their UI…
Reading guidelines is a valid point. I didn’t read them carefully. For instance, my asset is not in its own folder. I thought that since it’s just one script and one prefab, there’s no need to complicate it and create folders for them. But it looks like it is a requirement. Documentation and a demo scene seem to be mandatory too.
I’ll add all this and will try to add more features to the asset and resubmit it after this.
Okay, today I’ve added new features to it: UI support (so now it can be put on scene or into canvas and it will work) and circular gradient. Added proper menu item instead of preset to drag to the scene. Structured the package better, added instructions, updated description, uploaded new video and submitted it again. I hope this time it will go through.
Couple things:
This would be more useful as an image generator. I wouldn’t use Meshes for 2D things.
Also: I’d want a function that returns the mesh (or .png) instead of having everything relying on Gizmos.
Also have a method that generates at runtime and that should take a ShaperSettings class as a parameter so it knows what to generate.
Also, write custom editors. Those help a lot. Here in two days i’ll have some spare time, so i’ll improve on this myself.
I can send you some progress if you’d like.
PS:
Your code is rather messy. No enters, ugh. I’d preffer longer but cleaner code. I find it easier to read.
Why? Sprite would use more memory, especially if you want to animate it. I’ve initially made this script for this game which I still haven’t finished but I hope to release some time soon. You can see how it’s used for pads and for ripple effect when ball touches the power-ups.
Sure. I wonder what you’ll come up with.
I will. I didn’t really knew much about them when I was writing this one. Since then I’ve learned a lot about custom editors and I’m currently making this editor extension (check out my twitter for more gifs).
I call it compact. I prefer when there’s less empty space. Usually I add comments instead of empty lines but there’s not much to comment here.
Responding to why i’d use sprites:
You can export them to PNG (if you use a texture before converting to sprites)
You can use 2D Colliders (IIRC)
It just feels more natural
You don’t need to use gizmos (which really aren’t good in this case, as it depends a lot on editor)
Here’s that game I was talking about earlier. I also use vertices generated by this script to create 2D colliders. You can use 2D collider on any object.
So the asset I’ve resubmitted got declined with no explanation at all. Just “We’ve reviewed the submission and consistent with the criteria considered in our approval process, we have chosen not to publish this asset. However, we greatly appreciate the time and effort spent in preparing your submission.”
They appreciate the effort but don’t care to explain why they’re declining it. And they didn’t respond to my emails so far.
After being declined 3 times it finally went though. I’m still not sure what exactly was wrong before since nobody replied to me. I’ve seen no communication from asset store and support yet except for declining and accepting with no reason given. Anyway, now I can work on improvements for this asset.
Congrats on release. I could use my imagination on how this tool could be helpful.
One thought to keep in mind, always be thinking about the end user experience. One of the reasons Unity requires this set up to keep a scene/project organized. When a developer has a populated scene/project having a simple folder to isolate a tool is better organization than importing directly into the project folder regardless if it is only one script and one prefab.
The asset store team unfortunately does not have time to customize every response when the submission doesn’t follow the guidelines. Although people have said when responding directly to the rejection email, they eventually receive feedback on the submission that helps improve the submission, the response can be delayed depending on the submission back log.
I think providing both options - to generate 2D or 3D would be the best for the asset provider and the end user.