LogoLogo
PlaygroundVideosBlogPricing
  • Welcome
  • Convai Playground
    • Playground Walkthrough
    • Get Started
    • Character Creator Tool
      • Create Character
      • Language and Speech
      • Knowledge Bank
      • Personality and Style
      • State of Mind
      • Memory
      • Actions
      • Narrative Design
      • Character Versioning
    • F.A.Q
  • Plugins & Integrations
    • Introduction
    • Unity Plugin
      • Pre-Requisites
      • Compatibility
      • Downloads
        • Limitations of WebGL Plugin
      • Setting Up Unity Plugin
      • Troubleshooting Guide
        • Disable Assembly Validation
        • Missing Newtonsoft Json
        • Microphone Permission Issues
        • Default Animations Incompatibility
        • Animations have Facial Blendshapes
        • Jaw Bone in Avatar is not Free
        • macOS Permission Issues
      • Creating a Convai Powered Scene from Template
      • Importing Ready Player Me (RPM) Characters
      • Importing Custom Characters
      • Adding Actions to your Character
      • Adding Lip-Sync to your Character
      • Adding Narrative Design to your Character
        • Narrative Design Keys
      • Adding NPC to NPC Conversation
      • Adding Scene Reference and Point-At Crosshairs
      • Utilities
        • Character Emotion
        • Player Data Container
        • Long Term Memory
        • Language Support
        • Managing sessionID Locally
        • Transcript UI System
        • Pre-built UI Prefabs
        • Input Management
        • Notification System
        • Settings Panel
        • Dynamic Information Context
      • Building For Supported Platforms
        • Building for iOS/iPadOS
        • Building for WebGL
        • Convai XR
          • Building for VR
            • VR Automatic Installation
            • VR Manual Installation
          • Building for MR
            • MR Automatic Installation
            • MR Manual Installation
          • Building for AR
          • Interacting with XR UI Elements
        • Building for macOS Universal apps
      • Changelogs
      • Tutorials
        • Narrative Design
        • NPC2NPC
    • Unreal Engine
      • Supported Platforms
      • Installation
      • Guides
        • Dynamic Environment Info
        • Change AI Character Movement Speed
        • Integration with Pixel Streaming
        • Adjust Interaction Radius
        • Creating MetaHuman Characters
          • Adding MetaHuman
          • Adding LipSync to MetaHuman (From plugin version 3.0.0 or later )
          • Change the Parent Class for MetaHuman
          • Change the parent class for Player.
          • Adding LipSync to MetaHuman (Deprecated)
        • Creating ReadyPlayerMe Characters
          • Download Plugins
          • Adding ReadyPlayerMe Character
          • Change the parent class for Player.
        • Creating Reallusion Characters
          • Creating a Reallusion Character
          • Importing Reallusion character and setting up the Convai plugin
          • Binding objects to Reallusion Character
        • Event-Aware Convai Characters
        • Operations Based on the Presence of Certain Words
        • Narrative Design
          • Narrative Design Trigger
          • Narrative Design Keys
        • Actions Guide
          • Stage 1: Default Actions
            • Moves To
            • Follows
          • Stage 2: Custom Actions
            • Simple actions
            • Adding Descriptions to Actions
          • Stage 3: Custom Actions with Single Parameter
          • Main Character and Attention Object
        • Customization
          • Push to Talk
          • Alter Character Response Audio Rate
        • Speech To Text Transcription
        • Enable Multiplayer Support
        • 3D Chat Widget
        • Long Term Memory
        • Saving and Loading Session
      • Blueprints Reference
        • Convai Player
        • Convai Chatbot
        • Convai Environment
        • Convai Object Entry
        • Convai Result Action
        • Convai Extra Params
        • Speech To Text
        • Text To Speech
        • Utility Functions
      • Troubleshoot Guide
        • Missing Unreal Engine Tool Set in Microsoft Visual Studio Toolchain
        • Convai Module Not Found
        • MetaHuman Plugin Conflict
        • Failure to Load Character IDs
      • Microphone Settings
        • Set Audio Gain
        • Set Microphone
        • Microphone test
        • List Microphone Devices
      • Mac Microphone Permission: Required for UE 5.0 and 5.3
      • Guides V2 (Under Development)
        • Getting Started
          • Installation
          • Simple Talking Cube
          • Adding Premade Chat and Settings UI
    • Web Plugin
      • PlayCanvas Plugin
        • Adding External Script
        • First Person View
        • Adding characters to scene
        • Character Animations
        • Convai Integration
        • Chat Overlay
      • Convai Web SDK
        • Getting Started
        • Facial Expressions
        • Actions
      • JavaScript Chat UI SDK
        • Getting Started
        • ChatBubble Props
      • Narrative Design Guide
        • Narrative Design Triggers
        • Narrative Design Keys
      • GLB Characters for Convai
      • GLB/FBX animations for Convai
    • Modding Framework
      • Modding Cyberpunk 2077
    • Other Integrations
      • Roblox
        • Sample Game 1
        • Sample Game 2
        • Code Example
          • Character Conversation API
      • Discord
        • Create a Discord Bot
        • Hosting Discord Bot from Personal Server
        • Hosting Discord Bot from Replit
      • Omniverse Extension
      • Third-Party API Integrations
        • ElevenLabs API Integration
    • Convai Pixel Streaming Embed
      • Whitelisting & Publishing an Experience
      • React Typescript
      • ReactJS (JavaScript)
      • Vanilla JavaScript (ES Modules)
      • CDN (UMD Script)
      • On Premise Deployment
      • API Reference
  • Reference
    • Core API Reference
      • Character Base API
      • Interaction API
      • Core AI Setting API
      • Backstory API
      • Chat History API
      • Knowledge Bank API
      • Narrative Design API
      • Action API
      • Language List API
      • Voice List API
      • Character List API
      • Evaluation API
Powered by GitBook
On this page
  • Introduction
  • Prerequisites
  • Step 1: Create the SaveGame Blueprint
  • Step 2: Saving the Session ID
  • Step 3: Loading the Session ID
  • Key Blueprint Nodes Used
  • Conclusion

Was this helpful?

  1. Plugins & Integrations
  2. Unreal Engine
  3. Guides

Saving and Loading Session

Allows NPCs to remember the conversations from a previous session and resume from where you left off, enhancing the continuity of interactions.

Introduction

This guide explains how to save and load the Session ID using Unreal Engine's SaveGame system. The steps are implemented in the ConvaiBaseCharacter Blueprint. By following this guide, you'll be able to store and retrieve Session IDs seamlessly in your project.

Prerequisites

Before starting, ensure you have the following:

  • Basic knowledge of Unreal Engine Blueprints.

  • Familiarity with the SaveGame system in Unreal Engine.

Step 1: Create the SaveGame Blueprint

To save the Session ID, you need to create a SaveGame Blueprint that will store the data.

  1. Open the Content Browser: Go to the Content Browser in Unreal Engine.

  2. Create a SaveGame Blueprint Class:

    • Right-click in the Content Browser.

    • Select: Blueprint Class > Search for SaveGame > Choose SaveGame.

    • Name the new Blueprint BP_ConvaiSave (you can name it whatever you like, but ensure consistency in your Blueprint references).

  3. Add a Variable to Store Session ID:

    • Open the BP_ConvaiSave Blueprint.

    • In the Variables panel, click + to create a new variable.

    • Configure the variable as follows:

      • Name: SessionID

      • Type: String

    • Compile and save the Blueprint.

Your SaveGame object is now ready to store the Session ID.

Step 2: Saving the Session ID

In the On Finished Talking event of the ConvaiBaseCharacter Blueprint, implement the following steps to save the Session ID:

  1. Create Save Game Object:

    • Add the Create Save Game Object node.

    • Select BP_ConvaiSave as the class.

  2. Set Session ID:

    • Use the Set SessionID node to assign the Session ID from the Convai Chatbot to the SaveGame object.

  3. Save Game to Slot:

    • Use the Save Game to Slot node to save the SaveGame object to a slot named "Session" (you can choose any slot name, but remember to use the same name when loading the saved data).

    • Use a Branch node to check if the operation was successful.

Step 3: Loading the Session ID

In the Begin Play event of the ConvaiBaseCharacter Blueprint, implement the following steps to load the Session ID:

  1. Check if Save Exists:

    • Use the Does Save Game Exist node to check if a save file exists in the "Session" slot.

  2. Load Save Game from Slot:

    • If a save exists, use the Load Game from Slot node to load the SaveGame object.

  3. Cast to BP_ConvaiSave:

    • Use the Cast to BP_ConvaiSave node to access the SessionID variable in the SaveGame object.

  4. Set Session ID:

    • Assign the loaded SessionID back to the Convai Chatbot.

Key Blueprint Nodes Used

  • Create Save Game Object: Creates the SaveGame instance for storing data.

  • Set SessionID: Assigns the Session ID to the SaveGame object.

  • Save Game to Slot: Saves the created instance to disk.

  • Does Save Game Exist: Checks if a save file exists in the specified slot.

  • Load Game from Slot: Loads the saved data from disk.

  • Cast to BP_ConvaiSave: Accesses the stored data in the SaveGame object.

Conclusion

By following this guide, you now have a functional system for saving and loading Session IDs in your project using Unreal Engine’s SaveGame system. This implementation focuses on storing data locally, but you can expand it to include server-side storage or custom file handling if needed.

For further customization or advanced functionality, explore Unreal Engine’s documentation or community tutorials.

PreviousLong Term MemoryNextBlueprints Reference

Last updated 4 months ago

Was this helpful?

If you have any questions, feel free to ask on the ! 🎉😎

Convai Developer Forum
This Blueprint shows how the Session ID is saved to a SaveGame slot when the chatbot finishes talking.
This Blueprint demonstrates how to load the Session ID from the SaveGame system and set it back to the Convai Chatbot.