The Echo text format is Prowl.Echo’s native human-readable output. Unlike the interop formats (JSON, YAML, XML), the Echo text format encodes everyDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ProwlEngine/Prowl.Echo/llms.txt
Use this file to discover all available pages before exploring further.
EchoType with a type suffix, so the entire EchoObject tree survives a round-trip without any loss of numeric precision or type information. It is the best choice whenever people need to read or edit the output directly — configuration files, game save files checked into source control, or serialized data you want to inspect at a glance.
Type suffixes
Each numeric value is written with a single-character suffix that identifies itsEchoType unambiguously:
| Suffix | EchoType | Example |
|---|---|---|
| (none) | Int | 42 |
B | Byte | 255B |
N | sByte | -12N |
S | Short | 1000S |
L | Long | 9000000000L |
V | UShort | 60000V |
U | UInt | 4000000000U |
C | ULong | 18000000000000000000C |
F | Float | 3.14F |
D | Double | 2.718281828D |
M | Decimal | 1.23456789012345M |
true or false, null as NULL, strings as double-quoted values with standard escape sequences, and byte arrays as [B;<base64>].
Writing
To a string
WriteToString() returns the full serialized representation as a plain C# string:
To a file
WriteToString(FileInfo) writes the text directly to disk using UTF-8 encoding:
Via IFileFormat extension methods
EchoTextFormat.Instance exposes the full IFileFormat extension API if you want to use a file path string or a byte[]:
Reading
From a string
EchoObject.ReadFromString(string) parses the Echo text format and reconstructs the full EchoObject tree, preserving all type suffixes:
From a file
EchoObject.ReadFromString(FileInfo) reads the file from disk before parsing:
Via IFileFormat extension methods
Complete round-trip example
What a compound looks like
The Echo text format uses{...} for compounds and [...] for lists. Keys are always double-quoted strings. Values carry their type suffix inline:
Use cases
Configuration files
Settings that designers or players edit by hand. The type suffixes make numeric types explicit without sacrificing readability.
Game save files
Human-inspectable saves that can be edited for debugging or speedrunning without a dedicated save-editor tool.
Debugging serialized data
Print any
EchoObject with echo.WriteToString() and inspect it in logs or the console to diagnose serialization issues.EchoTextFormat preserves all EchoType values exactly, including the distinction between int and short, float and double, byte and sbyte, and so on. This makes it the only text format suitable for lossless round-trips. If you need interoperability with external tools instead, see Interop Formats.