
Security News
The Code You Didn't Write Is Still Yours to Defend
AI agents are pulling packages into environments no scanner is watching, creating exposure before security teams can see it.
SavConverter
Advanced tools
Python-GVAS-JSON-Converter (SavConverter) is a library designed to convert Unreal Engine's Game Variable and Attribute System (GVAS) files between .sav and .json formats.
Python-GVAS-JSON-Converter (SavConverter) is a library designed to convert Unreal Engine's Game Variable and Attribute System (GVAS) files between .sav and .json formats. It provides a way to read and interpret the binary structure of .sav files and translate them into human-readable JSON format, as well as convert JSON back to the original .sav format.
.sav files into .json format..json files back to the original .sav format.Crab ChampionsDeep Rock GalacticHigh On LifeHogwarts LegacyStray.sav files, and certain SavReader.py code segments may be broken for untested datatypes. While the library has been designed with flexibility in mind, full compatibility with all .sav files cannot be guaranteed at this stage. Efforts will continue to progressively test other games' .sav files and refine the code accordingly.The conversion functions provide an easy way to translate between Unreal Engine's .sav and .json formats.
read_sav(file_path) to get the property instances from the .sav file.sav_to_json(props, string=True) to convert properties to JSON. Use the string parameter to return a JSON string or object..json file.load_json(file_path) to read a JSON file.json_to_sav(json_string) to convert JSON to binary data..sav file.The JSON editing functions allow users to navigate and manipulate the JSON structure using paths, providing functions like:
get_object_by_path(data, path): Locate objects in JSON by specifying the path. Returns the object found at the specified path or None if the path is not found.insert_object_by_path(data, path, new_object, position='after'): Add a new object at the specified location. Use the position parameter to insert before or after the targeted object.replace_object_by_path(data, path, new_object): Replace an object at the specified path with a new object.update_property_by_path(data, path, new_value): Modify specific keys within an object at the given full path to the property.load_json(file_path): Load a JSON file from the specified file path.obj_to_json(obj): Convert an object into a JSON string with proper indentation.print_json(data): Print a JSON object with indentation for better readability.path: A list that describes the path to the object you're looking for. Each element in the list can be:
Example path:
path_to_find = [{"name": "RankedWeapons"}, "value", 0, {'name': 'Rank'}, 'value']
Let's break down the example path:
{"name": "RankedWeapons"}: Look for an object with a key "name" and a value "RankedWeapons"."value": Inside the found object, look for the key "value".0: Inside the value, look for the first element in the list (index 0).{'name':'Rank'}: Look for an object within that element with a key "name" and a value "Rank"."value": Inside the found object, look for the key "value".This path leads you directly to a specific part of the JSON structure
A comprehensive usage example for all the available functions is provided in the Example.py file. This example was developed using the Crab Champions .sav and .json files, which you can find in the ExampleSavFiles directory.
FAQs
Python-GVAS-JSON-Converter (SavConverter) is a library designed to convert Unreal Engine's Game Variable and Attribute System (GVAS) files between .sav and .json formats.
The pypi package SavConverter receives a total of 62 weekly downloads. As such, SavConverter popularity was classified as not popular.
We found that SavConverter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
AI agents are pulling packages into environments no scanner is watching, creating exposure before security teams can see it.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.