Soul Module
Soul workflows in the UE plugin mirror the current core/node SDKs: local export builds an FSoul from store state, while remote export/import/list/verify use API-backed thunks.
Core Types
FSoulVerifyResult is the UE-normalized verification result shape used by verifySoulThunk(...).
Local Export
Local export does not call the API. It builds an FSoul from the selected NPC plus the current MemorySlice.
If no NPC id is passed, the active NPC is used.
Remote Export
Remote export uploads a signed Soul payload through the API and Arweave flow.
Remote export requires an API key.
Import, List, And Verify
ImportSoulreturns a portableFSoulImportNpcFromSoulalso writes the imported NPC intoNPCSliceListSoulspopulatesSoulSlice::AvailableSoulsVerifySoulreturnsbValidandReason
Slice State
SoulSlice tracks:
- remote export status and last export
- import status and last import
- available soul list
- error state
Direct Thunks
For direct store usage, dispatch:
rtk::localExportSoulThunk(NpcId)rtk::remoteExportSoulThunk(NpcId)rtk::importSoulFromArweaveThunk(TxId)rtk::importNpcFromSoulThunk(TxId)rtk::getSoulListThunk(Limit)rtk::verifySoulThunk(TxId)
