**Overview
**Atlas provides a rudimentary form of tracking and logging for your UE4 title. There are two parts, the UE4 plugin (the titan) and the server (a celestial sphere). The plugin is responsible for sending the beacons and identifying the user to the server, and the server handles aggregation, caching and state maintenance.
**
Alpha Lock
**Each title added to the server provides the manager with the ability to set a default access ability to any unauthorized user – Allow Game, Allow Editor. The plugin sends the users credentials and allows your title to act on the response, either exiting immediately or executing a method to allow you to update your UI, change values or do something more fun like blow up someone’s avatar.
**Server, State Maintenance, Data Aggregation & Caching
**The server allows for editing of the values and reviewing state. From a single view you can see when a given user last used your title, update their access and or remove them from the listing and revert them to anonymous usage.
The reporting portion of the tool is not mature enough to be worthy of documenting. More details will be shared as the application grows. You can see a sample of the server here: atlas.gneu.org.
Everything is functional as of now. There is a lot of flexibility built into it already, so customizing the beacons, reporting and such is definitely a realistic expectation.
There is actually a team doing exactly that. Look up Netherdeep. I am still getting up to speed with their project but am planning on being a contributor once I get their methodology down.
This provides access management, allowing you to control who has access to your game/editor along with a roll your own approach to analytics and tracking.
In your module’s cpp file you will need to #include "Atlas.h"
within your module’s startup you will need the following:
if (!Atlas::IsAvailable())
{
return;
}
Atlas &pAtlas = Atlas::Get();
pAtlas.SetApplicationID(TEXT("ProjectName")); // Application Name
pAtlas.SetServer(TEXT("http://localhost:3000")); // Host
pAtlas.IsInternal(true); // Passed along to server for tracking & can be used as a flag to control access
pAtlas.ShouldForceQuitOnFailure(true); // When the host responds with a failed request the application will force quit
pAtlas.CheckAccess("anonymous"); // Client Name
That will allow you to handle user access. Of course you can (and likely will) change Project and Client Name values. The analytics portion is in a lot of flux so for now I wont get into that.
I am going to be pushing some enhancements on that front in the next few days to a week, but really I need some people using it and giving me input on what it is (and isn’t) supposed to be doing. If I develop it without the input from you guys its going to be customized to my needs and wont likely meet yours.
I’m interested in the analytics side, but I’ve been holding off on trying it because you’ve mentioned it’s going to be changing significantly. If you need feedback now I can take a look though.