This repository contains comprehensive documentation for the Spatial Unity SDK interfaces and components. The documentation is organized to provide clear, practical, and thorough coverage of each interface and its related components.
SpatialDocs/
├── docs/
│ ├── PLAN.md # Project plan and progress tracking
│ ├── manifest.json # Main documentation status tracker (now split)
│ ├── manifest-primary.json # Primary interfaces tracking
│ ├── manifest-completed.json # Completed secondary components tracking
│ ├── manifest-incomplete.json # Incomplete components tracking
│ ├── SESSION_TEMPLATE.md # Template for documentation sessions
│ ├── SESSIONS_INDEX.md # Index of all documentation sessions
│ ├── sessions/ # Individual session documentation files
│ │ └── YYYY-MM-DD-Category-Name.md # Session files by date and category
│ └── README.md # Project overview
└── research/
└── reference/ # Interface documentation
└── SpatialSys/
└── UnitySDK/ # Interface implementations
- Primary interfaces (24): 100% complete ✅
- Secondary components (120): 120/120 completed (100%) ✅
- Overall completion: 100% ✅
- New Session-Based Manifest System: The project now uses a split manifest structure for better management
- New Sessions Organization: Individual session files are now stored in the
docs/sessions/directory with an index inSESSIONS_INDEX.md
Core Components category is the next to document, continuing with remaining Core Components
To document components:
- Use firecrawl_scrape to fetch documentation from toolkit.spatial.io
- Create Markdown file in research/reference/SpatialSys/UnitySDK/
- Follow documentation template (see Example section below)
- Create new session manifest in docs/manifests/
- Create session log file in docs/sessions/
- Mark as completed in README.md
Each component is documented in a dedicated session following these steps:
- Content gathering from reference
- Documentation structure creation
- Code examples implementation
- Quality review
- Progress tracking update
- GitHub file upload (after user confirmation)
- Update of all tracking files
For a detailed process, see:
- docs/SESSION_TEMPLATE.md for the documentation template
- docs/COMPONENT_DOCUMENTATION_CHECKLIST.md for a comprehensive checklist
Here's a simplified example of how a secondary component should be documented:
# ComponentName
Category: Service Category
Interface/Class/Enum: Type
Brief description of the component's purpose and functionality.
## Properties/Fields (if applicable)
| Property | Description |
| --- | --- |
| propertyName | Description of the property |
## Methods (if applicable)
| Method | Description |
| --- | --- |
| methodName(params) | Description of the method |
## Usage Examples
```csharp
// Example code showing how to use the component
var example = new ComponentName();
example.DoSomething();- Practice 1
- Practice 2
- Use case 1
- Use case 2
## Documentation Status
### Primary Interfaces (Main Services)
- **Total Primary Interfaces**: 24
- **Completed**: 24 (100%)
- **Remaining**: 0 (0%)
### Secondary Components
- **Total Secondary Components**: 120
- **Completed**: 72 (60%)
- **Remaining**: 48 (40%)
### Overall Progress
- **Total Components**: 144
- **Overall Completion**: 66.7%
See [docs/manifest.json](docs/manifest.json) and its related split files for detailed tracking of components and [Component Checklist](#spatial-sdk-component-documentation-checklist) below for a comprehensive list of all components.
## Documentation Standards
Each component documentation must include:
- Component Overview
- Properties/Fields with descriptions (where applicable)
- Methods with parameters (where applicable)
- Events and callbacks (where applicable)
- Usage examples
- Best practices (where applicable)
- Common use cases (where applicable)
## Scraping Instructions
To get documentation for a component from the Spatial SDK website, use the Firecrawl MCP tool:
```javascript
// Use firecrawl_scrape to fetch documentation
firecrawl_scrape({
url: "https://toolkit.spatial.io/reference/SpatialSys.UnitySDK.[ComponentName]",
formats: ["markdown"],
onlyMainContent: true
})
If the component is not available at the main URL, search for related components:
// Search for component references
firecrawl_map({
url: "https://toolkit.spatial.io/reference",
search: "[ComponentName]"
})When starting a new documentation session:
- Check the "NEXT CATEGORY TO DOCUMENT" section in this README
- Review docs/manifest-incomplete.json for priority and categorization
- Fetch the component documentation using firecrawl
- Create/update the appropriate markdown file
- Present the completed documentation for user review
- After user confirmation, upload the file to GitHub
- Update tracking files after successful upload:
- Create new session manifest file in docs/manifests/
- Create session log file in docs/sessions/
- Update SESSIONS_INDEX.md
- Update BOTH README.md files (this one and docs/README.md)
- This repository contains TWO README.md files:
- This main README.md in the root directory
- A secondary docs/README.md with project summary information
- BOTH files must be updated when a component is completed
- Always upload files to GitHub after user confirmation
- Upload files in this sequence:
- Component documentation first
- Session manifest file second
- Session log file third
- README updates (both files) fourth
- SESSIONS_INDEX.md update last
- Always verify uploads are successful
- Use proper markdown syntax:
- [x]for checkmarks - Add links to documentation files:
- [x] [ComponentName](./path/to/file.md) - Add completion date:
- [x] [ComponentName](./path/to/file.md) - COMPLETED! (MM/DD/YYYY) - Mark completed categories:
#### Category Name (COMPLETED ✅) - Always verify checkmarks appear green and links work correctly
- GitHub Repository: https://github.com/MCERQUA/SpatialDocs
- Reference Website: https://toolkit.spatial.io/reference
- Documentation Structure: Follow existing files in research/reference/SpatialSys/UnitySDK/
- If you can't find the component directly, it may be documented as part of another component
- For event args classes, look for the corresponding event in the parent service
- If you need to see the implementation, check the EditorSimulation folder in the SDK source
- When creating examples, prefer complete, practical code over abstract snippets
- Time per component: ~30-60 minutes
- Average cost per component: $3-5
- Total remaining work: ~24-48 hours
- Estimated total cost: $144-240
| Component | On toolkit.spatial.io | In GitHub Repo | Status |
|---|---|---|---|
| SpatialBridge | ✅ | ✅ | Documented |
| IActorService | ✅ | ✅ | Documented |
| IActor | ✅ | ✅ | Documented |
| IAvatar | ✅ | ✅ | Documented |
| IAdService | ✅ | ✅ | Documented |
| IAudioService | ✅ | ✅ | Documented |
| IBadgeService | ✅ | ✅ | Documented |
| ICameraService | ✅ | ✅ | Documented |
| ICoreGUIService | ✅ | ✅ | Documented |
| ICoreGUIShopService | ✅ | ✅ | Documented |
| IEventService | ✅ | ✅ | Documented |
| IGraphicsService | ✅ | ✅ | Documented |
| IInputService | ✅ | ✅ | Documented |
| IInventoryService | ✅ | ✅ | Documented |
| ILoggingService | ✅ | ✅ | Documented |
| IMarketplaceService | ✅ | ✅ | Documented |
| INetworkingService | ✅ | ✅ | Documented |
| INetworkingRemoteEventsService | ✅ | ✅ | Documented |
| IQuestService | ✅ | ✅ | Documented |
| ISpaceContentService | ✅ | ✅ | Documented |
| ISpaceObject | ✅ | ✅ | Documented |
| ISpaceService | ✅ | ✅ | Documented |
| IUserWorldDataStoreService | ✅ | ✅ | Documented |
| IVFXService | ✅ | ✅ | Documented |
- ActorCustomPropertiesChangedEventArgs - COMPLETED! (3/9/2025)
- ActorJoinedEventArgs - COMPLETED! (3/9/2025)
- ActorLeftEventArgs - COMPLETED! (3/9/2025)
- ActorProfilePictureRequest - COMPLETED! (3/9/2025)
- AvatarRespawnEventArgs - COMPLETED! (3/9/2025)
- EquipAttachmentRequest - COMPLETED! (3/9/2025)
- ILocalActor - COMPLETED! (3/9/2025)
- IReadOnlyAvatar - COMPLETED! (3/9/2025)
- AdRequest - COMPLETED! (3/8/2025)
- SpatialAdType - COMPLETED! (3/8/2025)
- SpatialCameraMode - COMPLETED! (3/8/2025)
- SpatialCameraRotationMode - COMPLETED! (3/8/2025)
- XRCameraMode - COMPLETED! (3/8/2025)
- CoreGUIUtility - COMPLETED! (3/9/2025)
- SpatialCoreGUIState - COMPLETED! (3/9/2025)
- SpatialCoreGUIType - COMPLETED! (3/9/2025)
- SpatialCoreGUITypeFlags - COMPLETED! (3/9/2025)
- SpatialMobileControlsGUITypeFlags - COMPLETED! (3/9/2025)
- SpatialSystemGUIType - COMPLETED! (3/9/2025)
- IAvatarInputActionsListener - COMPLETED! (3/9/2025)
- IInputActionsListener - COMPLETED! (3/9/2025)
- InputCaptureType - COMPLETED! (3/9/2025)
- InputPhase - COMPLETED! (3/9/2025)
- IVehicleInputActionsListener - COMPLETED! (3/9/2025)
- VehicleInputFlags - COMPLETED! (3/9/2025)
- AddInventoryItemRequest - COMPLETED! (3/9/2025)
- AwardWorldCurrencyRequest - COMPLETED! (3/9/2025)
- DeleteInventoryItemRequest - COMPLETED! (3/9/2025)
- GetInventoryItemRequest - COMPLETED! (3/9/2025)
- IInventoryItem - COMPLETED! (3/9/2025)
- ItemType - COMPLETED! (3/9/2025)
- UseInventoryItemRequest - COMPLETED! (3/9/2025)
- IQuest - COMPLETED! (3/9/2025)
- IQuestTask - COMPLETED! (3/9/2025)
- IReward - COMPLETED! (3/9/2025)
- QuestStatus - COMPLETED! (3/9/2025)
- QuestTaskType - COMPLETED! (3/9/2025)
- RewardType - COMPLETED! (3/9/2025)
- DestroySpaceObjectRequest - COMPLETED! (3/9/2025)
- SpaceObjectOwnerChangedEventArgs - COMPLETED! (3/9/2025)
- SpaceObjectType - COMPLETED! (3/9/2025)
- SpaceObjectVariablesChangedEventArgs - COMPLETED! (3/9/2025)
- IPrefabObject - COMPLETED! (3/9/2025)
- IReadOnlyPrefabObject - COMPLETED! (3/9/2025)
- IReadOnlySpaceObject - COMPLETED! (3/9/2025)
- IReadOnlySpaceObjectComponent - COMPLETED! (3/9/2025)
- ISpaceObjectComponent - COMPLETED! (3/9/2025)
- SpaceObjectOwnershipTransferRequest - COMPLETED! (3/9/2025)
- SpawnAvatarRequest - COMPLETED! (3/9/2025)
- SpawnNetworkObjectRequest - COMPLETED! (3/9/2025)
- SpawnPrefabObjectRequest - COMPLETED! (3/9/2025)
- SpawnSpaceObjectRequest - COMPLETED! (3/9/2025)
- ItemPurchasedEventArgs - COMPLETED! (3/9/2025)
- PurchaseItemRequest - COMPLETED! (3/9/2025)
- NetworkingRemoteEventArgs - COMPLETED! (3/9/2025)
- ServerConnectionStatus - COMPLETED! (3/9/2025)
- DataStoreDumpVariablesRequest - COMPLETED! (3/9/2025)
- DataStoreGetVariableRequest - COMPLETED! (3/9/2025)
- DataStoreHasAnyVariableRequest - COMPLETED! (3/9/2025)
- DataStoreHasVariableRequest - COMPLETED! (3/9/2025)
- DataStoreOperationRequest - COMPLETED! (3/9/2025)
- DataStoreResponseCode - COMPLETED! (3/9/2025)
- FloatingTextAnimStyle - COMPLETED! (3/9/2025)
- IOwnershipChanged - COMPLETED! (3/9/2025)
- IVariablesChanged - COMPLETED! (3/9/2025)
- AvatarAnimationClipType - COMPLETED! (3/9/2025)
- SpatialAttachmentAvatarAnimSettings - COMPLETED! (3/9/2025)
- SpatialAvatar - COMPLETED! (3/9/2025)
- SpatialAvatarAnimation - COMPLETED! (3/9/2025)
- SpatialAvatarAnimOverrides - COMPLETED! (3/9/2025)
- SpatialAvatarAttachment - COMPLETED! (3/9/2025)
- SpatialAvatarAttachment.AttachmentAnimatorType - COMPLETED! (3/9/2025)
- SpatialAvatarAttachment.Category - COMPLETED! (3/9/2025)
- SpatialAvatarAttachment.Slot - COMPLETED! (3/9/2025)
- SpatialAvatarAttachment.SlotMask - COMPLETED! (3/9/2025)
- SpatialAvatarAttachmentSlotMaskExtensions - COMPLETED! (3/9/2025)
- SpatialAvatarDefaultAnimSetType - COMPLETED! (3/9/2025)
- SpatialAvatarTeleporter - COMPLETED! (3/9/2025)
- SpatialCameraPassthrough - COMPLETED! (3/9/2025)
- SpatialClimbable - COMPLETED! (3/9/2025)
- SpatialEmptyFrame - COMPLETED! (3/9/2025)
- SpatialEntrancePoint - COMPLETED! (3/9/2025)
- SpatialEnvironmentSettingsOverrides - COMPLETED! (3/9/2025)
- SpatialInteractable - COMPLETED! (3/9/2025)
- SpatialMovementMaterialSurface - COMPLETED! (3/10/2025)
- SpatialNetworkObject - COMPLETED! (3/10/2025)
- SpatialNetworkVariables - COMPLETED! (3/10/2025)
- SpatialNetworkVariables.Data - COMPLETED! (3/10/2025)
- SpatialPointOfInterest - COMPLETED! (3/10/2025)
- SpatialPrefabObject - COMPLETED! (3/10/2025)
- SpatialProjectorSurface - COMPLETED! (3/10/2025)
- SpatialQuest - COMPLETED! (3/10/2025)
- SpatialQuest.Reward - COMPLETED! (3/10/2025)
- SpatialQuest.Task - COMPLETED! (3/10/2025)
- SpatialRenderPipelineSettingsOverrides - COMPLETED! (3/10/2025)
- SpatialSeatHotspot - COMPLETED! (3/10/2025)
- SpatialSyncedAnimator - COMPLETED! (3/10/2025)
- SpatialSyncedObject - COMPLETED! (3/10/2025)
- SpatialThumbnailCamera - COMPLETED! (3/10/2025)
- SpatialTriggerEvent - COMPLETED! (3/10/2025)
- SpatialVirtualCamera - COMPLETED! (3/10/2025)
- SpatialMovementMaterial - COMPLETED! (3/10/2025)
- SpatialScriptableObjectBase - COMPLETED! (3/10/2025)
- SpatialSFX - COMPLETED! (3/10/2025)
- APINotAuthorizedException - COMPLETED! (3/10/2025)
- AttachmentAnimationClips - COMPLETED! (3/10/2025)
- AttachmentAvatarAnimConfig - COMPLETED! (3/10/2025)
- ClampAttribute - COMPLETED! (3/10/2025)
- DocumentationCategoryAttribute - COMPLETED! (3/10/2025)
- MinMaxAttribute - COMPLETED! (3/10/2025)
- NetworkVariable - COMPLETED! (3/10/2025)
- ReadOnlyAttribute - COMPLETED! (3/10/2025)
- SpatialAsyncOperation - COMPLETED! (3/10/2025)
- SpatialAsyncOperationExtensions - COMPLETED! (3/10/2025)
- SpatialNetworkBehaviour - COMPLETED! (3/10/2025)
- ToggleWithEnum - COMPLETED! (3/10/2025)
- VisualScriptingUtility - COMPLETED! (3/10/2025)
- AssetType - COMPLETED! (3/10/2025)
- PackageType - COMPLETED! (3/10/2025)
- SpaceObjectFlags - COMPLETED! (3/10/2025)
- SpatialInteractable.IconType - COMPLETED! (3/10/2025)
- SpatialPlatform - COMPLETED! (3/10/2025)
- SpatialTriggerEvent.ListenFor - COMPLETED! (3/10/2025)
- NetworkObjectOwnershipChangedEventArgs - COMPLETED! (3/10/2025)
- NetworkObjectVariablesChangedEventArgs - COMPLETED! (3/10/2025)