Search Unity

Running a game as a live service means you can adapt your game to your players’ needs, keep your game fresh and make the experience more enjoyable.

Traditionally, making a change to your game takes days…even weeks. You have to engineer,  test, publish a new version of your game, and then wait for all of your users to download the new version. A real-time updating framework would skip all these steps – but such a solution usually requires significant engineering resources to build. And even adopting a 3rd party solution takes extra time and effort to maintain compatibility across different platforms. Unity Analytics is introducing Remote Settings to make it easy, fast, and free for every Unity developer to update games on-the-fly.

Remote Settings opens a vast range of possibilities for you to optimize gameplay experiences.

Tune the difficulty curve for your players.

For example, we made our Fruit Slasher game more challenging by adding more fruits at each round. 

 

Implement special holiday scenes to make your game more fun.

Our early adopter Dr. Panda has been using this feature for Halloween and Christmas specials for Dr. Panda in Space. 

Remote Settings is easy to use. It’s native to the Unity engine and employs an API similar to PlayerPrefs that most Unity developers are familiar with. We’ve also included a “Remote Settings Component” that lets you get started without writing any code. Once set up, Remote Settings requires no additional engineering work to operate. All changes apply as soon as the game restarts. You can even use the Analytics dashboard to track real-time impacts on key metrics.

So far, we’ve had some really great reaction from our pilot customers.

“Remote Settings allows us to dynamically modify various gameplay factors in real-time and are incredibly easy to implement in our projects! It saves us plenty of development hours so we can keep focusing on creating new experiences for our players!”

Lukasz Wolinski
CTO, Dr. Panda

 

Remote Settings is now in open beta and free to use for all Unity developers. You can download the package from the Asset Store or through the configure page from the Analytics dashboard.

 

We’d also love to hear your feedback about the feature and your stories about how it can help turn your brilliant creative ideas into remarkable player experiences! Moving forward, we plan to add more features for Remote Settings (e.g., segment-based Remote Settings). Stay tuned and feel free to reach out to us anytime.

Leon Chen
Unity Analytics, Product Marketing Manager

 

40 Comments

Subscribe to comments

Comments are closed.

  1. Mikkel Hjortshoej

    July 14, 2017 at 12:10 am

    Are the current values on the server at build time baked into the game, so if your game is launched without internet access the first time, it won’t break?

    1. Requesting the Remote Settings configuration over the network is an asynchronous process that might not complete before your initial Scene has finished loading, or might not complete at all, so you should always initialize your game variables to reasonable defaults.

      If Unity has not saved the settings yet (such as when a player has no network connection the first time they run your game), then the RemoteSettings object does not dispatch an Updated event and so does not update your game variables.

      You may find more information from our documentation. https://docs.unity3d.com/Manual/UnityAnalyticsRemoteSettingsNetRequests.html

      Or please just feel free to contact our support team at Analytics@unity3d.com. :)

  2. Awesome!! one question, does this setting will work for consoles??

    1. Unfortunately, we are not supporting consoles (specifically Xbox and Play Station) at this time. But the feature supports mobile and PC (Windows/Mac/Linux) platforms.

  3. I have concerns about iOS. I believe Apple does not like apps to change their behavior after review. Is it recommended practice to inform Apple of all changeable aspects of your app before review?

    1. Not necessarily. However, it depends.

      Apple cares first and foremost about the user experience. From my understanding, their rules are in place to make sure there are no behaviors within apps/games that degrade the user experience. Part of that is ensuring that there is no material deviation from what users expect when they download and install an app vs. what they actually get. i.e., they don’t want their users to feel like they’ve been misled from what is marketed/advertised in the app store.

      Please see the program license agreement, section 3.3.2 https://download.developer.apple.com/Documentation/License_Agreements__Apple_Developer_Program/Apple_Developer_Program_License_Agreement_20170605.pdf

      And app store review guidelines 2.5.2
      https://developer.apple.com/app-store/review/guidelines/#software-requirements

      There is an area to submit comments on a build upon submission, but as long as you aren’t completely changing functionality app (e.g. calculator app that becomes a VPN app) or remotely executing code, I wouldn’t be that concerned.

      Hope that helps.

  4. Felix Chippendale

    June 22, 2017 at 3:41 pm

    kyaa (means girly screaming in japanese lol)

  5. Eduardo Lauer

    June 17, 2017 at 1:23 am

    Any plans on being able to set different values for specific segments of users?

    1. Great question, Eduardo. It will definitely be part of our roadmap. We’ll update with more details later this summer.

  6. Looks very promising! Always wondered how to implement such a feature- now it will become easy. Definitely useful.

  7. Hi,

    Unity Analytics is becoming comparable to some excellent BaaS’s. Thx for that!

    The remote settings are very promising.

    Is there a plan to go further and implement a Leaderboard and/or Challenges system that can be modified dynamically in realtime?

    Best Regards,

    Nikola

    1. Thanks, Nikola. Our R&D team is actively exploring these exciting features though I cannot promise them now. We might have some news for you this fall. Stay tuned. :)

  8. Ah perfect! This was on the roadmap for an upcoming release of Motive.io, but now we can focus on even cooler stuff. :)

  9. Woow, I am programming this exact same asset. It’s name is “CloudConfig”.
    Serialization is with JSON and used a C# attribute to specify remotely updated properties.

    I think I will have to pivot (again). : (

    1. I like your idea better, attributes.

  10. So for the Remote Settings its only applicable every time they log onto the game, or are idle from it. There’s no direct way to constantly update values within the game for our players?

    1. Our current open beta allows new settings to take effect when a game restarts. But we’d happy to learn more about your use cases. Would you please send us more information to our support email? Analytics@unity3d.com

  11. Thanks, Unity!!

    This is a highly, extremely useful feature and I hope to Unity team keep moving in this direction. Many times you want to make few changes from remote, and you need BIG solutions from other services, paid, and much more complex (for example, gamesparks, playfab, kii etc.).

    This is useful, for example, when you create an app for a restaurant, you can change daily the strings that are shown in the “menu”, so you don’t need to create a full backend or look for other solutions.

    1. Thanks, Pablo. And that’s an excellent use case!

  12. it look nice but couldn’t get it work… also no support in the forum (yet).
    i’m getting error 401 when inserting the project ID.
    unity editor 5.6.1…

    1. The feature shall work with 5.6. Would you please send you questions (including project ID) to our support email? Analytics@unity3d.com

  13. Thanks for the great feature.

    1. Glad you like it! :)

  14. So would this require a game to have an internet connection?

    1. That’s right. Remote Settings requires that the game has an active internet connection to grab the latest values.

  15. It was very easy to implement. It just too couple of minutes to get it running!
    With this and Cross Platform Native Plugins Plugin, I don’t need to worry any more and focus on my game core alone!

    1. Glad to hear that, Poojitha! :)

  16. Would it be safe to assume overtime you’ll add more data types such as Arrays? This would be great for quiz games.

    1. We are still working on our product roadmap. In the meantime, I guess you can save a JSON array in a String value and parse it in the client. Please feel free to reach us if any further questions. Analytics@unity3d.com

  17. Damien Delmarle

    June 3, 2017 at 8:44 am

    thanks took me 10 minutes to implement in my game :D

    1. Sounds great! Feel free to reach us if any questions or if you want to share your story. :) Analytics@unity3d.com

  18. After reading here https://docs.unity3d.com/Manual/UnityAnalyticsRemoteSettings.html , I can answer everybody : it’s what its name say, it’s only some remote settings for your game, not an auto-updating process like the tag line “Update your game in an instant” could have make us believe… So, it’s nice, but way less useful than a real auto-updater… :-/

  19. Very useful thanks

    1. Glad to be helpful! :)

  20. is it free?? or I have to pay?? Can I use more Text contents like dialogues for NPCs in games ?

    1. Yes. It is FREE to every Unity developer.

      And you can use more Text contents like dialogues for NPCs in games. But as a practical matter, I’d imagine that would quickly hit the upper character limit? Please feel free to reach Analytics support at Analytics@unity3d.com. We’d be happy to answer your question in more details.

  21. Nathan Warden

    June 3, 2017 at 12:47 am

    Okay, so I’m trying to understand what this actually is. Is this simply a way to “activate” certain portions of your game under certain circumstances, or is it an auto updater, or both? Thanks :)

    1. Nathan Warden

      June 3, 2017 at 12:52 am

      I think I understand. It’s like having PlayerPrefs that we control, that globally applies to everybody connected to the internet. So instead of the “Prefs” being written to the registry or a config file like PlayerPrefs, it exists in one place on a Unity server, that only we developers can write to, but every player of our game reads from. Right?

      1. That’s right! :)

      2. I guess you clarified it better than the author of this article!