Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Unity Game Performance Reporting Preview FAQ

Discussion in 'Unity Cloud Diagnostics' started by andyk-unity, Mar 3, 2015.

  1. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    What is Game Performance Reporting?

    Game Performance Reporting is a brand new service currently in preview. Exception Logging is one of the first features available with Game Performance Reporting. Exception Logging captures exceptions in editor, development builds and release builds, and provides detailed reports that can be read via a web dashboard.


    Game Performance Reporting is currently in preview mode, to get your feedback on the features that will help you build great performing games. We plan to add additional performance reporting features in the future.


    Who can use it?

    Game Performance Reporting is currently available to Unity 5 Pro customers, at no charge.


    How do I sign up?



    What platforms are supported?

    We currently support iOS, Android, Mac, Windows, Linux, and Web Player.


    How long does it take to see our reports?

    Depending on traffic, it should take no more than ten minutes for exceptions to be reported on the web.


    How do I report a bug or issue with the Game Performance preview?

    Feel free to post in the forum and we will respond to you as soon as possible.
     
    Last edited: Sep 30, 2016
  2. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    419
    Is the client compatible with Unity 4.6.3, or only 5?
     
  3. chrismarch

    chrismarch

    Joined:
    Jul 24, 2013
    Posts:
    392
    Does Exception Logging currently only cover exceptions from managed code? If so, are there plans to have crash dumps from native code, and log files, available through the Game Performance Reporting system? Or, should I be looking at other Unity features to report crashes in native code to our servers?
     
    akuno and liortal like this.
  4. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    The client will work, but in order to access the service, you will need a 5 Pro license.
     
  5. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    Currently, yes, it only covers exceptions from managed code. We are looking at other types of data (logging, etc) to be added to the service, but currently it's only managed code.
     
  6. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    419
    Cool. Yes we have Unity 5 Pro licenses... like 20 of them for the team. But our project is still 4.6.3. Going to be a few patch releases before our project is able to work in 5 probably.
     
  7. U7Games

    U7Games

    Joined:
    May 21, 2011
    Posts:
    943
    T___T... i only own free ...just 1..
     
    Guhanesh likes this.
  8. alexzzzz

    alexzzzz

    Joined:
    Nov 20, 2010
    Posts:
    1,430
    I would like to see errors and warnings as well. Debug.LogError doesn't look conceptually different from throw new Exception but doesn't terminate code execution.
     
    Last edited: Mar 8, 2015
  9. alejobrainz

    alejobrainz

    Joined:
    Sep 10, 2005
    Posts:
    250
    I have a question. In the CrashReporting.Init("1"); you can provide three params (project ID, Version and user ID). Are Version and user ID already working as the ThrowMeAnException.cs example only shows usage for the 1st param.

    Thanks!
     
  10. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    We don't populate the version and user fields in that script, but on the "Getting started" page for your project, we have an example you can use down at the bottom (Step 5)

    "CrashReporting.Init("ProjectIDhere", "1.0.0", "User01");"
     
  11. alejobrainz

    alejobrainz

    Joined:
    Sep 10, 2005
    Posts:
    250
  12. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    @alexzzzz thanks for the feedback. Errors and warnings are definitely on our roadmap.
     
  13. Smithy43

    Smithy43

    Joined:
    Sep 8, 2012
    Posts:
    9
    +1 for support of errors and warnings
     
  14. WendelinReich

    WendelinReich

    Joined:
    Dec 22, 2011
    Posts:
    223
    second that
     
  15. OrenMunkyFun

    OrenMunkyFun

    Joined:
    Jun 7, 2013
    Posts:
    7
  16. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    Hey @PixelParts, really sorry to hear that. Is this still occurring?
     
  17. OrenMunkyFun

    OrenMunkyFun

    Joined:
    Jun 7, 2013
    Posts:
    7
    @andyk.unity - yes. I tried it in both Chrome and Safari on OSX.
     

    Attached Files:

  18. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
  19. OrenMunkyFun

    OrenMunkyFun

    Joined:
    Jun 7, 2013
    Posts:
    7
  20. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    Yep, that looks like the issue. Bug has been logged and we're getting it taken care of. Sorry about that.
     
  21. tkoknordic

    tkoknordic

    Joined:
    Jan 31, 2013
    Posts:
    93
    I didn't quite figure out how this should work before I had request access, so I made multiple projects with same name and now it's confusing to have same named and iconed projetcs on my list. Is there a way to remove / delete an extra project?
     
  22. tkoknordic

    tkoknordic

    Joined:
    Jan 31, 2013
    Posts:
    93
    I just got one exception throught with version number and username. Is there a way to see from which user it come?
     
  23. chrismarch

    chrismarch

    Joined:
    Jul 24, 2013
    Posts:
    392
    I ran through the Getting Started steps to set the Init ID, but I am not seeing any exceptions in that project.

    Is the ten minute delay typical, or is that an estimated worst case? Any plans to reduce that delay?
     
  24. alexzzzz

    alexzzzz

    Joined:
    Nov 20, 2010
    Posts:
    1,430
    From what I've seen, there's almost no delay.
     
  25. chrismarch

    chrismarch

    Joined:
    Jul 24, 2013
    Posts:
    392
    Hmm, I must be missing something. I have a number of projects created on perf.cloud.unity3d.com, and I received the email "Unity Game Performance Reporting Preview Access". I've logged in with the email address the access was granted to. I used the project ID in the Init line from two different projects to test two different projects, using the scene included in UnityCrashLog.unitypackage, and ran the two projects and generated exceptions. There are still no exceptions reported in those projects for me today. I'm a bit puzzled that the CrashReporting.Init uses uses the old API log message registration API, but I suppose it works for other people using various Unity 5 builds?

    Which Unity 5 builds is this confirmed to work with?
     
  26. alexzzzz

    alexzzzz

    Joined:
    Nov 20, 2010
    Posts:
    1,430
    I've notices that the project has to run at least ~5 extra seconds after the exception has been thrown. If it is terminated earlier, the exception is not reported.

    It works on both Unity 5 public builds.
     
    Last edited: Apr 7, 2015
  27. tkoknordic

    tkoknordic

    Joined:
    Jan 31, 2013
    Posts:
    93
    Sometimes it just show some warning on editor's console like "sending message header failed". After this warning the exception don't show up on server side. The warning is not instant and I think this is somekind of timeout event. The warning could be more informative I think.

    EDIT: added pic and exact warning text.
     
    Last edited: Apr 8, 2015
    Aberdyne likes this.
  28. futurecrayon

    futurecrayon

    Joined:
    May 7, 2014
    Posts:
    14
    Not sure if this is a known issue, but CrashReporting.Init seems to silently fail if the version string has spaces in it (probably with any whitespace).

    My version string had spaces in it and I didn't get any exception reports until I stripped the spaces from it.

    My build was made with Unity 4.6.0f3.
     
  29. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    @futurecrayon, sorry for the delay. I'll get a bug report for this issue.

    @tkoknordic Is there a repro for this? I haven't seen that error before, but I can start to investigate.
     
  30. alexzzzz

    alexzzzz

    Joined:
    Nov 20, 2010
    Posts:
    1,430
  31. tkoknordic

    tkoknordic

    Joined:
    Jan 31, 2013
    Posts:
    93
    I have almost complete game project so the warning may come from some other parts. Timing and Perf's behaviours however points to that part. I will keep my eye on this when we start our next game project from a clean start. We will definedly use perf cloud with it.
     
  32. tbg10101_

    tbg10101_

    Joined:
    Mar 13, 2011
    Posts:
    161
    "Game Performance Reporting" seems like a fairly generic name. What other performance metrics can we expect?
     
  33. idlemath

    idlemath

    Joined:
    Feb 18, 2015
    Posts:
    9
    I found a bug (or at least something that might prevent you from testing that your implementation works) with exceptions reports not being sent to the web console.

    I followed all the steps required for setup and was trying to test my integration with the Example Scene found in the UnityPerf package, but I wasn't getting any exception reports on the web console.



    If you have "Error Pause" enabled in the editor, the exception will be shown but it will not be sent to the Game Perf web console. Simply turn off "Error Pause" and you should start seeing exception reports in your web console.


    (Thanks @alexzzzz who pointed out that you needed to keep the game running for a few seconds after the exception is thrown and made me think to check whether "Error Pause" might be the culprit.)
     
  34. ImpossibleRobert

    ImpossibleRobert

    Joined:
    Oct 10, 2013
    Posts:
    307
    I figure this would be quite an interesting thing for the Unity editor itself to get a quick feeling on the most often occuring errors without the need for error reporting ;-)
     
    tkoknordic likes this.
  35. Deleted User

    Deleted User

    Guest

    Hi Andy,

    We are happy to hear that this service is active and we are thinking seriously to use it in our game which is compiled with Unity 4.6.5 to Android/IOS devices.

    1) Does this plugin also sends native crash reports? (For example crashes caused by mono-vm or il2cpp runtime )

    2) May I learn if I should concern about performance or other issues? (for example sending logs to server causes FPS problems, etc.)

    Cheers,
    Kaan
     
  36. andyk-unity

    andyk-unity

    Unity Technologies

    Joined:
    Dec 11, 2013
    Posts:
    37
    @Kaan Yy.

    Thanks for your interest! Currently we do not send native crash reports, although that is on our roadmap for sure.

    We are fairly performant, and I don't believe that you will see any noticeable performance issues when using the service. We've got some decently sized games that are using it and haven't heard from anybody that it gave them performance problems.
     
  37. AngryMuppet

    AngryMuppet

    Joined:
    Mar 28, 2014
    Posts:
    33
    Hi Andy,

    I've been using the system in a webplayer app I'm developing and found it really useful in tracking down issues remotely. I'd like to try switching over to WebGL ideally - any idea on support for this platform? Currently the plugin causes WebGL builds to stop building so I'm having to put platform wrappers around code sections.
     
  38. Mikenekro

    Mikenekro

    Joined:
    May 11, 2014
    Posts:
    21
    Will this stay as a Unity Pro feature? or will it eventually be available to everyone?
     
  39. idlemath

    idlemath

    Joined:
    Feb 18, 2015
    Posts:
    9
    @andyk.unity - any thoughts on what @Mikenekro was asking about? I am curious too. Also, any plans on coming out of "preview" and doing a wider release for this feature? Thanks!
     
  40. DarkArts-Studios

    DarkArts-Studios

    Joined:
    May 2, 2013
    Posts:
    386
    Does this only report on exceptions and not on crashes? I have a case where one of my alpha testers is experiencing a hard crash, he sent me his log after I rolled out a build to include crash handler but I never received anything in the upstream online console. I have a log (that he emailed me) that clearly shows crashhandler being initialized, but when his game crashed I have nothing reported upstream.
     
  41. ChrisLundquist

    ChrisLundquist

    Unity Technologies

    Joined:
    Mar 2, 2015
    Posts:
    55
    DarkArts, that is correct. Fatal errors won't get reported at the moment. We are looking at adding that as part of our native crash support.

    Chris Lundquist
     
  42. Dynamoid-Megan

    Dynamoid-Megan

    Joined:
    Apr 16, 2015
    Posts:
    72
    I can't seem to build for WebGL if I add error reporting, is it not supported on WebGL?
    Edit: just saw it is not supported when I scrolled up. I keep thinking Web Player means WebGL, I must have wishful thinking taking over when I read things.
    I get this error:
    Code (CSharp):
    1. Failed running /Applications/Unity5.3.0f4/Unity5.3.0f4.app/Contents/Frameworks/Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe -out "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed/tempStrip" -l none -c link -b False -x "/Applications/Unity5.3.0f4/PlaybackEngines/WebGLSupport/Whitelists/Core.xml" -f "/Applications/Unity5.3.0f4/Unity5.3.0f4.app/Contents/Frameworks/il2cpp/LinkerDescriptors" -x "/Users/mPerry/wkspaces/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -d "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed" -a  "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" -a  "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" -a  "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed/Assembly-UnityScript.dll" -a  "/Users/mPerry/wkspaces/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll"
    2.  
    3. stdout:
    4. Fatal error in Mono CIL Linker
    5. System.Exception: Error processing method: 'System.Boolean UnityEngine.CrashLog.Util.Rest/<CheckConnection>d__4::MoveNext()' in assembly: 'UnityEngine.CrashLog.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void UnityEngine.Ping::.ctor(System.String)
    6.   at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x00000] in <filename unknown>:0
    7.   at Mono.Linker.Steps.MarkStep.MarkInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00000] in <filename unknown>:0
    8.   at Mono.Linker.Steps.MarkStep.MarkMethodBody (Mono.Cecil.Cil.MethodBody body) [0x00000] in <filename unknown>:0
    9.   at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0
    10.   at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00000] in <filename unknown>:0
    11.   --- End of inner exception stack trace ---
    12.   at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00000] in <filename unknown>:0
    13.   at Mono.Linker.Steps.MarkStep.Process () [0x00000] in <filename unknown>:0
    14.   at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x00000] in <filename unknown>:0
    15.   at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x00000] in <filename unknown>:0
    16.   at Mono.Linker.Driver.Run () [0x00000] in <filename unknown>:0
    17.   at Mono.Linker.Driver.RunDriverWithErrorHandling (Mono.Linker.Driver driver) [0x00000] in <filename unknown>:0
    18.   at Mono.Linker.Driver.RunDriver (Mono.Linker.Driver driver) [0x00000] in <filename unknown>:0
    19. stderr:
    20.  
     
  43. MikeGrist

    MikeGrist

    Joined:
    Jan 13, 2015
    Posts:
    7
    hi. does the user have to be online at the time of the exception? or do reports get cached until the user is next online.
    thanks.
     
  44. ChrisLundquist

    ChrisLundquist

    Unity Technologies

    Joined:
    Mar 2, 2015
    Posts:
    55
    @MikeGrist Let me see if I can answer that. It is a little complicated, so I'll try to lay out the current logic.

    1. The player must start the game while online so the plugin can fetch any configuration it needs. ( mostly where to send the reports; I think the plugin disables if it starts offline )
    2. Reports are only kept for the lifetime of the application, they are in memory, so when the game closes, they are cleaned up
    3. If there is a hard crash ( OS force kills the game or something ), any queued reports are lost as they were in memory. ( This will get better when we have native crashes )
    4. If the player started online, and has temporarily lost their network connection, say they went in an elevator or drove through a tunnel, there is logic to retry reporting sending.

    Hopefully this answers your question!
    Chris Lundquist
     
    MikeGrist likes this.
  45. iomac

    iomac

    Joined:
    Mar 26, 2013
    Posts:
    9
    Request: Can we get any more filtering options added to the dashboard? Just having the ability to filter by version number would be huge -- old versions with bugs tend to drown out newer versions with fewer issues. Platform filtering would also be a nice value add.
     
    Nition likes this.
  46. iomac

    iomac

    Joined:
    Mar 26, 2013
    Posts:
    9
    Is anyone else experiencing the following exception:

    NullReferenceException: Object reference not set to an instance of an object
    in
    UnityEngine.CrashLog.ConfigService+<CheckForConfigResponse>d__0.MoveNext ()

    It is hands-down the biggest generator of exceptions in my game perf dashboard...
     
  47. ChrisLundquist

    ChrisLundquist

    Unity Technologies

    Joined:
    Mar 2, 2015
    Posts:
    55
    @iomac Yes, sadly that appears to be a race condition when initializing the plugin.
     
  48. natedsaint

    natedsaint

    Unity Technologies

    Joined:
    Dec 15, 2015
    Posts:
    6
    @iomac We're working on a variety of ways to improve the interface for all our services, and Game Performance is in that list. We've gotten a lot of requests to filter and sort this data and we're currently working on making this a lot better. Thanks for your input, and I'll be sure to check back with you when we get it out there and see if it helped meet your needs!
     
  49. fhickman

    fhickman

    Joined:
    Feb 10, 2016
    Posts:
    9
    @ChrisLundquist We've recently incorporated the UnityEngine.CrashLog assembly for our iOS project. We happened to notice that when using the Mono2x scripting backend the exception reporter works fine... but when using the the IL2CPP scripting backend (either ARMv7 or ARM64), the crash reports do not go through.

    Is this a known issue?
     
  50. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    4,569
    @fhickman

    From the IL2CPP side we are not aware of this issue. Would you mind submitting a bug report about it? We will investigate it and correct it. Thanks!
     
unityunity