[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES9XCC0VCQ7F50YRR7WPQT":3,"skill-same:01M6ES9XCC0VCQ7F50YRR7WPQT":74},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6ES9XCC0VCQ7F50YRR7WPQT","unity-integrate-voice-chat",null,"Integrate explicitly selected Vivox voice channels with identity, microphone permission, participant controls and lifecycle-safe teardown.","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\u002Funity-integrate-voice-chat\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"voice","integrate","chat","unity","voice chat","unity integrate voice chat","safe","identity","lifecycle","permission","teardown","controls","channels","with","2026-11-10 10:12:30",false,"---\nname: unity-integrate-voice-chat\ndescription: Integrate explicitly selected Vivox voice channels with identity, microphone permission, participant controls and lifecycle-safe teardown.\nengines: [UNITY]\n---\n\n# Unity Integrate Voice Chat\n\n## When to use\n\nBuild Vivox communication into a selected Unity project. Ordinary game sound effects and mixer authoring remain with `unity-build-audio`.\n\n## Activation and inputs\n\nRun `commands\u002Fresolve-engine.sh` and `commands\u002Fresolve-skill.sh unity-integrate-voice-chat` before edits or tool launches; require effective `UNITY`, compatibility and permitted output scope. Inspect the installed Vivox SDK, authentication provider, target devices, authorized development environment, channel types, privacy\u002Fmoderation requirements and transmission policy. Do not create accounts, activate Vivox, obtain tokens or record voice implicitly.\n\n## Workflow\n\n1. Map initialize\u002Flogin\u002Fchannel join\u002Fleave\u002Flogout to explicit owners. Use server-authorized identity and channel access where required; keep token-signing keys outside the client and all tokens outside reports.\n2. Handle microphone permission before transmitting. Preserve a usable receive-only or disabled state when permission is denied or devices are unavailable. Make push-to-talk, local microphone mute, local participant mute and moderator actions distinct.\n3. Register participant, device and connection handlers once for the active login generation. Reconnect and scene transitions must not duplicate UI rows or resurrect an old channel after logout.\n4. For positional channels, select audible\u002Fconversational distances and update rate against game scale and budget. Supply the locally owned actor to the SDK's Unity position API; do not manually repeat the SDK's coordinate conversion.\n5. On teardown stop transmission, remove owned handlers, leave channels and log out through bounded awaited operations. Ignore stale presentation callbacks while retaining responsibility for late resource cleanup.\n\nRead [voice ownership](references\u002Fvoice-lifecycle.md) when implementing channels, permissions and devices.\n\n## Verification and output\n\nProvide package\u002Fchannel configuration, permission and device-state transitions, connection\u002Fparticipant lifecycle tests and sanitized evidence. Test denied\u002Frevoked permission, unplugged devices, reconnect, duplicate callbacks, scene teardown and each mute scope. Physical capture\u002Fplayback and spatial intelligibility require consenting participants on real target devices; headless or simulated checks cannot certify audible voice. Mark unavailable SDK\u002Faccount\u002Fdevice checks blocked\u002Fnot-run and keep observations under resolved `.hephaera\u002F.cache`.\n","# Unity Integrate Voice Chat\n\n## When to use\n\nBuild Vivox communication into a selected Unity project. Ordinary game sound effects and mixer authoring remain with `unity-build-audio`.\n\n## Activation and inputs\n\nRun `commands\u002Fresolve-engine.sh` and `commands\u002Fresolve-skill.sh unity-integrate-voice-chat` before edits or tool launches; require effective `UNITY`, compatibility and permitted output scope. Inspect the installed Vivox SDK, authentication provider, target devices, authorized development environment, channel types, privacy\u002Fmoderation requirements and transmission policy. Do not create accounts, activate Vivox, obtain tokens or record voice implicitly.\n\n## Workflow\n\n1. Map initialize\u002Flogin\u002Fchannel join\u002Fleave\u002Flogout to explicit owners. Use server-authorized identity and channel access where required; keep token-signing keys outside the client and all tokens outside reports.\n2. Handle microphone permission before transmitting. Preserve a usable receive-only or disabled state when permission is denied or devices are unavailable. Make push-to-talk, local microphone mute, local participant mute and moderator actions distinct.\n3. Register participant, device and connection handlers once for the active login generation. Reconnect and scene transitions must not duplicate UI rows or resurrect an old channel after logout.\n4. For positional channels, select audible\u002Fconversational distances and update rate against game scale and budget. Supply the locally owned actor to the SDK's Unity position API; do not manually repeat the SDK's coordinate conversion.\n5. On teardown stop transmission, remove owned handlers, leave channels and log out through bounded awaited operations. Ignore stale presentation callbacks while retaining responsibility for late resource cleanup.\n\nRead [voice ownership](references\u002Fvoice-lifecycle.md) when implementing channels, permissions and devices.\n\n## Verification and output\n\nProvide package\u002Fchannel configuration, permission and device-state transitions, connection\u002Fparticipant lifecycle tests and sanitized evidence. Test denied\u002Frevoked permission, unplugged devices, reconnect, duplicate callbacks, scene teardown and each mute scope. Physical capture\u002Fplayback and spatial intelligibility require consenting participants on real target devices; headless or simulated checks cannot certify audible voice. Mark unavailable SDK\u002Faccount\u002Fdevice checks blocked\u002Fnot-run and keep observations under resolved `.hephaera\u002F.cache`.\n",{"name":5,"engines":38,"description":7},[39],"UNITY","main","f819d9a9c7d641d8c7e14b59560a4fd358ec4630","skills\u002Funity-integrate-voice-chat",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":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add TimothyMeadows\u002FHephaera --skill unity-integrate-voice-chat",{"tool":56,"command":57},"bunx","bunx skills add TimothyMeadows\u002FHephaera --skill unity-integrate-voice-chat",{"tool":59,"command":60},"pnpm","pnpm dlx skills add TimothyMeadows\u002FHephaera --skill unity-integrate-voice-chat","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funity-integrate-voice-chat\u002FSKILL.md",true,[64,70],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"agents\u002Fopenai.yaml","REFERENCE","参考文档",271,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funity-integrate-voice-chat\u002Fagents\u002Fopenai.yaml",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fvoice-lifecycle.md",3118,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Funity-integrate-voice-chat\u002Freferences\u002Fvoice-lifecycle.md",[75,98,122,140,158,177],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":33},"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",[],[82,83,27,84,85,32,86,87,88,89,90,91,92,93,94,95,96,97],"game","verify","verify web3 game lifecycle","web3","evidence","readiness","release readiness","Wallet","recovery","properties","release","contract","canonical","asset","ownership","trading",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":33},"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",[],[82,105,83,106,107,108,109,110,111,112,113,114,115,116,117,118,90,119,120,121],"onchain","game assets","assets","verify onchain game assets","chain","for","inventory","reservations","design","erc721","use","Rules","collection","on-chain","at","blocks","reconcile",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":33},"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",[],[82,129,106,107,130,85,131,132,133,134,109,135,27,136,137,138,139,95,26],"plan","plan web3 game assets","supply","opt","immutable","rights","dependencies","token","base","define","ethereum",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":33},"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",[],[82,147,20,148,149,89,150,151,152,153,154,155,156,157],"integrate game wallets","wallets","siwe","keys","authentication","player","scoped","connection","authority","application","handoff",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":33},"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",[],[82,165,20,95,97,166,167,110,153,168,115,169,170,32,171,172,173,174,175,176],"integrate game asset trading","reconciliation","idempotent operations","retries","listing","idempotent","nft","approvals","operations","marketplace","integration","intents",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":33},"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",[],[82,184,185,186,187,110,188,152,189,93,190,115,116,191,32,192,193,83,194,195],"evm","build","build evm game contracts","contracts","deployment","collections","host","author","admin","signing","mint","tooling"]