Getting Started¶
This guide walks through setting up the GCP COMPs from scratch. The steps are nearly identical for Firestore and Storage.
1. Download¶
Download the latest .tox files from GitHub Releases:
firestore-bXX.tox-- Firestore real-time syncstorage-bXX.tox-- Firebase Storage file transfers
2. Add to Your Project¶
Drag the .tox file(s) into your TouchDesigner network. Each COMP appears as a single baseCOMP.
3. Set Credentials¶
You need a GCP service account JSON key file:
- Go to the GCP Console IAM & Admin > Service Accounts
- Create a service account (or use an existing one)
- Grant it the appropriate role(s):
- Cloud Datastore User for Firestore
- Storage Admin (or Storage Object Admin) for Firebase Storage
- Create a JSON key and download it
On each COMP, set Private Key File to the path of your downloaded JSON key. The same key file works for both COMPs if the service account has both roles.
Keep your key file secure
Never commit service account keys to version control. Add *.json key files to your .gitignore or store them outside your project directory.
4. Bootstrap¶
On first run, each COMP detects that the required Python packages are not installed and prompts you to approve installation:
- Firestore:
firebase-admin,google-cloud-firestore - Storage:
firebase-admin,google-cloud-storage
When you click Install, the COMP:
- Locates or downloads uv (a fast Python package manager)
- Creates a virtual environment at
<project_folder>/venv/gcp/ - Installs the required packages into the venv
- Injects the venv's site-packages into TouchDesigner's Python path
This happens once. On subsequent launches, the existing venv is reused automatically. Both COMPs share the same venv at venv/gcp/, so packages installed by one are available to the other.
Network access required
Bootstrap needs to reach pypi.org to download packages. If you're behind a firewall, you may need to run the install manually. See Troubleshooting.
5. Connect¶
If Auto Connect is on (the default), the COMP connects immediately after bootstrap completes. Otherwise, pulse the Connect button.
Firestore¶
Once connected, you should see:
- The status table shows
state: connected - Collection tableDATs appear inside the
collectionssub-COMP - The log FIFO shows connection messages
Storage¶
Once connected, you should see:
- The status table shows
state: connectedand the bucket name - The log FIFO shows a "Connected to bucket" message
- You can now call
Upload(),Download(),SyncFolder(), etc.
6. Verify¶
Check the status tableDAT inside each COMP for connection state. If something isn't working, check the log FIFO DAT for error messages.
Next Steps¶
Firestore¶
- Configuration -- all parameters explained
- Sync & Filtering -- how data flows between Firestore and TD
- Write Operations -- pushing data to Firestore
- Callbacks -- reacting to changes in your own scripts
Storage¶
- Configuration -- all parameters explained
- API Reference -- upload, download, sync, and more
- Callbacks -- reacting to transfers in your scripts