{"id":16085307,"url":"https://github.com/AGulev/ppreader","last_synced_at":"2025-10-23T02:30:25.606Z","repository":{"id":83444306,"uuid":"188112228","full_name":"AGulev/ppreader","owner":"AGulev","description":"Defold Native Extension for reading Unity PlayerPrefs","archived":false,"fork":false,"pushed_at":"2022-11-02T15:43:59.000Z","size":23,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-06T17:57:22.859Z","etag":null,"topics":["defold","defold-game-engine","defold-library","playerprefs"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AGulev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-22T20:53:51.000Z","updated_at":"2024-09-19T06:54:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"b44fccad-5f2b-4cbd-8da7-7e64cef7d4c9","html_url":"https://github.com/AGulev/ppreader","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AGulev%2Fppreader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AGulev%2Fppreader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AGulev%2Fppreader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AGulev%2Fppreader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AGulev","download_url":"https://codeload.github.com/AGulev/ppreader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237763855,"owners_count":19362310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["defold","defold-game-engine","defold-library","playerprefs"],"created_at":"2024-10-09T13:01:54.707Z","updated_at":"2025-10-23T02:30:20.254Z","avatar_url":"https://github.com/AGulev.png","language":"Lua","funding_links":[],"categories":["Libraries"],"sub_categories":["Programming Language"],"readme":"# PPReader\nPPReader [Native Extension](https://www.defold.com/manuals/extensions/) for the [Defold Game Engine](https://www.defold.com)\n\nThis library helps to read Unity PlayerPrefs file as a Lua table.\n\n[![Build Status](https://github.com/AGulev/ppreader/workflows/Build%20with%20bob/badge.svg)](https://github.com/AGulev/ppreader/actions)\n\n## Possible use cases:\n\n* If you want to update your Unity game with Defold version of the game and the user's progress is stored in PlayerPrefs.\n\n## Platforms\n\n* **iOS**\n* **macOS**\n* **Android**\n\n## Setup\n\nYou can use the PPReader extension in your own project by adding this project as a [Defold library dependency](https://www.defold.com/manuals/libraries/). Open your game.project file and in the dependencies field under project add:\n\n\u003e https://github.com/AGulev/ppreader/archive/master.zip\n\nOr point to the ZIP file of a [specific release](https://github.com/AGulev/ppreader/releases).\n\n### Android\n\nYour `Package` name must be the same as your package name in Unity version of the game. Game `apk` must be signed with the same `Certificate` and `Private key` as Unity version of the `apk`.\n[Forum post](https://forum.defold.com/t/how-to-convert-unity-keystore-to-pk8-format/13235) how to convert your Unity `Certificate` and `Private key` for using with Defold.\n\n### iOS\n\nYour `Bundle Identifier` must be the same as your bundle identifier in Unity version of the game. For the signing process, you must use the same `Code Signing Identity` and `Provisioning profile` as for Unity version of the game.\n\n### macOS\n\nYour `Bundle Identifier` must be the same as your bundle identifier in Unity version of the game. For the signing process, you must use the same `Code Signing Identity` and `Provisioning profile` as for Unity version of the game.\n\nAdd next lines to your `game.project` file:\n\n```lua\n[ppreader]\ncompany_name = YourCompanyName\nproduct_name = YourProductName\n```\nWhere `YourCompanyName` is the name of the company from your Unity project (`Project Settings`-\u003e`Player`-\u003e`Company Name`) and `YourProductName` is the name of the product from your Unity project (`Project Settings`-\u003e`Player`-\u003e`Product Name`).\n\n## API\n\n#### `ppreader.get()`\n\nReturns table with PlayerPrefs values and path to the file:\n\n```lua\nlocal ppreader = require(\"ppreader.ppreader\")\n\nlocal player_prefs, path_to_the_pp_file = ppreader.get()\npprint(player_prefs) -- Example:\n--{\n-- UnityGraphicsQuality = 3,\n-- field = \"string\",\n-- unity.player_sessionid = \"your_session_id\",\n-- scores = 100,\n-- unity.cloud_userid = \"your_cloud_user_id\",\n-- New item = \"\",\n-- some_FloatField = 2.3303999900818,\n-- unity.player_session_count = \"6\",\n-- SomeIntField = 100,\n-- some_string_field = \"some_sctring_for example-just-test@\"\n--}\nprint(path_to_the_pp_file) -- Example: /Users/your_user_name/Library/Preferences/unity.TestCompany.TestProduct.plist\n```\n\n## Special thanks\n\nPPReader library uses [XML2LUA](https://github.com/manoelcampos/xml2lua).\n\n## Issues and suggestions\n\nIf you have any issues, questions or suggestions please [create an issue](https://github.com/AGulev/ppreader/issues) or contact me: me@agulev.com\nFeel free to make a pull request if you know how to improve the code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAGulev%2Fppreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAGulev%2Fppreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAGulev%2Fppreader/lists"}