Skip to content

t1k:unity:base:text-config

FieldValue
Modulebase
Version2.2.2
Efforthigh
Tools

Keywords: configuration, localization, text config, unity

/t1k:unity:base:text-config

Enables autonomous editing of Unity configuration files as text (JSON/YAML), then refreshing Unity to apply changes without using the GUI.

FileEdit?MethodRefresh
.asmdef✅ SafeJSON text editrefresh_unity MCP
manifest.json✅ SafeJSON text editEditor restart only
ProjectSettings/Packages/*/Settings.json✅ SafeJSON text editrefresh_unity MCP
ProjectSettings *.asset⚠️ LimitedYAML simple values onlyrefresh_unity MCP
.prefab⚠️ LimitedYAML simple values onlyrefresh_unity MCP
.asset (ScriptableObject)⚠️ ModerateYAML simple values onlyrefresh_unity MCP
.unity scene❌ NeverUse EditorSceneManager APIN/A
NavMesh.asset❌ NeverRegenerate (rebake)N/A
LightingData.asset❌ NeverRegenerate (rebake)N/A

Edit references, platform filters, define constraints.

{
"name": "MyAssembly",
"references": ["Unity.Entities", "OtherAssembly"],
"includePlatforms": ["Editor"],
"autoReferenced": true,
"defineConstraints": ["UNITY_INCLUDE_TESTS"]
}

After edit: call refresh_unity MCP tool.

Edit dependencies and overrides sections.

{ "dependencies": { "com.unity.entities": "1.4.5" } }

After edit: Editor restart requiredrefresh_unity does NOT trigger Package Manager reload.

Located at ProjectSettings/Packages/<package-name>/Settings.json.

{
"m_Dictionary": [
{ "type": "System.String, mscorlib", "key": "m_EnableCodeCoverage", "value": "true" }
]
}

After edit: call refresh_unity MCP tool.

Tier 2 — YAML (Limited, Risky for References)

Section titled “Tier 2 — YAML (Limited, Risky for References)”

Before editing any YAML file, verify it is text format:

  • Check header: %YAML 1.1 = text-serialized, safe to attempt
  • Binary header = do not edit

Safe YAML edits: primitive values only (int, float, string, bool, enum int).

# ProjectSettings/TimeManager.asset
TimeManager:
Fixed Timestep: 0.02 # safe: simple float
m_TimeScale: 1 # safe: simple int
# ScriptableObject .asset
MonoBehaviour:
MaxHealth: 100 # safe: primitive int
Speed: 5.5 # safe: primitive float
TeamColor: 1 # safe: enum as int

After any YAML edit: call refresh_unity MCP tool.

Never touch in YAML: fileID, guid, m_Script, any {fileID: ..., guid: ...} reference block.

Files: NavMesh.asset, LightingData.asset, any .asset with [PreferBinarySerialization], .fbx, .png.

To modify: regenerate via Editor API (rebake NavMesh, rebake lighting).

MethodWhen to Use
refresh_unity MCP toolAfter JSON or YAML text edits
AssetDatabase.ImportAsset(path)Single-asset surgical refresh (faster)
AssetDatabase.ForceReserializeAssets(paths)After Asset Serialization Mode change
Editor restartOnly for manifest.json — Package Manager requires restart
TaskUse Instead
Modify prefab componentsPrefabUtility.LoadPrefabContents() + C# + SaveAsPrefabAsset()
Modify scene objectsEditorSceneManager API
Modify ProjectSettingsSerializedObject API (load asset, find property, apply)
Modify ScriptableObjectAssetDatabase.LoadAssetAtPath<T>() + SerializedObject

→ See references/gotchas-guide.md for critical failure modes

FileContent
references/gotchas-guide.mdFileID fragility, manifest refresh failure, binary detection, scene editing danger