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 Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Clarification on Use and Reward

Discussion in 'GameTune' started by Egil-Sandfeld, Oct 3, 2019.

  1. Egil-Sandfeld

    Egil-Sandfeld

    Joined:
    Oct 8, 2012
    Posts:
    72
    Thanks for the Beta access. I'm really eager to get started building with GT.

    One question: To me it isn't that clear when and where to apply the Answer.Use(). In my situation I have the question of whether or not to show a tutorial from the first start of the app. My thesis is that some people need the tutorial to stay on, while others can do without.

    When the app starts I ask GT about this question. I then receive either a "true" or "false" answer to show the tutorial.

    Now, when the app has finishes initializing other things it's time for the tutorial show decision.

    My question is: when GT answers "false" it won't show the tutorial. Should I then "use" the answer in this case? Surely I will Answer.Use() when the tutorial questions answer is "true", but I'm in doubt because the documentation says only to "use" when things are shown to the user. Can you shed some light on this, please?
     
    Last edited: Oct 4, 2019
  2. MacroPinch

    MacroPinch

    Joined:
    Dec 6, 2013
    Posts:
    42

    My understanding is that you must apply Use() in either case. It doesn't matter what the answer of the question is. What's important is that you presented the answer to the user (not showing the tutorial is also "presentation" of the answer to the user).

    Here's a scenario where the Use() method won't be used:
    While the game is loading, you ask whether to show the tutorial.
    Then you show some intro movie, but the user closes the app and deletes it.
    This way the user never got to the tutorial or the gameplay (thus the Use() method was never called).
    In this scenario the ML system will know that it should not "learn" anything from the behavior of this user for this question, because the user never saw the answer.
     
    Egil-Sandfeld likes this.
  3. jennyhissa

    jennyhissa

    Unity Technologies

    Joined:
    Aug 1, 2019
    Posts:
    8
    Hi Egil-Sandfeld and MacroPinch! Great question and indeed, in your use case the instructions on the documentation might be a bit confusing – we can look into that and try clarifying it.

    As MacroPinch answered: yes you are supposed to use Answer.Use() in case GameTune returns you "false" and you don't show the tutorial. Basically whenever the gameplay of the player is affected/influenced by the answer received from GameTune, you need to call Answer.Use(). The order for the events are as follows: ask a question -> receive answer -> expose player to answer (show or not show tutorial based on answer) -> call Answer.Use().

    One other example of when Answer.Use() should not be called, is when you ask the tutorial question from GameTune and it returns e.g. "false" but you decide to show the tutorial any case. Here, the experience that the player was exposed to was not aligned with the answer that came from GameTune so you should not call Answer.Use().
     
    Egil-Sandfeld likes this.
  4. Egil-Sandfeld

    Egil-Sandfeld

    Joined:
    Oct 8, 2012
    Posts:
    72
    Thank you both for the clarification!

    When GT decides not to show tutorial, an "opt-in" banner is shown instead, where the user can start the tutorial or dismiss the banner-notification.

    If the user opts in and starts the tutorial, should the Answer.Use("true") be activated then? My thinking behind this is, that we want to measure the retention of actually doing the tutorial or not - not necessarily measuring if auto-starting the tutorial has any impact on retention? Or is this then another Question-Answer?
     
  5. kosmikko

    kosmikko

    Unity Technologies

    Joined:
    Jan 30, 2018
    Posts:
    7
    Hi, If you want to compare the retention of these you could e.g. have 3 alternatives for the Question, e.g. "show_tutorial", "no_tutorial" and "user_select" (where user can select whether to see tutorial or not). Then measure the performance between these groups of users.
     
    Egil-Sandfeld likes this.