Search Unity

  1. Engage, network and learn at Unite Austin 2017, Oct 3 - 5. Get your ticket today!
    Dismiss Notice
  2. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  3. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice
  4. Unity 2017.1 is now released.
    Dismiss Notice
  5. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice
  6. Unity 2017.2 beta is now available for download.
    Dismiss Notice

RCPrefs : Remote Control Prefs [RELEASED]

Discussion in 'Assets and Asset Store' started by BigToe, Jul 12, 2014.

  1. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    144
    [​IMG]
    RCPrefs
    is a simple solution that allows you to remotely modify the settings of a game after it has been deployed. Think of it as a web-based config file that you can update in the Unity editor.

    [​IMG]

    Click on the Video to Watch Quick Overview Video


    Potential Uses in Your Game
    RCPrefs is great for any setting value that you know you might want to change or you just aren't sure about. Here is a list of potential settings you might change.
    1. Modify the value of a particular bonus.
    2. Change the frequency of which ads are shown.
    3. Disable/enable ads all together.
    4. Disable/enable the Everyplay replay system.
    5. Update a welcome message.
    6. Alter difficulty settings.
    7. Change a required score to pass a level.
    8. Increase a monster's Hit Points.
    9. Reduce the currency value of In App Purchases.
    10. Change a URL for a promotion.
    ...and pretty much anything else you can think of that can be changed with a setting.

    How Does it work?
    Use the RCPrefs Editor to create and modify game settings (Integers, floats and strings), which are posted to a host server. These settings are called RCPrefs.

    [​IMG]

    When a user launches the game client, a set of RCPrefs is fetched from the server and processed with an action chosen by the developer. The downloaded RCPrefs can then be saved as PlayerPrefs, Encrypted PlayerPrefs or converted any custom data solution the developer chooses. Here's a Walkthrough Video

    Features
    • Simple UI
    • One Click Updates
    • Built in FTP Client
    • Integrated Debug Tools
    • PlayerPrefs and Encrypted PlayerPrefs Editor
    • Encrypted PlayerPrefs with Playmaker support
    • Integrates with custom data solutions
    • First run pref initialization
    • Code Generator
    • Local Test Server mode
    • Supports Unity Free

    Requirements
    • Web server with FTP root access
    • Unity 4.0 or higher

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    Click on the Video to Watch Detailed Walkthrough Video


    [​IMG]


    RCPrefs Official Page
    RCPrefs Documentation


    Please let me know if you have any questions and I will do my best to answer.
     
    Last edited: Jul 14, 2014
  2. JohnRossitter

    JohnRossitter

    Joined:
    Dec 18, 2013
    Posts:
    953
    WOW!
    Very Cool and Very Clever.
    This will be on my list of assets to buy next time.
     
  3. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    144
    Great! Glad to hear you're interested.
     
  4. dmckee

    dmckee

    Joined:
    Jul 14, 2014
    Posts:
    2
    what sort of encryption is being used with encryptd player-prefs?
     
  5. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    144
    It uses the Rijndael cipher for encrypted prefs and posted files. You can set your own password. Let me know if that's not what you were looking for.
     
  6. erica016

    erica016

    Joined:
    Jul 15, 2014
    Posts:
    2
    Would this go against any rules (i.e. Apple TOS) when utilizing it on iOS, android, W8 etc.. ? Also, what's the case for possible buffer overflows.. exploitation.. DDOS, etc..? Has it been tested? Thanks.
     
  7. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    144
    Just as I was lamenting the dearth of questions... :) Great questions, I'll do my best to answer.

    1) Would this go against any rules (i.e. Apple TOS) when utilizing it on iOS, android, W8 etc.. ?

    RCPrefs by itself does not violate TOS rules, and most uses in your game would be fine.

    That being said I'm sure you could use it to break the TOS rules. If you had a flag that switched to a UI you hid from Apple in approval, or changed URLs to link to porn or something. But you could also do that via a date based timer or your own config file. My point is it's a tool and it would take a deliberate action from the developer to break TOS.

    2) Also, what's the case for possible buffer overflows.. exploitation.. DDOS, etc..?
    I did my best to make sure RCPrefs fails gracefully in cases such as lack of internet connection and files that have been tampered with. The downloaded pref files (config files) are stored on your own web server so they are as vulnerable as your security.

    The files are encrypted XML so even if someone gains access to them via your server, or a redirect, I feel it would be a difficult task to modify values successfully. I have handled the cases if If extra data is added to the buffer or the bugger is modified. The file just won't decrypt and RCPrefs fails gracefully.

    DDOS? Still as susceptible as your server solution. Failures to reach the server are handled and your game would keep running with its current values for prefs.

    3) Has it been Tested?
    I have tested on iOS, Android, Windows, OS X, Web Player and Chrome browser and all have worked fine. Of course there are others that I don't own, but feel confident in as its not doing much more than WWW, XML and some Crypto calls.

    As far as real world testing, I used a rudimentary version of RCPrefs in GameTime Football which has millions of downloads. I used it to control ads, ad frequency, specific devices which ads were excluded, Everyplay enabling, IAP values, bonus values, energy charging speed and a handful of others.

    The main difference is that I didn't use PlayerPrefs as they weren't secure and is why I wrote the Encrypted PlayerPrefs part of RCPrefs. Most GameTime settings were stored in a local encrypted SQLite DB. Plus it didn't have the fancy editor and debug tools.

    Let me know if I can clear anything up.

    Thanks!
     
  8. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    144
    Well...It appears RCPrefs has gone over about as well as a fart in a diver's helmet. In hopes to get the tool into some more hands I have lowered the price to $10.00.

    Even if you don't use the remote features it has a good Encrypted PlayerPrefs class with Playmaker support as well as a great PlayerPrefs viewer/editor.

    Get it on the Asset Store