Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Memory NPC Prototype

A minimal Unity feasibility prototype for persistent NPC memory and budget-aware dialogue context selection.

Purpose

This repository is a pre-project technical exploration for a possible University of London CM3070 Final Project. It is intended to answer a small set of feasibility questions before the formal project begins:

  1. Can a Unity client complete a reliable, cancellable dialogue request?
  2. Can structured memories created by RPG choices survive an application restart and influence later NPC dialogue?
  3. Can a deterministic context builder preserve important facts while enforcing a context budget?

This repository is not yet the assessed Final Project implementation, and results produced here are not final evaluation evidence.

Prototype target

The player selects constrained RPG dialogue choices. Trusted intents write compact semantic records, deterministic tags retrieve relevant memories, and Arthur responds through Mock or Gemini before the next three choices are generated.

The prototype is complete when this flow works with a mock provider, handles failure safely, and can be demonstrated without an API key. A remote provider is optional until the offline vertical slice is stable.

Current status

A complete Unity 2022.3.62f3 feasibility prototype now demonstrates memory-driven RPG dialogue. The scene contains three choice buttons instead of free-text input; Gemini can generate validated dynamic choices, while deterministic fallback choices keep the full flow playable offline. Arthur's replaceable character-state boundary currently uses deterministic trust, concern and anger values that influence both responses and subsequent choices.

Optional Gemini provider

The project remains offline by default. To test Gemini without committing a credential:

  1. Copy Config/gemini-provider.example.json to Config/gemini-provider.local.json.
  2. Set UseGemini to true.
  3. Put your Gemini key in ApiKey and keep or replace the Model value.
  4. Enter Play Mode and use the existing dialogue UI.

Files ending in .local.json are ignored by Git. Never place a real key in the example file, a scene, a prefab or source code. Invalid or absent local configuration safely selects the deterministic mock provider.

Documentation

Academic boundary

Pre-project exploration will be dated and disclosed to the future supervisor. Formal requirements, implementation history, experiments and evaluation data will be created during the assessed project in accordance with the current CM3070 guidance.

About

A minimal Unity feasibility prototype for persistent NPC memory and budget-aware dialogue context selection.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages