Skip to content

Commit 7451efa

Browse files
committed
fix(build): enable Android APK build; label Mods on/off; make FullAccessDemo first
Android players stripped the CoreAI.Mods.Hub assembly (namespace CoreAI.Ai.Hub) because the COREAI_HAS_HUB scripting define was set for Standalone but missing on Android, breaking the demo's compile (CS0234). Added the define to Android PlayerSettings so the Full Access demo builds an APK. Mods tab rows now show a bold On/Off label next to the enable checkbox so the mod state (and how to disable it) reads at a glance; Edit still opens the editor. FullAccessDemo is now the first build scene. Cleared the placeholder apiKey ('lm-studio') from the Resources CoreAISettings asset — the CoreAI build guard rejects any key in a Resources asset, and LM Studio ignores it, so runtime is unaffected. Bump to 6.1.2.
1 parent b277e45 commit 7451efa

11 files changed

Lines changed: 38 additions & 12 deletions

File tree

Assets/CoreAI/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22

3+
## [6.1.2] - 2026-07-23
4+
5+
### Fixed
6+
7+
- Android players of the mods-enabled demo failed to compile (`CS0234: the namespace 'Hub' does not
8+
exist in 'CoreAI.Ai'`): the `COREAI_HAS_HUB` scripting define was set for Standalone but missing on
9+
Android, so the `CoreAI.Mods.Hub` assembly (namespace `CoreAI.Ai.Hub`) was stripped from Android
10+
builds while a demo still referenced it. Added `COREAI_HAS_HUB` to the Android PlayerSettings defines,
11+
so the Full Access demo now builds an APK.
12+
13+
### Changed
14+
15+
- Mods tab rows now show an explicit bold **On / Off** label next to the enable checkbox. WHY: a bare
16+
checkbox did not read as on/off at a glance — the state only showed on hover or in the meta line — so
17+
it was unclear how to disable a mod. Editing is unchanged: the per-row **Edit** button opens the inline
18+
Lua editor.
19+
320
## [6.1.1] - 2026-07-23
421

522
### Removed

Assets/CoreAI/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreai",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI",
55
"unity": "6000.0",
66
"description": "Portable C# core for CoreAI \u2014 LLM agents that call your game code. Orchestration, function-calling tools, agent memory, AgentBuilder, SkillSet, and production resilience (retries, timeouts, rate limits), with no UnityEngine dependency. LLM and Lua are optional modules (COREAI_NO_LLM / COREAI_NO_LUA), so the core compiles without them \u2014 install only what your game uses. Unity integration ships in com.neoxider.coreaiunity.",

Assets/CoreAIBenchmark/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaibenchmark",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI Benchmark",
55
"unity": "6000.0",
66
"description": "LLM game-creation benchmark harness and scenarios for CoreAI: drives execute_lua and world_command through real PlayMode scenarios (G1-G8), grades tool correctness, reasoning, instruction adherence, and determinism, and reports suite/role fitness scores. Depends on com.neoxider.coreai / com.neoxider.coreaiunity / com.neoxider.coreaimods.",

Assets/CoreAIHub/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaihub",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI Hub (UI Toolkit)",
55
"unity": "6000.0",
66
"description": "Optional UI Toolkit window for CoreAI: a tabbed Hub that renders pages registered into CoreAI's HubPageRegistry (Chat, Settings, Statistics, Mods, and C#/Lua-authored pages). Lazy per-tab content, live tab rebuild on register/unregister, semi-transparent runtime panel, and a future path to Unity 6.5 world-space PanelRenderer. Install this package only when you want the built-in Hub window; without it CoreAI still exposes the registry so you can render pages on your own uGUI/UITK canvas via the API. Depends on com.neoxider.coreai.",

Assets/CoreAIMcp/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaimcp",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI MCP Server",
55
"unity": "6000.0",
66
"description": "Optional Model Context Protocol (MCP) server that runs INSIDE a live CoreAI game session (play mode or a build) so an external agent - Claude Code and any other MCP client - can drive the running game over a standard protocol. Exposes the in-game Command Bar surface (execute_lua, manage_mods, get_mod_logs, and, when present, world_command + screenshot) as MCP tools over localhost streamable HTTP. Off by default: drop a CoreAiMcpServer component into a scene (or call CoreAiMcpServer.StartServer). Localhost-only, opt-in, no auth - never expose beyond loopback. Depends on com.neoxider.coreaimods; world/screenshot tools register only when those services exist in the current composition.",

Assets/CoreAIMods/Runtime/HubIntegration/HubModsPage.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,20 @@ private VisualElement BuildModRow(HubModRecord mod)
253253

254254
Toggle toggle = new() { value = mod.IsLoaded };
255255
toggle.tooltip = "Enable / disable (load / unload) the mod.";
256-
toggle.style.marginRight = 6f;
256+
toggle.style.marginRight = 4f;
257257
toggle.SetEnabled(_service.IsSupported);
258258
toggle.RegisterValueChangedCallback(evt => ToggleMod(mod.Id, evt.newValue));
259259
top.Add(toggle);
260260

261+
// WHY: a bare checkbox did not read as "on/off" at a glance (the state only showed on hover
262+
// or in the meta line), so label it explicitly next to the toggle.
263+
Label state = HubModWidgets.MakeFieldLabel(mod.IsLoaded ? "On" : "Off");
264+
state.style.unityFontStyleAndWeight = FontStyle.Bold;
265+
state.style.color = mod.IsLoaded ? HubModWidgets.Accent : HubModWidgets.Muted;
266+
state.style.width = 30f;
267+
state.style.marginRight = 8f;
268+
top.Add(state);
269+
261270
VisualElement nameCol = new();
262271
nameCol.style.flexGrow = 1f;
263272
nameCol.style.flexShrink = 1f;

Assets/CoreAIMods/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaimods",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI Mods (Lua)",
55
"unity": "6000.0",
66
"description": "Lua modding layer for CoreAI: the Lua-CSharp sandbox (managed, AOT-safe, WebGL/IL2CPP-ready — bundled, no external package), execute_lua and manage_mods tools, the Lua Modding skill, the mod runtime, persistent mod stores, gameplay bindings, and mod UI. Depends on com.neoxider.coreai / com.neoxider.coreaiunity. Install this package only when you want AI/player-authored Lua mods; without it CoreAI compiles Lua-free.",

Assets/CoreAiUnity/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaiunity",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"displayName": "CoreAI Unity",
55
"unity": "6000.0",
66
"description": "Unity framework for LLM-powered NPCs and agents that call your game code \u2014 drop-in chat UI, function-calling tools, persistent memory, token-by-token streaming, and per-role LLM routing. Runs on a local GGUF model (via LLMUnity) or any OpenAI-compatible API; proven on a 4 GB local model. Unity layer for com.neoxider.coreai.",

Assets/Resources/CoreAISettings.asset

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ MonoBehaviour:
1616
executionMode: 2
1717
autoPriority: 0
1818
apiBaseUrl: http://127.0.0.1:1234/v1
19-
apiKey: lm-studio
19+
apiKey:
2020
modelName: qwen3.5-4b-mtp
2121
visionSupport: 0
2222
enableTemperatureOverriding: 1

ProjectSettings/EditorBuildSettings.asset

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ EditorBuildSettings:
55
m_ObjectHideFlags: 0
66
serializedVersion: 2
77
m_Scenes:
8-
- enabled: 1
9-
path: Assets/CoreAI.Demos/Hub/CoreAiHubDemo.unity
10-
guid: 0fa1ad60474e1354d87844cc6983a349
118
- enabled: 1
129
path: Assets/CoreAI.Demos/FullAccess/FullAccessDemo.unity
1310
guid: c5c246012d0b41fb8d2edbcc145a0429
11+
- enabled: 1
12+
path: Assets/CoreAI.Demos/Hub/CoreAiHubDemo.unity
13+
guid: 0fa1ad60474e1354d87844cc6983a349
1414
- enabled: 1
1515
path: Assets/CoreAiUnity/Scenes/CoreAiChatDemo.unity
1616
guid: f59034d50b0ddf34b8161745236be0d0

0 commit comments

Comments
 (0)