devNotes 5-09-16 events, vizEls and spinerettes


To make a Particle Playground system emit particles manually from script, where you for example determine the position, velocity, lifetime and color can be done like this:

How Particle Playground 3 uses threads

Every particle system runs on multithreaded calls to relieve the main-thread where MonoBehaviour runs. Some functions will create yet another thread for performance, such as when updating chunks for the Particle Cache, calculating positions for Skinned World Objects and running the turbulence algorithms.

Certain functions in the Playground can’t run on a second thread due to the non thread-safe Physics class. This affects all methods relying on Raycasting such as collisions, painting and projections. Your particle system will still be calculated on a second thread but leave the non thread-safe calculations to run alongside a particle system’s Update loop. Every thread causes a small amount of memory garbage which will need to be collected at some point.

Using threads yourself

The threading solution is very simple and you can make use of the Playground’s multithreading by wrapping your own code in a lambda expression to PlaygroundC.RunAsync(), such as:

Note that you need to work with thread-safe classes in Unity to send data to another thread.






Overview: App targeted for mobile – geo-rotated – 3d rendering.

Option for camera pass through

Option for Marker Located AR – Card Demo