# Flow Core Settings

## Summary

FlowCore Settings are the project-wide switches that shape save/load behavior, registry scanning, editor pickers, profiling, prefab lifecycle support, character animation defaults, and graph editor display. They are not a replacement for graph-level configuration; use them for conventions that should be consistent across a project.

Open them from `Project Settings > Flow Core`.

## Use When

Use this page when you are setting up a project for the first time, standardizing names for a team, debugging why a runtime helper is noisy or quiet, or deciding whether a behavior should be controlled globally instead of inside a Flow Graph.

For graph authoring choices such as `Invoke Mode`, `Reject Result`, ports, guards, and node behavior, use the node and runtime reference pages instead.

## Settings Map

| Task                         | Important settings                                                                                                                                                                                                                        | Change this when                                                                                                                           |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| Persistence and save         | `SavePathRoot`, `SaveFolder`, `SaveExtension`, `UseCompression`, `UseEncryption`, `EncryptionKey`, `ReloadSavedScenesOnLoad`, `ReloadSavedAdditionalScenesOnLoad`, `LoadMainScene`, `LoadAdditiveScenes`, `ShowMissingSerializerWarnings` | You are defining where save files live, whether saved scenes should be restored, or how loudly missing serializers should report problems. |
| Registry and scanning        | `AutoScanGlobalBlackboards`, `AutoScanGameObjectGuids`, `LogSceneGuidRegistryAutoRebuild`                                                                                                                                                 | Global Blackboards or GameObjectGuid objects are not being discovered, or you want less automatic scanning in a controlled project.        |
| Debug and profiling          | `EnableInvokingChainDebug`, `EnableProcessProfiler`, `ProcessProfilerHistoryFrames`, `LogBlackboardCompareWarnings`                                                                                                                       | You need better runtime visibility, or you want to reduce debug overhead/noise after a feature is stable.                                  |
| Editor whitelists            | `EventChannels`, `EnterNodeTitles`, `FsmGroupIds`, `StackRootNames`, `StackLayerNames`, `TimerNames`, `GameObjectGuidTags`, `BlackboardKeyWhitelist`, GOAP name lists, character marker/tag lists                                         | The team needs stable names in pickers and fewer typo-prone string fields.                                                                 |
| Prefab lifecycle and pooling | `EnablePrefabLifeCycle`, `SceneActivationMode`, `EnabledScenes`, `PrefabPoolExpansionCount`                                                                                                                                               | You use Flow Core persistence or pooled prefab lifecycle tracking and need to decide which scenes participate.                             |
| Character animation          | `DefaultCharacterMarkerCooldownSeconds`, `CharacterAnimationSpeedCurveMinimumMultiplier`, character marker/tag lists                                                                                                                      | Flow Character authoring needs shared marker names, gesture tags, or safe animation speed curve behavior.                                  |
| Editor display               | `ShowNodeSummary`, `ShowEntrySummary`, `ShowEntryDescription`, `ShowSearchEntrySignature`, `ShowNodeComments`, `ShowInlineActionButtons`, `ShowFlowInspector`, `FlowInspectorDockSide`                                                    | You want the Graph Editor to show more or less detail during authoring and handoff.                                                        |
| Editor behavior              | `LockFlowGraphEditingInPlayMode`, `EditorWindowMode`, `SearchFlatResultsThreshold`, `FlowGraphZoomSpeed`, context shortcut toggles                                                                                                        | You are adjusting how the editor opens, searches, zooms, or exposes common scene context shortcuts.                                        |

## Persistence And Save

| Setting                             | Default              | Guidance                                                                                                                                                   |
| ----------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SavePathRoot`                      | `PersistentDataPath` | Use `PersistentDataPath` for normal player saves. Use `DataPath` only when your workflow intentionally keeps saves beside project/application data.        |
| `SaveFolder`                        | `FlowCore/Save`      | Change this when the project has multiple save domains or you need a product-specific folder. Keep it relative to the selected root.                       |
| `SaveExtension`                     | `txt`                | Change this for project convention or tooling. Enter the extension without the dot.                                                                        |
| `UseCompression`                    | `false`              | Enable when save/cache size matters more than plain text inspection.                                                                                       |
| `UseEncryption`                     | `false`              | Enable when saved data should not be easily readable. Also provide `EncryptionKey`; encryption without key material is not useful.                         |
| `ReloadSavedScenesOnLoad`           | `true`               | Keep enabled when save data should restore the saved main scene. Disable when your own boot flow decides the main scene.                                   |
| `ReloadSavedAdditionalScenesOnLoad` | `false`              | Enable only when additive scenes are part of the saved world state. Leave disabled when startup code or Flow graphs already load the same additive scenes. |
| `LoadMainScene`                     | empty                | Fallback main scene used when saved scene reload is disabled.                                                                                              |
| `LoadAdditiveScenes`                | empty                | Fallback additive scenes loaded with `LoadMainScene` when saved scene reload is disabled.                                                                  |
| `ShowMissingSerializerWarnings`     | `true`               | Keep enabled while building persistence support. Disable only when unsupported types are expected and already handled by project policy.                   |

Save settings define the persistence environment; they do not decide which Blackboard values are serializable. For value support and custom persistence, see [Persistence](/flow-core-docs/documentation/api-extension-guide/persistence.md).

## Registry And Scanning

| Setting                           | Default | Guidance                                                                                                                                                                    |
| --------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AutoScanGlobalBlackboards`       | `true`  | Leave enabled while project structure is changing. Disable only when you manage Global Blackboard registration through a deliberate registry workflow.                      |
| `AutoScanGameObjectGuids`         | `true`  | Leave enabled if scene GameObjectGuid components should register automatically on scene load. Disable for highly controlled startup flows that register objects explicitly. |
| `LogSceneGuidRegistryAutoRebuild` | `false` | Enable temporarily when diagnosing scene GUID registry rebuilds. Keep disabled for normal authoring to reduce console noise.                                                |

If a new Global Blackboard or GameObjectGuid is not found, first confirm the asset or scene object exists, then rebuild the relevant registry from Flow Core tooling before assuming runtime code is wrong.

## Debug And Profiling

| Setting                        | Default | Guidance                                                                                                                                                    |
| ------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `EnableInvokingChainDebug`     | `true`  | Enables chain debug tracing. Keep enabled while diagnosing graph execution, then consider disabling in stable builds if the extra trace data is not needed. |
| `EnableProcessProfiler`        | `true`  | Enables editor process profiling support. Use it when checking high-frequency graphs, timers, polling, or expensive instruction chains.                     |
| `ProcessProfilerHistoryFrames` | `100`   | Increase for longer profiling windows; decrease if you only need short, focused runtime snapshots.                                                          |
| `LogBlackboardCompareWarnings` | `true`  | Reports compare fallbacks and suspicious Blackboard numeric comparisons. Keep enabled while authoring conditions and guards.                                |
| `MaxGoapPlanAttemptsPerRun`    | `1`     | Increase only when a GOAP setup intentionally needs more planning attempts per run; watch profiling when changing it.                                       |

For runtime diagnosis routes, see [Runtime Cost Monitoring](/flow-core-docs/documentation/troubleshooting/runtime-cost-monitoring.md), [Performance and Failure Modes](/flow-core-docs/documentation/troubleshooting/performance-and-failure-modes.md), and [Graph Debugging](/flow-core-docs/documentation/troubleshooting/graph-debugging.md).

## Editor Whitelists

Whitelists are primarily authoring aids. They feed pickers, management windows, and add-to-whitelist actions so teams reuse the same strings. They are not a general runtime validator. A graph can still contain a string that is not listed unless the specific feature documentation says otherwise.

| Setting                                             | Used by                                                 | Guidance                                                                                                |
| --------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `EventChannels`                                     | Signal/event channel pickers                            | Add shared event channel names before building signal-heavy graphs.                                     |
| `EnterNodeTitles`                                   | Enter title and execute-by-title pickers                | Add only intentional public entry names. Empty titles are ignored.                                      |
| `FsmGroupIds`                                       | FSM group pickers                                       | Use for named exclusive FSM groups. The empty default group remains valid even when not listed.         |
| `StackRootNames`                                    | Stack Root and Stack Layer root-name pickers            | Add stable root names before multiple graphs push layers to the same stack.                             |
| `StackLayerNames`                                   | Stack Layer naming workflows                            | Use when the project treats stack layers as named gameplay or UI modes.                                 |
| `TimerNames`                                        | Timer and Get Timer Status pickers                      | Add shared timer names when several graphs query or coordinate with the same timer.                     |
| `GameObjectGuidTags`                                | GameObjectGuid tag picker and single-tag instruction UI | Add tags that identify scene objects by role. Runtime queries can still use tags outside this list.     |
| `BlackboardKeyWhitelist`                            | Blackboard key drawers and editor helpers               | Use for shared keys that appear in many graphs. It reduces typos but does not create Blackboard values. |
| `GoapRootNames`, `GoapGoalNames`, `GoapActionNames` | GOAP authoring pickers                                  | Add names when GOAP roots, goals, and actions need consistent team vocabulary.                          |
| `CharacterMarkerIds`, `CharacterGestureTags`        | Flow Character authoring helpers                        | Add common animation marker ids and gesture tags used across character assets.                          |

If a picker does not show a name you expect, check the whitelist first. If runtime behavior is wrong, also check the graph field, Blackboard value, and scene object, because the whitelist alone does not prove the runtime value exists.

## Prefab Lifecycle And Pooling

| Setting                    | Default     | Guidance                                                                                                                                                   |
| -------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `EnablePrefabLifeCycle`    | `true`      | Enables prefab lifecycle tracking used by persistence and pooled instance management. Disable only for projects that deliberately do not use that support. |
| `SceneActivationMode`      | `AllScenes` | Choose whether all scenes, only listed scenes, or all except listed scenes participate in lifecycle tracking.                                              |
| `EnabledScenes`            | empty       | Scene list used by `SceneActivationMode`. Keep names exact and review this list when scenes are renamed.                                                   |
| `PrefabPoolExpansionCount` | `5`         | Controls how many instances a pool creates when it needs to expand. Increase for predictable bursts; decrease when memory is tighter.                      |

When pooled objects do not appear, return to the scene activation settings before changing graph logic. A pool can be configured correctly but inactive for the current scene policy.

## Character Animation

| Setting                                         | Default | Guidance                                                                                                                                                         |
| ----------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DefaultCharacterMarkerCooldownSeconds`         | `0.1`   | Shared fallback cooldown for marker-driven character workflows. Increase to suppress rapid repeated marker firing; decrease when tight animation timing matters. |
| `CharacterAnimationSpeedCurveMinimumMultiplier` | `0.01`  | Minimum multiplier for Flow Character clip track speed curve sampling. It prevents a speed curve from stalling playback completely.                              |
| `CharacterMarkerIds`                            | empty   | Shared marker id names for authoring consistency.                                                                                                                |
| `CharacterGestureTags`                          | empty   | Shared gesture tag names for character workflows.                                                                                                                |

These settings support Flow Character authoring. They do not change movement speed, motor values, or graph execution timing outside the character animation path.

## Editor Display And Behavior

| Setting                          | Default   | Guidance                                                                                                                         |
| -------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `ShowNodeSummary`                | `false`   | Show node summaries directly in graph views when reviewing or handing off graphs.                                                |
| `ShowEntrySummary`               | `false`   | Show instruction/condition summaries in entry lists.                                                                             |
| `ShowEntryDescription`           | `false`   | Show longer entry descriptions when detail matters more than compactness.                                                        |
| `ShowSearchEntrySignature`       | `true`    | Show signatures in search results so similar entries are easier to distinguish.                                                  |
| `ShowNodeComments`               | `false`   | Show node comments in graph views. Useful for review; noisy for compact editing.                                                 |
| `ShowInlineActionButtons`        | `false`   | Shows inline add/remove/reorder buttons in supported editors. Useful for fast editing; hide for cleaner review surfaces.         |
| `ShowFlowInspector`              | `true`    | Shows the Flow Inspector panel by default.                                                                                       |
| `FlowInspectorDockSide`          | `Left`    | Chooses the default inspector dock side.                                                                                         |
| `LockFlowGraphEditingInPlayMode` | `true`    | Prevents accidental graph asset edits while Play Mode is running. It does not stop runtime execution.                            |
| `EditorWindowMode`               | `Unified` | Controls how Flow Core editor windows open. Use the mode that best fits your team's layout habits.                               |
| `SearchFlatResultsThreshold`     | `20`      | Controls when search results flatten. Increase if large catalogs feel too nested; decrease if broad flat lists are hard to scan. |
| `FlowGraphZoomSpeed`             | `1`       | Adjust when graph zooming feels too slow or too fast for the team's input devices.                                               |

Context shortcut toggles (`EnableContextProviders`, `EnableContextMainCamera`, `EnableContextMousePosition`, `EnableContextMouseRay`, `EnableContextMouseRay2D`, `EnableContextTime`) control whether common context sources are exposed to supported editor/runtime helpers. Keep the parent provider enabled unless the project intentionally avoids these shortcuts.

## Common Mistakes

| Symptom                                             | Likely cause                                                              | First check                                                                            |
| --------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| A picker is missing a name                          | The relevant whitelist does not include it                                | Add the name in `Project Settings > Flow Core`, then reopen the picker.                |
| A graph runs with a name that is not in a whitelist | Whitelists are editor aids, not universal runtime validators              | Check the runtime field and the feature-specific docs.                                 |
| Saved additive scenes load twice                    | Both save reload and startup logic load the same additive scenes          | Review `ReloadSavedAdditionalScenesOnLoad` and your boot graph.                        |
| A scene object is not found by GUID lookup          | Auto scanning is disabled or the scene is outside the active scene policy | Check `AutoScanGameObjectGuids`, `SceneActivationMode`, and `EnabledScenes`.           |
| A Flow Character animation appears stalled          | The speed curve reaches an extremely low value                            | Review `CharacterAnimationSpeedCurveMinimumMultiplier` and the clip track speed curve. |
| Play Mode edits feel locked                         | Graph editing lock is enabled                                             | This is expected when `LockFlowGraphEditingInPlayMode` is true.                        |

## Enums

| Enum                    | Values                                        |
| ----------------------- | --------------------------------------------- |
| `SavePathRootType`      | `PersistentDataPath`, `DataPath`              |
| `SceneActivationMode`   | `AllScenes`, `SpecificScenes`, `ExceptScenes` |
| `FlowEditorWindowMode`  | `Unified`, `Standalone`, `Singleton`          |
| `FlowInspectorDockSide` | `Right`, `Left`                               |

## Related

* [Editor Workflow](/flow-core-docs/documentation/editor-guide/editor-workflow.md)
* [Debug Context](/flow-core-docs/documentation/editor-guide/debug-context.md)
* [Detail Level Toggles](/flow-core-docs/documentation/editor-guide/detail-level-toggles.md)
* [Persistence](/flow-core-docs/documentation/api-extension-guide/persistence.md)
* [Stack Runtime](/flow-core-docs/documentation/runtime-guide/stack-runtime.md)
* [Runtime Cost Monitoring](/flow-core-docs/documentation/troubleshooting/runtime-cost-monitoring.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://flow-core.gitbook.io/flow-core-docs/documentation/reference/flow-core-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
