Settings File
Overview
This page documents the settings YAML used by the currently available Unity Asset Store edition 1.0.0.
The Standalone command-line edition and Wiener.exe are Coming Soon and are not part of the current product. UE5 C++ output is also Coming Soon and is not supported by the Unity Asset Store edition.
How to Specify
Open Tools > Wiener > Open Converter in Unity Editor and select the settings YAML for Develop Settings YAML, Develop Binary Settings YAML, or Production Settings YAML. Use Setting Editor to create or edit those files.
The default development file is:
Assets/Wiener/Data/client/settings/develop_settings.yaml
Example
# Path to Wiener's message file (from the Unity project directory)
wiener_text_path: "Assets/Wiener/WienerText.csv"
# Language of Wiener's message file
wiener_text_language: "en"
output_format:
# C# output
- format: CSharp
bom: false
newline_lf: true
# JSON output
- format: Json
bom: false
newline_lf: true
# SQL output
- format: SQL
bom: false
newline_lf: true
# CSV output
- format: CSV
bom: true
newline_lf: true
# PHP output
- format: PHP
bom: false
newline_lf: true
# Manual output
- format: Manual
bom: false
newline_lf: true
# PHP
php:
# Input template path for table hash output
input_hash_list_template: "HashListPhp.php"
# Table hash output path
output_hash_list: "HashList.php"
# Manual
manual:
# HTML title
title: "Static Game Data Manual"
# Path to YAML directory (from the Unity project directory)
yaml_search_path: "Assets/Wiener/Data/client/yaml"
# Path to local table input directory (from the Unity project directory; optional when using only Google Sheets)
input_search_path: "Assets/Wiener/Data/excel"
# Output path (from the Unity project directory)
output_path: "Assets/Wiener/Data/client/makes"
# Template path (from the Unity project directory; required for PHP output)
template_path: "Assets/Wiener/Data/template"
# Windows time zone
windows_timezone: "Tokyo Standard Time"
# Time zone for Mac / Linux
unix_timezone: "Asia/Tokyo"
# Enable development mode
development: true
# Namespace for generated code (empty defaults to Wiener)
namespace: ""
# Google Sheets input settings (optional)
# Replace the placeholder with an absolute path outside the project and repository.
google_sheets:
credential_path: "<user-private-folder>/Wiener/credentials.json"
# Localization settings
localization:
enable: true
input:
path: "Assets/Wiener/Data/localize/translations.csv"
target_languages:
- value: "ja"
- value: "en"
# Number of parallel processes
processor_count: 1
# Master version field name in Excel
version_excel_name: "master_version"
Details
wiener_text_path
wiener_text_path: "Assets/Wiener/WienerText.csv"
- Definition: Required
Specify, relative to the Unity project directory, the path to the message file used internally by Wiener.
wiener_text_language
wiener_text_language: "en"
- Definition: Required
Specify the language of the message file used internally by Wiener.
Specify the string in the first row of WienerText.csv.
output_format
output_format:
- format: CSharp
bom: false
newline_lf: true
- Definition: Required
Define one or more output formats.
format
- Definition: Required
Specify one of the following items.
| Value | Description |
|---|---|
| CSharp | Output C# code |
| Json | Output JSON files |
| SQL | Output SQL files |
| CSV | Output CSV files |
| PHP | Output PHP files |
| Manual | Output manual HTML |
| Binary | Output binary data for the Unity runtime |
UE5 is not supported in the current edition
Do not select UE5 even if it appears in an existing editor dropdown or settings file. UE5 C++ output is planned for the Coming Soon Standalone edition and is not included in Unity Asset Store edition 1.0.0.
bom
- Definition: Optional
- Default: true
Output is UTF-8; specify whether to include a BOM.
newline_lf
- Definition: Optional
- Default: true
Specify the line ending.
| Value | Line ending |
|---|---|
| true | LF |
| false | CRLF |
ue5 (unsupported in 1.0.0)
is_utc
The ue5 block and ue5.is_utc are reserved for the Coming Soon Standalone edition. Do not add them to settings for Unity Asset Store edition 1.0.0.
php
php:
input_hash_list_template: "HashListPhp.php"
output_hash_list: "HashList.php"
- Definition: Optional
input_hash_list_template
- Definition: Optional
Specify the template file name for PHP hash tables.
Specify a relative path from template_path in settings.
output_hash_list
- Definition: Optional
Specify the output path for the PHP data hash list file.
Specify a relative path from output_path.
The file records hash values for each dataset so a consumer can reload only data that changed since the previous output.
manual
manual:
title: "Static Game Data Manual"
- Definition: Optional
title
- Definition: Optional
Title of the manual HTML.
yaml_search_path
yaml_search_path: "Assets/Wiener/Data/client/yaml"
- Definition: Required
Specify the path, relative to the Unity project directory, to the YAML directory.
input_search_path
input_search_path: "Assets/Wiener/Data/excel"
- Definition: Conditional (required when
google_sheets.credential_pathis not set)
Specify the path, relative to the Unity project directory, to the local table input directory.
Local Excel paths in header.input_path are resolved from this directory. Google Sheets URLs are not resolved from this directory.
You can omit this when all table inputs are Google Sheets URLs and google_sheets.credential_path is set.
output_path
output_path: "Assets/Wiener/Data/client/makes"
- Definition: Required
Specify the path, relative to the Unity project directory, to the output directory.
template_path
template_path: "Assets/Wiener/Data/template"
- Definition: Conditional (required when
output_formatincludesPHP)
Specify the path, relative to the Unity project directory, to the template directory.
You can omit this when PHP output is not used.
windows_timezone
windows_timezone: "Tokyo Standard Time"
- Definition: Required
Specify the Windows time zone.
unix_timezone
unix_timezone: "Asia/Tokyo"
- Definition: Required
Specify the time zone for Mac/Linux.
development
development: true
- Definition: Optional
- Default: false
Enables development mode. Setting this to true changes the following behavior:
- Rows marked with "@" in column A of table input are included in output
- YAML
header.development_input_pathentries are loaded as additional input - Conversion errors for untranslated localization entries (
----) are suppressed
Enabling "@" rows in column A {#development-excel-at}
| Value | Behavior |
|---|---|
| true | Include rows marked with "@" in column A |
| false | Skip rows marked with "@" in column A |
Put @ in column A for development-only rows. Use development: true in development settings and development: false in production settings.
Enabling development_input_path {#development-input-path}
Paths listed in header.development_input_path are loaded only when development: true. When development: false, those entries are ignored.
Use this to keep development-only input (e.g. test data) separate from production input.
Suppressing untranslated localization errors
When using the localization feature, any untranslated (----) entries cause a conversion error in production mode (development: false). This check is suppressed when development: true.
google_sheets
google_sheets:
credential_path: "<user-private-folder>/Wiener/credentials.json"
- Definition: Optional
Configure this when using Google Sheets URLs in header.input_path, or when specifying a spreadsheet URL in the localization input or output path.
See Google Sheets Input for detailed setup instructions.
credential_path
- Definition: Conditional (required when using Google Sheets)
Specify the path to a Google service account credential JSON file. For input-only use, share the target spreadsheet with the service account as a Viewer. Grant edit access only when you use a feature that writes to the spreadsheet.
Store the real JSON in an access-restricted user-private location outside the Unity project and Git repository, then select that external file from Advanced > google_sheets > credential_path in Setting Editor. Use a user-specific settings file when team members have different local paths.
Do not overwrite the distributed dummy file
Assets/Wiener/Data/secrets/wiener-service-account.json is a non-working dummy included with the package. Do not replace it with a real key. Change credential_path in every settings YAML used by Converter so it points to the external user-private JSON instead.
See Google Sheets Settings for the complete setup and Git exclusion guidance.
namespace
namespace: "Wiener"
- Definition: Optional
- Default: "Wiener"
Specifies the namespace for generated C# code.
When omitted, code is generated under the existing Wiener namespace. The manager class name is always WienerManager.
localization
- Definition: Optional
Configure this to use the localization feature.
Read from CSV, write to CSV (simplest configuration)
localization:
enable: true
input:
path: "Assets/Wiener/Data/localize/translations.csv"
Read from spreadsheet, write to spreadsheet
localization:
enable: true
input:
path: "https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0"
sheet: "translations"
Read from spreadsheet, write to CSV
localization:
enable: true
input:
path: "https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0"
sheet: "translations"
output:
path: "Assets/Wiener/Data/localize/translations.csv"
enable
- Definition: Optional
- Default: false
Set to true to enable the localization feature.
Recommended workflow during development
When enable: true, the translation CSV is updated on every conversion, causing CSV commits on every Static Game Data change.
During development, keep enable: false (or omit the setting), and only set enable: true at the following times. Note that untranslated ---- entries cause a conversion error when running in production mode (development: false).
- Before starting translation work (update the CSV to its latest state and hand it to translators)
- When actually testing or verifying a localized binary
- During production converts
input
- Definition: Conditional (required when enable is true)
Specifies where translation data is read from.
input.path
- Definition: Required
Specify the path to the translation file.
Specify a path relative to the Unity project directory, or a Google Sheets URL.
If the value starts with http:// or https://, it is treated as a spreadsheet.
The file is automatically created and updated at convert time (when no separate output is specified).
input.sheet
- Definition: Required for spreadsheet URLs
Specify the sheet name to read from when the input path is a spreadsheet URL.
output
- Definition: Optional
Specifies where translated data is written. If omitted, data is written to the same location as input (writes are skipped if the content is unchanged when input and output are the same).
output.path
- Definition: Optional
Specify the write destination path for the translation file.
Specify a path relative to the Unity project directory, or a Google Sheets URL.
output.sheet
- Definition: Required for spreadsheet URLs
Specify the sheet name to write to when the output path is a spreadsheet URL.
Diff output
When source text changes or keys are deleted, diff data is output.
| Output destination | Diff write location |
|---|---|
| CSV file | {csv-name}_diff_{timestamp}.csv (same directory) |
| Spreadsheet | New sheet named diff_{timestamp} in the same spreadsheet |
target_languages
- Definition: Optional
Narrows down which languages are checked for untranslated entries in production mode (development: false).
When not defined (or empty), all language columns in the CSV are subject to the error check. When defined, only languages in the list are checked; languages not in the list are allowed to have untranslated (----) entries and fall back to the source text.
This is useful when adding a new language to an existing production project: by keeping the new language out of target_languages until its translations are complete, production converts can continue without errors during the translation period.
output_info_path
output_info_path: "output_info.json"
- Definition: Optional
- Default: ""
Specify the path to output a JSON file containing convert result information.
Specify a relative path from output_path.
The output includes YamlHash and DataHash in JSON format.
If not specified, no file is output.
processor_count
processor_count: 1
- Definition: Optional
- Default: number of threads on the machine
Specify the level of parallelism.
If not set, it uses the machine's thread count.
version_excel_name
version_excel_name: "master_version"
- Definition: Optional
- Default: ""
Specify the field name in table inputs used for versioned output.