{"id":23070407,"url":"https://github.com/gwaredd/yamldataasset","last_synced_at":"2026-03-06T02:37:40.755Z","repository":{"id":268274474,"uuid":"903825263","full_name":"gwaredd/YamlDataAsset","owner":"gwaredd","description":"An Unreal Editor plugin that lets you import and export UDataAsset's as yaml files.","archived":false,"fork":false,"pushed_at":"2025-03-10T10:29:04.000Z","size":251,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T10:18:52.344Z","etag":null,"topics":["json","unreal","unreal-engine-5","yaml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gwaredd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-12-15T16:49:54.000Z","updated_at":"2025-03-10T10:29:07.000Z","dependencies_parsed_at":"2025-03-10T11:39:26.187Z","dependency_job_id":null,"html_url":"https://github.com/gwaredd/YamlDataAsset","commit_stats":null,"previous_names":["gwaredd/yamldataasset"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gwaredd/YamlDataAsset","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwaredd%2FYamlDataAsset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwaredd%2FYamlDataAsset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwaredd%2FYamlDataAsset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwaredd%2FYamlDataAsset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gwaredd","download_url":"https://codeload.github.com/gwaredd/YamlDataAsset/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwaredd%2FYamlDataAsset/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30159650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"online","status_checked_at":"2026-03-06T02:00:08.268Z","response_time":250,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["json","unreal","unreal-engine-5","yaml"],"created_at":"2024-12-16T06:26:37.371Z","updated_at":"2026-03-06T02:37:40.740Z","avatar_url":"https://github.com/gwaredd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YamlDataAsset\n\nA plugin for the Unreal Editor that allows you to convert between UDataAssets and YAML files.\n\nThis makes it easier to swap between Unreal and external data sources.\n\n## Installation\n\n* Like any plugin, clone this repository into the `Plugins` directory and compile into your project.\n\n* You may also need to enable it in the plugins settings (`Edit-\u003ePlugins-\u003eProject-\u003eEditor`).\n\n \n## Usage\n\n### To Import\n\n* Drop a YAML file into the content browser.\n* Select the asset type from the list.\n* Click OK.\n\n![Select Asset](./Docs/SelectAsset.png)\n\n### To Export\n\n* Choose export from the `Asset Actions` menu, choose YAML.\n\n![Export Asset](./Docs/Export.png)\n\n\n## Example\n\n### UMyDataAsset\n\n```c++\nUCLASS( BlueprintType )\nclass UMyDataAsset : public UDataAsset\n{\n\tGENERATED_UCLASS_BODY()\n\n\tUPROPERTY( EditAnywhere )\n\tFName Name;\n\n\tUPROPERTY( EditAnywhere )\n\tTArray\u003cint\u003e SomeNumbers;\n};\n```\n\n### YAML\n\n```yaml\nName: MyName\nSomeNumbers:\n  - 4\n  - 8\n  - 15\n  - 16\n  - 23\n  - 42\n```\n\nThe plugin uses the Unreal reflection system walk the properties and set the values. It is recursive, so it will work with nested structures, collections and compound types. Property names are case-insensitive.\n\n## Notes\n\n### __uclass\n\nYou can put a `__uclass` property at the top of the file to let the plugin know the class to use. If the UDataAsset exists then it will skip the dialog box. For example:\n\n```yaml\n__uclass: MyDataAsset\nName: MyName\nSomeNumbers:\n  - 4\n  - 8\n  - 15\n  - 16\n  - 23\n  - 42\n```\n\n### Asset References\n\nYou can set pointers to assets by setting the reference as a string in the yaml (right click on the asset in the content browser and select `Copy Reference`).\n\nFor example:\n\n```c++\nUPROPERTY( EditAnywhere )\nTWeakObjectPtr\u003cUObject\u003e MyAssetReference;\n};\n```\n\n```yaml\nMyAssetReference: /Script/MyProject.MyDataAsset'/Game/Assets/MyDataAsset.MyDataAsset'\n```\n\n\n### Compound Keys\n\nA `TMap` with a compound key type (a struct as a key, e.g. `TMap\u003cFMyCustomKey,FString\u003e`) is not supported. Whilst this is allowed in Unreal, JSON (and therefore YAML) only allows strings for keys (this is a JavaScript limitation). Note that value types will be automatically converted.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgwaredd%2Fyamldataasset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgwaredd%2Fyamldataasset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgwaredd%2Fyamldataasset/lists"}