Blueprint Guide

View as Markdown

The implemented Blueprint-callable surface in the current plugin is UForbocAIBlueprintLibrary. These functions are thin wrappers over SDKOps::*.

1#include "RuntimeBlueprintLibrary.h"

Available Blueprint Calls

System and config

  • CheckApiStatus() -> FString
  • ConfigSet(Key, Value)
  • ConfigGet(Key) -> FString

NPC

  • CreateNpc(Persona) -> FString
  • ProcessNpc(NpcId, Text) -> FString
  • HasActiveNpc() -> bool

Memory

  • MemoryStore(NpcId, Observation)
  • MemoryClear(NpcId)

Ghost

  • GhostRun(TestSuite, Duration) -> FString
  • GhostStop(SessionId) -> FString

Soul

  • ExportSoul(NpcId) -> FString
  • ImportSoul(TxId) -> FString
  • VerifySoul(TxId) -> bool

Bridge

  • ValidateBridgeAction(ActionJson) -> bool

Minimal Blueprint Workflow

  1. Call ConfigSet("apiUrl", "https://api.forboc.ai")
  2. Call ConfigSet("apiKey", "<your key>")
  3. Call CreateNpc(Persona) and keep the returned NPC id
  4. Call ProcessNpc(NpcId, Input) to get dialogue text
  5. Optionally call ExportSoul(NpcId) or VerifySoul(TxId)

Important Limitation

The Blueprint library is intentionally small. It does not expose the full store/thunk runtime, and it does not currently give you explicit Blueprint control over local cortex or node-memory initialization.

If you need:

  • direct slice access
  • custom store instances
  • local cortex initialization
  • local node-memory initialization
  • direct async thunk composition

use C++ with createSDKStore() and the rtk::*Thunk APIs instead.

C++ Equivalent

The Blueprint wrappers call the same synchronous helpers you can use in C++:

1#include "RuntimeStore.h"
2#include "CLI/CliOperations.h"
3
4auto Store = createSDKStore();
5FNPCInternalState Npc = SDKOps::CreateNpc(Store, TEXT("A cautious merchant"));
6FAgentResponse Response = SDKOps::ProcessNpc(Store, Npc.Id, TEXT("Hello"));