Firefly Framework – a small insight
The Firefly framework is our C# based development framework for Unity3D, that we use to build our virtual reality experiences. As we build our stuff we expand on it and improve it, with the goal to hold a tool in our hands that will boost our development productivity.
I want to lift the curtain a little to show what we have created up to this point.
To do this , I will present a list with our classes framework folders and explain what kind of useful classes they hold and to what purpose.
so here it is …
Actions (FFAction) are classes with code that be executed within a time line. Actions can be organised in action lists or action trees and can be parallel or serially linked.
This will hold all Artificial Intelligent support classes (like FFBrain) that we can use to implement believable AI
Assets are pieces of content that can be downloaded at runtime or loaded from resources.
This folder will contain our base classes like FF, FFObject and FFBehaviourObject
Classes in this folder will give you access to data like XML, JSON and Databases (MySQL)
All unity editor integration stuff is in here
All objects in our virtual reality experiences or games are enitities. Is is the framework’s base object.
Sprites stuff, Sky domes , etc
All our Unity GUI integration code is in here
Code handling input like keys, mouse but also touch gestures, game controllers
and even other input devices.
Managers control specific process/update related (Monobehaviour) framework functionality, like loading of assets (AssetManager), executing actions (ActionManager), processing timelines (TimeManager) .. and more…
Everything related to movement, like FFMotor classes and Mechanim integration code
Code to quicklt and simply setup network based apps and games. Also base classes to integrate 3rd party tools like Photon Networking or Google Game Play Services
Our FFBrain (AI) driven entities use FFSensor classes to become aware of their environment. The sensor classes are in here.
State Machine classes
Time and timelines
Lots of different tweens are possible
Even more code……
I will post some more in depth info about seperate folders/classes/systems in future posts.