Search Unity

Exploring custom events data.

Discussion in 'Unity Analytics' started by Jog, Jan 16, 2015.

  1. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
    Hello!

    I'v done custom event which should send me average framerate and computer specification of player.

    UnityAnalytics.CustomEvent("ComputerSpecificationsInMainMenu", new Dictionary<string, object>
    {
    {"Average FPS", m_lastFramerate},
    {"SystemInfo.processorType", SystemInfo.processorType},
    {"SystemInfo.graphicsDeviceName", SystemInfo.graphicsDeviceName},
    {"SystemInfo.systemMemorySize", SystemInfo.systemMemorySize}
    });

    It works, and I have data collected from users already, but I have no idea how to track sent events so I could take a look at exact specifications combined with average fps performance. I know I won't be able to do this by metrics so I would like to get into the raw data. Is there any way to do this?
     
  2. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi Jog! I take it what you're after is to compare FPS to the stats of the participating system. There's a (somewhat awkward) way to do this right now, and we're working on a feature to make this kind of analysis easier.

    For now, you can export a CSV of the aggregated event data (you'll find this in the Data Explorer. Select your event and segment, click 'View Parameters', then click 'CSV' in the 'Custom Event Details' view.). With the CSV in hand, you can use any spreadsheet program to organize/graph your parameters.

    Obviously that solution is less-than-optimal, so we're working on a way to construct segments based on Custom Events. So in the (not-too-distant) future, you'll be able to build a segment called, say, 'Apple A6 Processor', and chart events/parameters against that segment.

    As for your ability to get at the raw data, that too is in the works, so stay tuned!
     
    monark and nicolas-garnier like this.
  3. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
  4. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Yeah, you're right...we're just getting started really, and there are definitely some things we need to do to improve how we show you some types of data (this will improve). In particular, we don't really show string parameter values back to you yet. So my solution above admittedly doesn't quite fill your needs.

    You can do this a tiny bit better by looking at averages. Here's what I want you to do (and you've done most of this before, so bear with me!)...
    • Go to the Data Explorer page
    • Click 'add custom event'
    • Select your event and the 'All Current Users' segment
    • Click 'View Parameters'
    • Now, in the Custom Event Details view, you'll see your event name, 'All Current Users', and 'count'.
    • Change 'count' to average.
    • Now click 'CSV'.
    The downloaded file for 'average' or 'sum' will be different than for 'count'. Average will give daily average values for FPS and memory. I recognize this doesn't really get you what you need, since you won't be able to compare FPS to platform. Do know that we're not standing still here; the team will soon discuss how we'll address this sort of problem.
     
  5. x-larrode

    x-larrode

    Joined:
    Sep 23, 2014
    Posts:
    3
    Well i've got exactly the same need.
    I'm developping a 3DViewer and i want to know which data is loaded on a CustomEvent ...

    Can we get all the JSON logs somewhere?
    Thanks
     
  6. andymads

    andymads

    Joined:
    Jun 16, 2011
    Posts:
    1,614
    I'd also like to see a nice breakdown of the parameter I'm passing with my custom event.

    I'm testing the Unity Analytics on a jigsaw puzzle game. I send a custom event whenever a puzzle is played, along with a single integer parameter to identify which puzzle.

    My count for Friday is shown as 27 'puzzle played' events. I'd like to see which puzzles were actually played but the parameter is not given either in the Data Explorer or in the downloaded CSV file.

    E.g. the breakdown for the 27 events might look something like this:

    Puzzle 1 played 12 times.
    Puzzle 2 played 10 times.
    Puzzle 3 played 5 times.

    Total 27 events.
     
  7. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    @x.larrode and @andymads

    I'm afraid you're in the same boat...this just isn't data we're surfacing back to you yet, at least not in this way. But we're getting enough feedback on this topic that I suspect we'll be addressing this very soon (no promises...I'm not the guy who can make those!).

    I urge you to be noisy about the things that really matter to you. Our development schedule is very, very much driven by what you guys tell us you want and need.
     
    monark likes this.
  8. anayu

    anayu

    Joined:
    Jan 21, 2015
    Posts:
    1
    Hi,
    I would like to know if download all the records for one event will be available in the future.
    I have this event game_over (level) and I would like to know how many times users have achieved each level. Count average or sum don't help me to understand this type of info.
    Thanks!
     
  9. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi anayu,

    This is a feature we've certainly discussed. It's clear that we'll be expanding the capabilities of the Data Explorer; the exact nature of the expanded capabilities (and in which order) are still being decided upon, so telling us you need it makes it that much likelier to become a reality.
     
  10. Twice-Circled

    Twice-Circled

    Joined:
    Sep 29, 2013
    Posts:
    16
    Hi, just want to make a bit more noise about the need for better tools for analysing custom event data.

    At the very least you need a way to get at the low-level data contained within each custom event, just a list of events with each parameter in a column would do for now, or even the raw data in .csv if that'll be quicker to implement. EDIT: Actually, I think I'd prefer the CSV now I think about it to make it easier to analyse.

    Once that's in, you can be safe in the knowledge that your users can get access to all the data they send up to the server, even if it's a bit awkward.

    From there it's about allowing us to cross reference between data to make correlations between users. I've worked on creating analytics tools before and the thing that I've never seen before is the addition of a really strong query tool. Something that lets us ask "Between dates X and Y, how many users have an event of type Z with attached parameter A between values B and C?"

    It doesn't need a pretty chart, just a single number would be perfectly acceptable.

    PS The integration is fantastically simple, really looking forward to seeing how this develops. I'm a paying user and think offering analytics support as premium feature would be entirely reasonable given costs of running the servers etc.
     
  11. angeloferro

    angeloferro

    Moderator

    Joined:
    Sep 12, 2014
    Posts:
    105
    Hey @Twice Circled,

    As @marc_tanenbaum mentioned, we're actively discussing what we can do to improve the current Data Explorer functionality to help address the use cases posted in this thread, so additional feedback is always appreciated :)

    And thanks for your note regarding integration - we're also really excited to see how this product develops, and we'll make sure to keep the community updated on our progress!
     
  12. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
    I wouldn't like to spam another thread, but is there a chance that events won't work after making them under
    if ( !Application.isEditor ) ?
    As when I did all of them we'v stopped to receiving events at all. Of course I wanted to do this to not false results from initial testing.
     
  13. ViNull

    ViNull

    Joined:
    Apr 14, 2013
    Posts:
    6
    I'm going to add another note for "making noise" - a data export is very important. I want to be able to pull deeper game stats on my games, make scatter plots, run regressions, correlations, create segments, etc. I want to be able to load the data up in a SQL database and go to town.

    The export does not have to be pretty - I and I'm sure other members of the community can write parse tools, and we can share code. I wouldn't devote a whole lot of programming time to making it fancy, just make it complete.
     
  14. emiliza_gutierrez

    emiliza_gutierrez

    Unity Technologies

    Joined:
    Sep 12, 2014
    Posts:
    25
    Hey @Jog - If you call our SDK within that if statement, your events from the editor will not be received, and will not be displayed in the integration check logs. However, if you build onto a platform we will receive those events, and process them. They will not display in the integration check logs- only events coming from the editor are displayed here.

    Sorry for the confusion! Hope this helps :)
     
    toddh likes this.
  15. sschan

    sschan

    Moderator

    Joined:
    Oct 8, 2014
    Posts:
    87
    Hi @ViNull - The Unity Analytics team is actively working on this so we appreciate the "noise." :D We'll keep the community updated on how this develops so please keep your feedback coming.
     
  16. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Making a lot of noise over here about seeing the parameter I'm passing with my custom event. :)
     
  17. sschan

    sschan

    Moderator

    Joined:
    Oct 8, 2014
    Posts:
    87
    Hi @derkoi - Thanks for feedback. We will add it to our list. :D
     
    derkoi likes this.
  18. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
  19. zeh

    zeh

    Joined:
    Feb 2, 2013
    Posts:
    28
    This is exactly what I'm most curious about. I'm testing it out and in a way, Unity Analytics is great: I'm not only passing numeric data (average FPS and the alike) but also a lot of string-based data... things like the user's platform, where they're coming from ("portal" my game is in), OS, build version, etc... but, right now, there's no way for me to visualize it.

    Ideally we'd just have a way to build custom charts based on values of certain parameters. I know some of this is possible (e.g. platforms) if we build segments and whatnot, but it's really cumbersome and doesn't apply to custom metrics.

    For illustration, a while ago I was testing another third-party analytics service, and I was able to customize their dashboard to show this technology breakdown, shown here with stats for a simple (Ludum Dare) game:



    This service was somewhat limited in what I could actually track (e.g. I was tracking the portal the game was in by using it as the "Area" field) and the data was kind of fishy (lots of "nulls") but the presentation itself was superb. Not just because I was able to visualize the data that was coming in, but because I could customize it to my needs.

    I know UA has the data portion really well served. It's just missing the visualization.
     
  20. angeloferro

    angeloferro

    Moderator

    Joined:
    Sep 12, 2014
    Posts:
    105
    Hey @zeh - thanks for your comments and the screenshot! We are actively working on updating the visualizations for custom events, and we plan to have a new version up in the next few weeks. We'll make sure to post in the forums once it's live :)
     
    ottolb and zeh like this.
  21. Naphier

    Naphier

    Joined:
    Aug 4, 2014
    Posts:
    114
    Custom charts/reports would be stellar!

    My most "urgent" need would be to at least be able to pull reports that just have the custom even parameters in it like so:
    date, time_in_game, score, power_ups_used, continues_used, etc.

    Just a CSV with the native data and column headers would be perfect.

    Even better if we can simply view them online with some basic features like filter, sort, and simple search - much like Tablesorter for jQuery. But also please have something that shows the sum/count/average of columns which is dynamically updated with the filter. Much like selecting cells in Excel and seeing the sum/count/average at the bottom of the window.

    More advanced stuff for report building would be awesome, but I'd expect to pay for that and ultimately we could do that ourselves by downloading the data.
     
  22. sschan

    sschan

    Moderator

    Joined:
    Oct 8, 2014
    Posts:
    87
    Hey @Naphier - Thank you for the feedback. We'll add it to our feature list requests. Keep your suggestions coming! :)
     
  23. DarkPixel

    DarkPixel

    Joined:
    Sep 13, 2013
    Posts:
    79
    Hi, any update about the string custom event visualization?
     
  24. angeloferro

    angeloferro

    Moderator

    Joined:
    Sep 12, 2014
    Posts:
    105
    Hey @DarkPixel - we're working on the updated custom events visualization. Once it's ready (hopefully in the next few weeks!) we'll make sure to post in the forums to let everyone know.
     
  25. kylerk

    kylerk

    Joined:
    Jul 4, 2014
    Posts:
    4
    Any update on this? It would be extremely useful.
     
  26. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    YES! :)

    Don't blink. ;)
     
  27. Howey-Do-It

    Howey-Do-It

    Joined:
    Apr 19, 2013
    Posts:
    5
    Another friendly neighborhood Spider-Man "daily bugling" for some fly-on-the-wall abilities to visualize and see raw data from custom events.

    Is that an upcoming feature or did you decide to take a different route? :)
     
  28. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi @Howey Do It! We announced Raw Data officially at GDC. Unfortunately, there have been a few kinks getting the wee beastie out the door to you fine people. Never fear...it's coming! Though I admit I feel a little silly constantly saying 'nearly!'

    We'll make a big announcement when it's ready. Thanks very much for holding our feet to the fire.
     
  29. Anisoropos

    Anisoropos

    Joined:
    Jul 30, 2012
    Posts:
    102
    @marc_tanenbaum Any updates? This "nearly" thing started over a year and a half ago.. I understand you want to do this right and build some kick-ass visualizers but in the meantime can we have access to our own raw data? Because the dirty alternative you proposed is painstalking, requires a-priori knowledge of what filtering we want (per level, per item etc) and scales terribly.

    Thanks!
     
  30. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hey @Anisoropos!

    I'm actually not sure which bit of updating you're asking about in this case. Raw Data shipped quite some time ago (and, as promised, we announced it pretty loudly). It's a Pro-only feature, though, so depending on your license you might not appreciate that it's there?

    We've also shipped various improvements to the dashboard visualizations...though possibly not the ones you need. We're always keen to hear what it is that you need that we're not providing, so feel free to post again with specifics. There are some things that folks often request that require a more fundamental overhaul of our infrastructure, and naturally that takes longer, but if there's something we can squeeze into the existing architecture, we happily investigate.
     
  31. Anisoropos

    Anisoropos

    Joined:
    Jul 30, 2012
    Posts:
    102
    @marc_tanenbaum thanks for the update! Looks like I didn't do my research properly ;)

    We can talk more about the application-specific things my team needs through PMs.
     
  32. lizifox

    lizifox

    Joined:
    Feb 18, 2017
    Posts:
    37
    I need a pro license just to export some CSV data? :(
    That's just too expensive for me.

    Does anybody know a different solution to gather some basic telemetrics data on your project thats exportable to CSV?

    I'm trying to gather the average completion time in correlation with the size of my (2D) board. (to fine-tune difficulty setting) I'm already capturing this data with analytics, just need a way to grab the data and get it in excel.
    Are there other (more cheap) services that can provide this?

    This is my first game, I'm still learning, I have no money coming in ("yet" she added hopefully). I simply dont have 1500EUR/year lying around for an occasional CSV download.
     
  33. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi @lizifox ... so just to clarify, the Data Explorer and Funnels both have CSV export buttons, but that export will be of the aggregated data that appears on those pages. Now, I'll tell you that we get asked a lot for the ability to correlate X param by Y param. This seems a pretty reasonable ask and we hope to get it to you when we can.

    As a means of measuring completion time vs board size without Raw Data, I'd suggest something like sending an event called "board_completion_foo" where foo is the size of the board (this'll work if there aren't too many variations in board size). Then just attach a completion_time parameter to that and I think that'll get you what you need.
     
  34. lizifox

    lizifox

    Joined:
    Feb 18, 2017
    Posts:
    37
    ^thank you. i can work with that :)
     
  35. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
    Another question of mine, I have a event which sends us on which region player is each few minutes of his play time and when I see results of it I can see only 10 terrains and "others" line.
    While explorting CSV same issue happens, what can we do about that as its quite new issue for us?
     
  36. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    The OP is doing what I would like to do, get the average FPS for a given scene and hardware setup. Is there still no way to meaningfully parse this data? The documentation doesn't tell us anything about how custom events are presented to us, and the demo doesn't have any custom events for us to poke around in. I'm also not seeing any way to disable analytics if I'm testing in the editor, unless it just does that automatically. The documentation is horrible.
     
  37. ap-unity

    ap-unity

    Unity Technologies

    Joined:
    Aug 3, 2016
    Posts:
    1,519
    The "Others" group was added recently when we made some changes to our backend processing (removing the tedious Analysis Points system):
    https://forum.unity3d.com/threads/new-data-processing-limits.450266/

    We have heard a lot of feedback about this change and we are working on some improvements that will allow you to see all of the parameters that are sent with your Custom Events.
     
  38. ap-unity

    ap-unity

    Unity Technologies

    Joined:
    Aug 3, 2016
    Posts:
    1,519
    We've added a few useful tools since this thread was started. In particular, you can now create segments based on Custom Events. So if you send us an event with the hardware setup you are interested in analyzing, you can make custom segments based on that event. So when you send your FPS data (in another custom event), you'll be able to use the Data Explorer to view the data from your custom segments.

    Yeah, our docs leave a lot to be desired. We are actively working on them right now. Our demo used to have custom events. I'll reach out to someone to make sure that gets fixed.

    Analytics are sent from the editor and there isn't a way to disable that. This is to allow you to test custom event formats without making a build. You can use preprocessor directives to only send events if not in the editor:
    https://docs.unity3d.com/Manual/PlatformDependentCompilation.html
     
  39. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    Thanks. That is helpful. I'll just have to figure out how to segment the various hardware devices without creating an overwhelming number of segments.

    The biggest problem I have with the docs is that it just doesn't show me how the data will be presented. That's helpful in determining how to structure things. As it stands now I feel like I'm running blind.

    I'm assuming I can just disable analytics in the services window and reenable it when I want to create a build or test the setup, right?
     
  40. ap-unity

    ap-unity

    Unity Technologies

    Joined:
    Aug 3, 2016
    Posts:
    1,519
    Yes, that should work.

    The only complication is if you are also using Unity IAP. Disabling Analytics will also disable IAP, but the IAP plugin relies on extensions that are only loaded if you have IAP enabled, so it will give you compile errors. You would have to disable both services and remove the Purchasing plugin.

    If you aren't using Unity IAP, then it won't be an issue.
     
    HemiMG likes this.