> ## Documentation Index
> Fetch the complete documentation index at: https://summer-18f03259-codex-native-multiplayer-entry.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# What are the limitations of AI operations?

> AI changes go through safe APIs. Some tasks still require manual work. Learn what works well and what doesn't.

## What Works Well

Summer Engine's AI can do a lot directly in your project:

**Scene modifications.** Add nodes, set properties, connect signals. "Add a CharacterBody2D named Player." "Set the Button text to 'Start Game'." "Connect the Button's pressed signal to start\_game." Changes appear immediately in the editor.

**Script operations.** Create scripts, attach them to nodes, open your external editor for code. Summer Engine writes production-ready code that integrates with your existing codebase.

**Asset import.** Import 3D models, textures, and audio from Summer Studio. "Import a low-poly tree for my forest." "Build a village: houses, trees, fences, and props." Summer Engine searches, downloads, runs the import pipeline, and places assets. Bulk import is supported. Many assets in one batch.

**Project settings.** Change main scene, physics layers, window size. Add input actions (jump, movement, controller mappings).

**Game systems.** Character controllers, inventory systems, AI behaviors, network sync. Summer Engine builds complete systems, not just snippets.

Changes go through project-bound tools with explicit targets and exact receipts. Scene operations integrate with the editor's undo history; file operations are applied atomically and reject stale overwrites.

## Things People Expect to Be Limits, But Are Not

**Explicit scene targets.** A scene does not need to be open or visible before Summer changes it. Each mutation names one exact `scenePath`, so cross-scene work proceeds scene by scene without relying on whichever editor tab happens to be active.

**Recoverable tool failures.** A failed tool call is not automatically a failed task. Summer returns the concrete reason—for example, a missing scene dependency or stale file receipt—so the AI can inspect the current state, repair it, and retry.

**Concurrent work.** Main agents and subagents can work at the same time without a routine whole-project writer lock. If two edits collide on the same file, the stale overwrite is refused and the AI must reread before deciding whether to retry.

## Current Limitations

**No batch code refactors.** Large refactors across many files (e.g., rename a function in 50 files) are not supported yet. Bulk asset import is supported; bulk code refactors are not.

**Limited import settings.** Asset import options are mostly manual for now. You may need to adjust import settings in the editor for some assets.

**Shell commands require approval.** Summer Engine can propose shell commands (run tests, install deps, run scripts), but nothing executes until you approve it. This is by design. You stay in control.

**A file written to disk is not loadable until it is imported.** Writing `res://raw.png` and then calling `load()` on it fails with `No loader found for resource: res://raw.png`. The editor has to run an import pass before the file becomes a real resource. This is the usual explanation for "the AI wrote my asset but nothing can find it." See [Headless Scripting](/automation/headless) for the import pass and for the resource-authoring route that needs no import at all.

**`LightmapGI.bake()` cannot be called from a script.** The method is not bound in the scripting API — upstream Godot behaviour, not a Summer change — so lightmap baking cannot be driven from GDScript, in the editor or at runtime.

**`OccluderInstance3D.bake_single_node()` is not bound either.** Occlusion baking is still reachable, through the editor's own built-in plugin. [Editor Plugins](/extending/editor-plugins) has the working recipe.

**Anything needing `EditorInterface` is editor-only.** `EditorScript`, `EditorPlugin`, `EditorInterface` and `EditorFileSystem` cannot be instantiated by an ordinary script. The supported route is a `@tool` [editor plugin](/extending/editor-plugins), which gets the whole `EditorInterface`, including forced reimports and saving scenes from code.

## What's Safe

* Explicit project, file, and scene targets
* Exact engine and file receipts
* Conflict-aware file writes that refuse stale content
* Editor undo support for scene operations

## Best Practices

**Review before applying.** The change review panel shows exactly what will be modified. Check it before confirming.

**Trust, then verify receipts.** Scene mutation tools append one final save automatically. If a receipt reports failure, use its exact reason to repair or reread before retrying.

**Use undo freely.** Don't hesitate to undo AI changes that aren't quite right. You can always ask for a different approach.

## Related

<CardGroup cols={1}>
  <Card title="AI Operations" icon="brain" href="/ai-tools/operations">
    What Summer Engine can do
  </Card>
</CardGroup>
