Tracking Core¶
Set of components and utilities to perform tracking on a game. This package should be included by all packages that generate data that requires tracking.
Systems that actually send the tracking should be implemented in different modules that belong to each company or game.
How to set up¶
- Create a
TrackingCoreModule
and attach it to your bootloader (usually you will want it present on all ECS Worlds, persistent or non-persistent) - Create a scriptable object
TrackingEventFilterConfig
if you plan to filter which events you want to track and add it as a config to the bootloader (Optional) - Create your own implementation of a
ITrackingHandler
and serialize it on theTrackingCoreModule
- React to the tracking events received, bundle them or send them to your tracking backend at your will
How to create new events¶
It is recommended to download the Documentation, where you will find: - How to create new events
What events are already existing¶
It is recommended to download the Documentation, where you will find: - The list of events existing
FAQ¶
Q: My studio has similar tracking events but the Ids differ from those used in stratkit, what do I do?¶
A: Ask the developer of the ITrackingHandler
for your studio to add a remapping function to turn the specific problematic Ids defined by Stratkit to those that you want. See SampleTrackingHandler.cs (RemapId).
Q: There are certain events defined in Stratkit that we don't want in our game, can I remove them?¶
A: Yes, simply create a TrackingEventFilterConfig
and decide which events you want to ignore or accept. Don't forget to add this config file to your bootloader.
Q: We have a similar tracking event defined in our studio but we need to change certain data (e.g. our studio logs Ids as numbers and not as text), what can we do?¶
A: On the implementation of the ITrackingHandler
for your studio, change the format to one that is adequate for your studio. If this is not possible, consider creating a system on your studio package that updates before the TrackingConsumerSystem
and convert or add the required information to custom events.
Q: We need more tracking events than those provided by Stratkit, how can we achieve this?¶
A: If you believe this tracking event could be useful for other teams, talk with stratkit developers to get it included into the engine. Other games/studios can filter it out if not desired. Alternatively, if this is a very specific event just for your studio, you may create your own events defined by your studio. Just ensure there are no Id collisions with existing ones.