Search Unity

  1. Full schedule for #UniteBerlin is now available! Featuring talks on our roadmap, hands-on labs and much more! Check it out!
    Dismiss Notice
  2. Unity 2018.1 has arrived! Read about it here
    Dismiss Notice
  3. Scriptable Render Pipeline improvements, Texture Mipmap Streaming, and more! Check out what we have in store for you in the 2018.2 Beta.
    Dismiss Notice
  4. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  5. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  6. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Unity LiveTune?

Discussion in 'General Discussion' started by AcidArrow, Mar 20, 2018.

  1. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    4,606
    From the blog about the latest keynote: https://blogs.unity3d.com/2018/03/20/unity-unveils-2018-roadmap-at-gdc/

    Cool! Any more information? Is it built on top of Unity stuff exclusively? Can I somehow train it to use my own things? (for example, I have my own post stack, which is scalable, can I somehow hook it into LiveTune?)
     
  2. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,180
    from the name it feel like that will be a paid service. i hope i'm wrong
     
  3. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    2,282
    When I watched it yesterday, I couldn't help but be skeptical of LiveTune. What is the performance overhead of constantly monitoring your game's performance? I have a hard time believing that you'd get better game performance than just letting the user specify their quality settings in a classic options menu, which then wouldn't require constant performance monitoring. Changing various performance settings while the game is playing also can't be without cost.

    Perhaps the secret sauce though is they have worked all that out better than a cynic like me would think possible ;)
     
    theANMATOR2b likes this.
  4. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    10,491
    Well, in a basic sense a game already does "performance monitoring" by calculating the delta time value between frames. If that value is acceptable then you don't have to do any other checks and thus have a pretty negligible cost. You only have to do anything more expensive when either a) things are already unacceptably slow or b) you've got loads of resources to spare.

    So I don't see it causing a performance hit in any way that makes anything worse. The base overhead of this is going to be something like one bounds check on an existing float value.

    For users like us who are experienced with this stuff, maybe. But... First, I'm pretty experienced, and I still find that this can take me quite some time with some games to get things just right. Second, sometimes "just right" for some sections of a game aren't quite right for others, so I have to compromise, whereas an automated system could just tweak it on the fly. Third, believe it or not there are gamers who just don't mess with the settings.
     
    Kiwasi, Amon, trucn and 3 others like this.
  5. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,173
    I speculate that some of this can be preconfigured, as well. If LiveTune is a service, then it may be able to apply ideal settings from users of the same device playing games with similar performance profiles.
     
    Kiwasi likes this.
  6. trucn

    trucn

    Unity Technologies

    Joined:
    Apr 18, 2017
    Posts:
    4
    Hi, Truc from the LiveTune team here. LiveTune is in a closed beta - the focus is on FPS optimization and on mobile games (Android especially) - it does not currently do in depth run-time profiling that may adversely affect performance. The performance overhead of measuring FPS is minimal on the game.

    The way LiveTune works now, you can configure your content with different quality levels (e.g. 16X AA for Highest level of quality, 4X AA for Medium, Anti-Aliasing OFF for Lowest level of quality) for game settings and performance thresholds for downgrading/upgrading devices to different quality levels. Behind the scenes, our system will learn how different devices perform when assigned to a quality level and dynamically segments them based on observed performance and the rules you set. I know that's all high level but let me know if you have further questions!
     
    Last edited: Mar 26, 2018
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    4,606
    So it sounds like your system automatically (based on thresholds we set) adjusts everything in the Quality settings.

    Are there ways to hook up custom stuff into the system? For example, in our game, since we always use some form of post processing, we don't use the AA setting from quality settings and we have our own, that we set to the rendertexture we render to.
     
  8. trucn

    trucn

    Unity Technologies

    Joined:
    Apr 18, 2017
    Posts:
    4
    Yes, that's correct. In addition to the Unity Quality settings, you could integrate any custom settings you have. LiveTune works similarly to Remote Settings where you define a set of key/value pairs on the Configuration UI and receive those settings as a payload from our server, which you would apply in your game in a callback method you register to the LiveTune Fetch() call.

    LiveTune is currently in closed beta with select customers and free during this beta period.

    If you're interested and meet the criteria here:
    - iOS and/or Android app
    - Unity version 5.3.5 and above
    - 1,000 DAUs on Android at minimum
    - Unity Analytics service enabled to send performance data
    - Willingness to run A/B tests with 20% of users in LiveTune test group

    Sign up for the LiveTune beta and we'll reach out.
    https://docs.google.com/forms/d/1E7mQ38wrX5oqTXO9O1kI8G-fDaE4PsZpmVK81Gw6VnE/edit
     
  9. trucn

    trucn

    Unity Technologies

    Joined:
    Apr 18, 2017
    Posts:
    4
    AcidArrow likes this.
  10. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    2,076
    If LiveTune connects to Unity Servers, I assume it will not work on Xbox and PlayStation?
     
  11. trucn

    trucn

    Unity Technologies

    Joined:
    Apr 18, 2017
    Posts:
    4
    It's currently just for mobile - iOS and Android platforms.
     
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    10,491
    Why would you need it for an application deployed to a fixed hardware platform? Wouldn't you want to hand tune the game yourself?
     
    Kiwasi and Peter77 like this.
  13. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    2,076
    Xbox and PS isn't really fixed anymore, think of Xbox One Pro for example.

    Even if hardware is the same always, game content normally is not and you want to present that content looking as good as possible, while maintaining a certain frame-rate.

    The simple approach is to find the lowest quality denominator that looks and performs acceptable in all places in the game. For instance, things like "We need to display 50 characters here and there" (or ), while most of the time the game would have 10 characters only. Now you either accept that your game runs bad while more than 10 characters are active, or you adjust the quality to make sure the game runs acceptable with more than 10 characters always, or you adjust the quality/content in every location where this might happen. The latter might not be trivial or possible at all, depending on the game, think of open world where the player has a lot of freedom and you as a developer can foresee every scenario that would come up.

    The problem with the above approaches is because of "one thing" you make the whole game look worse at all times. Wouldn't it be a lot nicer, if quality/content adjusts automatically, during times where needed only?

    This is where such feature becomes useful. The game controls at run-time what should be scaled up or down to maintain the best quality while also maintaining 60fps for example.

    Dynamic resolution comes to mind as something Unity supports as a built-in feature that is related. But it doesn't have to stop here, you can apply this to many different things, it's really up to your creativity but normally applies to visuals only that don't affect the game-play (shadow distance, vegetation distance, decals, environment particle effects, etc).

    This concept isn't new though and there are probably articles in the internet that explain why this is useful a lot better than I just did :)

    PS: It seems there is even a Unite talk about it.
     
    Last edited: Mar 29, 2018
  14. rayw24

    rayw24

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    52
    Hey everyone, I'm one of the engineers on the LiveTune team

    @angrypenguin we are currently still in Beta so we're limiting the product to only iOS and Android but we have discussed the possibility of expanding to more platforms in the future.

    @Peter77 thank you for the feedback. I agree, we want to get to a point where we can tune only specific parts of the game so that the experience is not altered for the entire play session. This is achievable through a lot of manual work as of right now but we are looking into how we can automate this reduce the amount of work needed from developers.

    We will be giving a talk about LiveTune at Unite Berlin on June 20th - Breakout 4. I'll be there in person so if anyone has more questions, feel free to DM me or schedule a time to chat during Unite :)

    If you're not attending Unite Berlin and are interested in LiveTune, you can sign up for the Beta here: https://docs.google.com/forms/d/e/1FAIpQLScKvPzvQQgfq-fxWVcG1TmpSkS0FBBpBCnb3lmZlAfnDjf90Q/viewform
     
    Last edited: May 17, 2018
  15. rayw24

    rayw24

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    52
    It's for games made with Unity exclusively because we rely on the Unity Analytics API to track performance data for our tuning. Hopefully we will be able to open this up to non-Unity things in the future!
     
  16. rayw24

    rayw24

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    52
    Last edited: May 17, 2018
  17. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    4,606
    That's not what I meant :)

    A lot of the descriptions of it sound like it tweaks stuff from the quality settings until the performance is desirable. Since the way we have set up our (Unity) game, the quality settings are not that important, I was wondering if we could hook up our custom stuff to LiveTune. (so for example, we have a custom post processing stack that is pretty scalable, also on higher end devices we add more cosmetic objects on certain scenes etc).

    From trucn's reply it seems that is doable.
     
  18. rayw24

    rayw24

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    52
    @AcidArrow ah yes, sorry for the misunderstanding. You can definitely hook up your custom stuff to LiveTune :)
     
    trucn likes this.