[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ESBYFAAG5BJG6MCTWCMYRC":3,"skill-same:01M6ESBYFAAG5BJG6MCTWCMYRC":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":43,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6ESBYFAAG5BJG6MCTWCMYRC","unreal-build-save-systems",null,"Build Unreal mutable-state persistence with versioned identities, validated migrations, owned asynchronous work and transactional restoration.","TimothyMeadows\u002FHephaera","TimothyMeadows","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4072037?v=4","01M6ERVE3WV9X55S1NT4W5FDGA","Timothy D Meadows II","01M6ERVE8H7CBATH6KYFDKG5CJ",4,"MIT","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funreal-build-save-systems\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"save","build","unreal","systems","unreal build save systems","state","persistence","asynchronous","work","migrations","with","transactional","2026-11-10 10:12:30",false,"---\nname: unreal-build-save-systems\ndescription: Build Unreal mutable-state persistence with versioned identities, validated migrations, owned asynchronous work and transactional restoration.\nengines: [UNREAL]\n---\n\n# Unreal Build Save Systems\n\n## When to use\n\nImplement per-player\u002Fworld mutable state, checkpointing, save migration and restore workflows in an Unreal project. Authored DataAssets\u002Ftables and Asset Manager loading remain definition\u002Fcontent concerns; a save references definitions rather than modifying shared packages.\n\n## Activation and inputs\n\nRun `commands\u002Fresolve-engine.sh` and `commands\u002Fresolve-skill.sh unreal-build-save-systems`; require effective `UNREAL` and `compatible: true` before edits or launches. Respect validated task-only output scope. Keep observed project context under `.hephaera\u002F.cache`; game saves use the project's supported platform storage, not Hephaera task storage.\n\nInspect Unreal version, platform\u002Fuser identity, slot\u002Fstorage policy, authority, data sizes, supported older versions, migration rules and privacy requirements. Select local\u002Fplatform\u002Fcloud storage explicitly; no account setup, third-party service or implicit license acceptance is part of this skill.\n\n## Workflow\n\n1. Read [serialization, migration and restore](references\u002Fserialization-and-restore.md). Define versioned value data and stable world\u002Finstance\u002Fdefinition identities; do not persist raw UObject pointers, editor labels or transient object paths.\n2. Capture consistent state on its owning thread. Separate immutable authored data from mutable values and avoid serializing live actors from a worker. Give every save\u002Fload request an owner, user\u002Fslot identity and generation.\n3. Decode into temporary state, validate type\u002Fversion\u002Fsize\u002Franges\u002Freferences and migrate supported versions before changing the live world. Reject corrupt, incompatible or future-version data without silently overwriting the user's last valid save.\n4. Restore in a defined readiness order and commit validated state at one application boundary. A failed validation, missing required streamed content or cancelled request must preserve the prior live state. Define rollback\u002Fcompensation for unavoidable side effects.\n5. Serialize writes per user\u002Fslot, use the chosen platform's supported durability strategy, verify completion and retain recovery policy. Do not claim an engine slot API alone guarantees atomic disk replacement or durable cloud synchronization.\n\n## Verification and output\n\nDeliver reflected value schemas, migration and storage\u002Frestore code, sample native round-trip fixtures and explicit recovery behavior. Test supported legacy versions, renamed\u002Fmissing identities, duplicate entities, invalid ranges, future schemas, malformed\u002Ftruncated bytes, write failures, slot\u002Fuser isolation and world travel during an async load. Cancellation may invalidate application even when the underlying platform I\u002FO cannot be cancelled.\n\nRecord expected\u002Fobserved results, native environment and evidence; native serialization tests do not prove platform durability or a complete gameplay restore. Missing matching tools or target storage remain blocked\u002Fnot-run. Do not fabricate save success or accept a stale callback into a different user\u002Fworld.\n","# Unreal Build Save Systems\n\n## When to use\n\nImplement per-player\u002Fworld mutable state, checkpointing, save migration and restore workflows in an Unreal project. Authored DataAssets\u002Ftables and Asset Manager loading remain definition\u002Fcontent concerns; a save references definitions rather than modifying shared packages.\n\n## Activation and inputs\n\nRun `commands\u002Fresolve-engine.sh` and `commands\u002Fresolve-skill.sh unreal-build-save-systems`; require effective `UNREAL` and `compatible: true` before edits or launches. Respect validated task-only output scope. Keep observed project context under `.hephaera\u002F.cache`; game saves use the project's supported platform storage, not Hephaera task storage.\n\nInspect Unreal version, platform\u002Fuser identity, slot\u002Fstorage policy, authority, data sizes, supported older versions, migration rules and privacy requirements. Select local\u002Fplatform\u002Fcloud storage explicitly; no account setup, third-party service or implicit license acceptance is part of this skill.\n\n## Workflow\n\n1. Read [serialization, migration and restore](references\u002Fserialization-and-restore.md). Define versioned value data and stable world\u002Finstance\u002Fdefinition identities; do not persist raw UObject pointers, editor labels or transient object paths.\n2. Capture consistent state on its owning thread. Separate immutable authored data from mutable values and avoid serializing live actors from a worker. Give every save\u002Fload request an owner, user\u002Fslot identity and generation.\n3. Decode into temporary state, validate type\u002Fversion\u002Fsize\u002Franges\u002Freferences and migrate supported versions before changing the live world. Reject corrupt, incompatible or future-version data without silently overwriting the user's last valid save.\n4. Restore in a defined readiness order and commit validated state at one application boundary. A failed validation, missing required streamed content or cancelled request must preserve the prior live state. Define rollback\u002Fcompensation for unavoidable side effects.\n5. Serialize writes per user\u002Fslot, use the chosen platform's supported durability strategy, verify completion and retain recovery policy. Do not claim an engine slot API alone guarantees atomic disk replacement or durable cloud synchronization.\n\n## Verification and output\n\nDeliver reflected value schemas, migration and storage\u002Frestore code, sample native round-trip fixtures and explicit recovery behavior. Test supported legacy versions, renamed\u002Fmissing identities, duplicate entities, invalid ranges, future schemas, malformed\u002Ftruncated bytes, write failures, slot\u002Fuser isolation and world travel during an async load. Cancellation may invalidate application even when the underlying platform I\u002FO cannot be cancelled.\n\nRecord expected\u002Fobserved results, native environment and evidence; native serialization tests do not prove platform durability or a complete gameplay restore. Missing matching tools or target storage remain blocked\u002Fnot-run. Do not fabricate save success or accept a stale callback into a different user\u002Fworld.\n",{"name":5,"engines":36,"description":7},[37],"UNREAL","main","f819d9a9c7d641d8c7e14b59560a4fd358ec4630","skills\u002Funreal-build-save-systems",3,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera","https:\u002F\u002Fhephaera.com\u002F","https:\u002F\u002Fgithub.com\u002FTimothyMeadows","http:\u002F\u002Fwww.timothymeadows.com","Software & AI Systems Architect | Distributed Systems & Agentic Platforms","2026-11-13 12:12:19",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add TimothyMeadows\u002FHephaera --skill unreal-build-save-systems",{"tool":54,"command":55},"bunx","bunx skills add TimothyMeadows\u002FHephaera --skill unreal-build-save-systems",{"tool":57,"command":58},"pnpm","pnpm dlx skills add TimothyMeadows\u002FHephaera --skill unreal-build-save-systems","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funreal-build-save-systems\u002FSKILL.md",true,[62,68,72],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"agents\u002Fopenai.yaml","REFERENCE","参考文档",295,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funreal-build-save-systems\u002Fagents\u002Fopenai.yaml",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fserialization-and-restore.md",4819,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funreal-build-save-systems\u002Freferences\u002Fserialization-and-restore.md",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"SKILL.md.tmpl","OTHER","其他",46749,"https:\u002F\u002Fgithub.com\u002Fseastaradmin\u002Fmuse\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgstack\u002Fship\u002FSKILL.md.tmpl",[79,103,127,146,165,184],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":31},"01M70V3EJ7JDFDFJ3XTKRGKRBP","verify-web3-game-lifecycle","Verify a game's selected Web3 asset, wallet, ownership and trading lifecycle with contract properties, canonical recovery, actual target evidence and separate release readiness.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fverify-web3-game-lifecycle\u002FSKILL.md",[],[86,87,88,89,90,29,91,92,93,94,95,96,97,98,99,100,101,102],"game","verify","lifecycle","verify web3 game lifecycle","web3","evidence","readiness","release readiness","Wallet","recovery","properties","release","contract","canonical","asset","ownership","trading",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":31},"01M70V3CS767H4M1FP4C2A7K51","verify-onchain-game-assets","Verify exact on-chain game collection ownership and quantities at canonical blocks, reconcile inventory events, and design honest match admission. Use for ERC721\u002FERC1155 inventory, reorg recovery, reservations, or transfer-during-match rules.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fverify-onchain-game-assets\u002FSKILL.md",[],[86,110,87,111,112,113,114,115,116,117,118,119,120,121,122,123,95,124,125,126],"onchain","game assets","assets","verify onchain game assets","chain","for","inventory","reservations","design","erc721","use","Rules","collection","on-chain","at","blocks","reconcile",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":31},"01M70TZYWE48MTM8CGGDMWSJDN","plan-web3-game-assets","Define an opt-in Ethereum, Base or Immutable game-asset lifecycle, including token identity, supply, rights, custody, game eligibility and chain-specific dependencies.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fplan-web3-game-assets\u002FSKILL.md",[],[86,134,111,112,135,90,136,137,138,139,114,140,88,141,142,143,144,100,145],"plan","plan web3 game assets","supply","opt","immutable","rights","dependencies","token","base","define","ethereum","identity",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":31},"01M70TYYZ7SPZ7PE6A6GQ5RXQ9","integrate-game-wallets","Integrate explicit player-wallet connection, scoped SIWE authentication, authority invalidation and reviewed target-specific handoff without application-held player keys.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002FSKILL.md",[],[86,153,154,155,156,94,157,158,159,160,161,162,163,164],"integrate game wallets","integrate","wallets","siwe","keys","authentication","player","scoped","connection","authority","application","handoff",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":31},"01M70TYX656BP1R0KWMYRX437R","integrate-game-asset-trading","Integrate explicitly selected game asset settlement with exact unsigned intents, scoped approvals, idempotent operations and canonical receipt reconciliation. Use for NFT listing, buying, cancellation, retries or marketplace integration.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-asset-trading\u002FSKILL.md",[],[86,172,154,100,102,173,174,115,160,175,120,176,177,29,178,179,180,181,182,183],"integrate game asset trading","reconciliation","idempotent operations","retries","listing","idempotent","nft","approvals","operations","marketplace","integration","intents",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":190,"publishedAt":31},"01M70TWV3J83RAJMA7BC62CPAH","build-evm-game-contracts","Author and verify host-owned EVM game collections and explicit mint, burn, craft or admin rules with pinned Solidity tooling. Use for contract source and deployment candidates; deployment and player signing require separate authorization.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fbuild-evm-game-contracts\u002FSKILL.md",[],[86,191,20,192,193,115,194,159,195,98,196,120,121,197,29,198,199,87,200,201],"evm","build evm game contracts","contracts","deployment","collections","host","author","admin","signing","mint","tooling"]