Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

Most popular levels

Discussion in 'Unity Analytics' started by michael_voltage, Mar 4, 2015.

  1. michael_voltage

    michael_voltage

    Joined:
    Feb 27, 2015
    Posts:
    30
    How do I setup my custom events and data explorer, so that I can analyze what "levels" are the most popular in my game?
     
  2. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    630
    Right now this is hard to do, because we're not exposing the right data to you. Specifically, we don't expose categorical event parameters (strings, booleans) in a useful, bucketed way. This is in the process of being fixed and we think you'll have the fix in your hands in the coming weeks, though that is just an estimate, not a promise.

    My suggestion: send your levels as strings (e.g. "Level1", "Level2"...). When the system is functional, you'll be able to see something along the lines of a pie chart, showing your popular levels. Even though this data is not exposed, that doesn't mean it can't be captured. So you can send it today...it'll just take a little while until we can display it back to you.
     
    smitchell likes this.
  3. michael_voltage

    michael_voltage

    Joined:
    Feb 27, 2015
    Posts:
    30
    Thanks for the confirmation Marc!
     
  4. michael_voltage

    michael_voltage

    Joined:
    Feb 27, 2015
    Posts:
    30
    Just more context, I hope to be able to breakdown level-by-level such metrics as time spent in each level and if there is any level players may frequently quit at (maybe due to hardness or even boredom).

    Should I expect these metrics to be supported in the future? and what should I put in place now to capture that data?
     
    Last edited: Mar 6, 2015
  5. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    630
    I don't know of anything we're planning designed to specifically handle this sort of analysis, but it's a good idea. Level Quit could certainly be handled by a custom event, but time-on-level is likely harder. I'll have a think on this and chat with the team to see if there's a good way to address this.
     
  6. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    630
    After a chat with another engineer, I'm inclined to think that your best solution for time-on-level is likely to handle it on the client, and then send it to us in a custom event.

    At level start:

    float StartTime = Time.time;
    string Level = "Level1"; //or whatever

    At level end:
    float EndTime = Time.time;
    Dictionary<string, object> dict = new Dictionary<string, object>();
    dict["level"] = Level;
    dict["timeOnLevel"] = EndTime - StartTime;
    UnityAnalytics.CustomEvent("gameOver", dict);

    This solution will work once string values are properly supported (as I mentioned above). Bottom line is that the details of time-on-level are probably too particular to your game for us to build it in a generalizable way. But it's simple enough for you to implement on the client and just send it as a custom event.

    Hope that helps!
     
  7. michael_voltage

    michael_voltage

    Joined:
    Feb 27, 2015
    Posts:
    30
    Thanks again Marc, thats presently the method we're using now with sending the client-side duration for the events we want to track. Can't wait for the string value support to see the results! ;)