Official Godot SDK for Chronos Engine.
Chronos gives your game persistent world memory, evolving NPC state, and AI-driven behavior.
Instead of NPCs forgetting everything between sessions, Chronos lets them remember player actions and react over time.
- Godot 3.6
- Godot 4.5
Copy the SDK into your project:
res://addons/chronos/Files:
Chronos.gd
ChronosRESTClient.gd
ChronosSSEClient.gd
ChronosTypes.gd
plugin.gd
plugin.cfg
- Open: Project → Project Settings → Plugins
- Find Chronos
- Set to Enabled
Chronos.configure(
"https://YOUR-VERCEL-URL",
"CHRONOS_API_KEY",
"your_world_id",
"npc_id"
)
# Plug-and-play runtime
Chronos.configure_runtime(true, 2, 50)
Chronos.start()Your game sends events → Chronos stores memory → Brain derives NPC state → your game reacts.
When Chronos updates an NPC’s state, your game listens and reacts:
Chronos.npc_state_updated.connect(_on_npc_state_updated) # Example handler for NPC updates
func _on_npc_state_updated(row):
var npc_id = row["npc_id"]
var state = row["state"]
print("NPC state updated:", npc_id, state)
# Example in a real game:
func _on_npc_state_updated(row):
var state = row["state"]
if state["mood"] == "hostile":
guard_attack_player()
if state["mood"] == "friendly":
guard_allow_entry()When something important happens in your game, send it to Chronos:
Chronos.append_event(
"player_1",
event_type,
payload,
true
)Chronos.append_event(
"player_1",
"player_lied_to_guard",
{"context": "conversation"},
true
)Chronos will automatically:
- Store the event
- Run the Brain
- Update NPC state
- Push the update back to the game
Chronos.get_npc_state("guard_1")Ensures the NPC reflects saved memory immediately.
Full demo: https://github.com/enginechronos/chronos-demo
https://chronos-magic-engine-live.vercel.app/docs
Building with Chronos?
Have questions, feedback, or ideas?
Join the community or reach out directly.
[ https://discord.gg/Pg6Txu8YyB ]
[ https://x.com/EngineChronos ]
[ https://x.com/mr_manasmishra ]
MIT License
