Before the AssetStore review, I’ll post these examples I built!
They will be in the final product and well explained in the project.
Activity: Update Engine (Threads Unity) [Example02] This example shows the usage of the interfaces in place of MonoBehaviours. Basically it creates 25k executing nodes, so the user can see the perfomance of them running Update loops. [Example03] This example shows the effect of running heavy tasks on a single for loop versus using the Activity’s Thread functionality.
Timer: Time based functionalities. [Example01] Shows basic usage of the Timer class.
Tween: Script animation running on top of the Activity engine. [Example01] Shows basic usage of the Tween class. [Example02] Shows a more complex usage of the Tween class.
How well does it integrate with the unity serialization system ?
How easy it is to create custom inspectors and windows working with the new components ?
I kind of didn’t understand the serialization part.
But I would say, for instance, that you could create a ScriptableObject with Update/LateUpdate features if you wanted.
Or create a Component with inspectors of AnimationCurve, float value, string property,… and describe a tween animation with it!
Basically the Activity,Timer and tween features don’t need a Component attached. You can use them anywhere in your code and they simply work.
For the Activity part, the usage is simple:
You can create either a MonoBehaviour or a normal class.
Make it like this: ‘class YourComponent : MonoBehaviour, IUpdateable { … }’ or ‘class MyNormalClass : IUpdateable { … }’
Register your instance in the engine to make it run the Update: ‘Activity.Add(this); //where ‘this’ is ‘IUpdateable’’
Also ‘Activity’ works like a base class for things you might want to have an Update loop. Timer and tween extends it for instance.
I think by the end of this weekend the framework will be available!
Thanks for your interest!
=== edit ===
Adding an image of usage of the Activity part.