An editor-only Unity package that automatically syncs public Google Docs into your project as clean Markdown files. Extracts embedded images, renders with 11 professional themes, and keeps everything current with auto-pull on editor startup. Zero dependencies. Zero runtime overhead.
- Auto-Sync Engine. Pulls on editor startup with a configurable minimum interval. Batch all sources or sync individually. Tracks timestamps and errors per document.
- Image Extraction. Detects base64-encoded images in Google Doc exports and saves them as files in organized folders alongside each document.
- Built-in Markdown Viewer. Full GitHub Flavored Markdown rendering inside the Unity editor. Tables with column alignment, fenced and indented code blocks, task lists, nested blockquotes, strikethrough, GitHub-style alerts, inline HTML tags, bare URL auto-linking, and language labels on code fences.
- 11 Professional Themes. 8 dark and 3 light themes built on an Open-Closed architecture. Add your own without touching the renderer.
- Sidebar Navigation. Toggleable sidebar with document outline, project-wide file browser, pinned favorites, recent files, and a resizable handle.
- Clickable Links. External URLs open in your browser. Relative
.mdpaths open in the viewer. Multi-link paragraphs show a dropdown menu. - Inspector Integration. Select any
.mdfile in the Project window and a "View as Markdown" button appears in the Inspector. - Automatic Renaming. Files using the default name are automatically renamed to match the Google Doc's title on first pull.
- Open the settings window: xrcadia → Google Doc Markdown → Settings.
- Click + Add New Source.
- Enter the Google Doc URL or raw document ID.
- Set the output path (e.g.,
Assets/Documentation). - Click Pull on the source, or Pull All Sources Now at the bottom.
Google Docs must be shared as "Anyone with the link can view" or published to the web for the export to work without OAuth.
| Setting | Description |
|---|---|
| Auto Pull On Editor Startup | Re-downloads all sources when the Unity project is opened, subject to the minimum interval. |
| Minimum Minutes Between Auto-Pulls | Throttle to avoid redundant network requests. Default: 60 minutes. |
| Output Path | Directory relative to the project root where Markdown files are written. Default: Assets/Documentation. |
Each source tracks its own last-pull timestamp (UTC ISO 8601) and last error message for debugging failed syncs.
The built-in Markdown Viewer renders any .md file in the project with professional styling. Open it from the Inspector button on any TextAsset, from the settings panel, or from the sidebar file browser.
- Headings (H1–H6 with distinct sizes)
- Bold, italic, strikethrough, inline code
- Fenced code blocks (backtick and tilde) with language labels
- Indented code blocks
- Tables with column alignment (
:---,:---:,---:) - Task lists (
- [ ]and- [x]) - Blockquotes (multi-line grouping, nested)
- GitHub-style alerts (
[!NOTE],[!TIP],[!IMPORTANT],[!WARNING],[!CAUTION]) - Inline HTML tags (
<strong>,<em>,<kbd>,<mark>,<sup>,<sub>, etc.) - Inline and reference-style links (clickable)
- Bare URL and email auto-linking
- Escaped characters
- Horizontal rules
- Images (rendered inline)
The toggleable sidebar provides:
- Outline. Clickable heading tree that scrolls to each section.
- Pinned Files. Favorite files shown at the top for quick access.
- Recent Files. Up to 15 recently viewed Markdown files.
- All Files. Full project file tree (Assets, Packages) with optional dot-path expansion for package names.
The sidebar is resizable between 140–500px. State persists across sessions.
11 built-in themes, each implementing the MarkdownTheme base class via sealed subclasses. The system follows the Open-Closed Principle — add a theme by subclassing and registering, with zero changes to rendering code.
| Theme | Type |
|---|---|
| Dark | Dark |
| Solarized Dark | Dark |
| Nord | Dark |
| Dracula | Dark |
| Monokai | Dark |
| One Dark | Dark |
| Gruvbox Dark | Dark |
| GitHub Dark | Dark |
| Paperwhite | Light |
| Solarized Light | Light |
| GitHub | Light |
Theme selection persists via EditorPrefs.
Add the following to your Packages/manifest.json:
{
"dependencies": {
"com.xrcadia.gdoc": "https://github.com/C132/xrcadia.gdoc.git"
}
}Or use the Package Manager window: + → Add package from git URL → paste:
https://github.com/C132/xrcadia.gdoc.git
Clone or copy the repository into your project's Packages/ directory:
Packages/
com.xrcadia.gdoc/
package.json
...
- Unity 6000.3 or later.
- Editor-only. The entire package uses an editor-only assembly definition (
includePlatforms: ["Editor"]). Zero code ships in player builds. - No dependencies. Uses only Unity's built-in UIElements and UnityWebRequest APIs.
MIT © 2026 xrcadia