GO Particles - Emit prefabs as particles with collision, animation, etc..RELEASED

Hello Everyone

We have released a new package called GO Particles and with it you can emit complex prefabs and meshes through unity’s particle system, animate them, detach them at any point of time through a timer, on collision or through scripting! :smile:

Some of the features supported by the system:
1- Have a list of prefabs or meshes and let them be emitted from your particle emitter.
2- prefabs can be as complex as you want with scripts, animations, nested childs, anything a prefab can take the system can take.
3- force the object to follow the particles animation or break the connection with the particle animator through time, on collision or by scripting.
4- You can randomize the selected prefab or mesh from a list ( note that some cases are still buggy)
5- 2 examples included,the first is an exploding asteroids and the other is a lightened ball (a ball with animated light).
6- Automatically destroys game objects with there energy reaches 0.
7- You can simulate in edit mode and optimized in a way that you can clear the cache objects.
8- the system does not do any unnecessary instantiation of objects.
9- Full support channel within the package, direct links to our video channel, support and feedback email and more to come as your satisfaction is our first priority, don’t hesitate to contact us in case you needed any support, help and any features that you would like us to include in our next release.

NEW: we have updated the package to do pre-instantiation of objects in the edit mode by checking a box in the inspector so you can only have those objects instead of multiple objects being created at runtime (optimized for mobile)

Finally you have the source code so you can extend it in any way yo want :smile:

All of this is only for 40$

Check out the demo scene

The Demo Scene is an asteroids that got emitted from a mesh emitter and when collides with the ground explodes.

Find it here at the Asset Store

some optimization results are shown below

very impressive set of features, I wonder a bit about the memory footprint and cpu usage on a device like the iPhone 3GS, seems like a VERY good purchase for desktop.

That totally depends on the complexity of the prefab itself and the settings in the particle emitter, it basically create instances of the prefab and attach them to the particles, unneeded instances are always removed and instances that are not killed are reused to reduce CPU usage, the code is all yours as it is available with the package so you can enhance it in the way you like and we also welcome any requests or to do customization that can be part of the next release. :smile:

a VERY key NEED for mobile buyers will be the ability to PRE-INSTANTIATE(on scene load/awake) a specific number of particle(objects, billboards, whatever), so that they can be recycled, and not created destroyed during gameplay. If you added this feature, you’d have potentially TONS of Mobile Dev purchases

Yes, this is available as well, as you can simulate creation in the editor but you need to comment one line of code which I will make it an option in the inspector through custom compilation and I will do it right now and resubmit to the asset store :smile: but unfortunately I don’t know how much time it will take to be approved by Unity since this package was submitted on 8th of June and approved yesterday :frowning: however if you dropped me an email then I can update the code for you until it gets to the asset store :smile:

my email is bahaa@mixeddimensions.net

we have updated the package to do pre-instantiation of objects in the edit mode by checking a box in the inspector so you can only have those objects instead of multiple objects being created at runtime (optimized for mobile) :slight_smile:

Its pending review from Unity :smile:

excellent news, and a great addition for mobile development! Thank you MXD

Your welcome zhx :smile: and we will keep on adding more additions thanks to your feedback :wink:

when you mention that “You can randomize the selected prefab or mesh from a list ( note that some cases are still buggy)”, what exactly does that mean? are there instantiation errors, random selection erros for lists of prefabs, etc?

when tested over some settings, the placement of the object my change into another particle when other particles are marked to be destroyed, when it is not marked to be destroyed it works fine but when we did the implementation of pre-instantiation we didn’t notice any misplacement due to the fact that you would not destroy your cached objects.

To be fair I haven’t bothered doing that for my mobile game, I just instantiate and destroy around 10-20 per frame. I guess 10-20 is a small amount and I could optimize that.

most likely you would not need more than that but in some cases you may want to have a complex prefab as a particle “one with nested children within its hierarchy” and so instantiating it on every frame may be a preformance killer especially if you want to have a AAA quality game you need to optimize each and every particle in order to get the high quality look and feel while keeping your performance, one of the cases that can be done with this is to create some sort of liquid simulation “small spherical meshes that interact with physics and gets combined together or detached when colliding or a particluar force hits a specific point of the mesh and such stuff”, you can’t achieve this if you instantiate and destroy them on each frame because you need to maintain the state of it as well as it is very costly because you will need a lot of spheres to accomplish that!

A new release with pre-instantiation of particles is available Here :slight_smile:

To give you a deeper look at how this may help especially in mobile development please take a look at the below image which shows that you can optimize memory usage by up to 80% as well as you can also optimize the CPU usage by up to 70% or even more through good usage of the GO Particles package and through using the “use editor generated particles” option! the image shows a case (Asteroid example available with the package) where performance is measured on the peek usage after around 250 frames.

One more thing :slight_smile: we will add billboard prefab in the next FREE update so you can used it as a replacement of the normal particle renderer and enjoy all these performance optimizations with normal particles if you don’t need the prefab or mesh part.

excellent display of what such an optimization can produce, especially with mobile devices in mind. Thank you for quickly addressing that key aspect.

Thanks zhx, we are thinking also of supporting particles on animated skinned meshes so the particles emitter emits particles and flow the animation of the skinned mesh maybe this can add more possibilities for particle systems.

Hello, I am sorry for bumping a very old thread, from 2011, but I have been searching on the asset store and also on the forum or any other website for something that may be similar to this asset and have not found it yet

This asset is exactly what I want, but is not available anymore, so please, I want to know if someone knows about any asset that can emit a group of different prefabs like this asset can do.

I wonder why there is no prefab emitter available for Unity?

As far as I know you can not use the Unity particle to use Prefabs, is only possible to use meshes, or I am wrong and there is a possible way?

I have seen that on Cinema 4D there are objects emitters that will emit continually prefabs and you could fill an empty objects with these emitters

Thanks very much for any possible help