Unity SDK Installation
Complete guide to installing and managing the Aether Unity SDK in your project.
Installation
Method 1: Zip Install (Recommended)
- Download the Unity SDK zip from the Downloads page
- Open your Unity project
- Extract the zip (it contains an
Aether/folder) - Copy
Aether/into your Unity project’sAssets/folder (so you haveAssets/Aether) - Unity will auto-import the scripts
Method 2: Unity Package Manager (UPM)
- Open Window → Package Manager
- Click the + button (top left)
- Select Add package from git URL
- Enter:
https://github.com/finexma-dev/aether.git?path=unity-sdk/Aether - Click Add
For UPM installation, Unity needs Git installed and accessible in PATH.
What Gets Installed
The SDK adds the following structure to your project:
1Assets/
2└── Aether/
3 ├── Editor/
4 │ ├── LiveInspector/
5 │ │ ├── AetherLiveInspectorWindow.cs
6 │ │ └── AetherSettingsWindow.cs
7 │ └── Aether.Editor.asmdef
8 ├── Generator/
9 │ ├── Aether.Generator.csproj
10 │ └── AetherSourceGenerator.cs
11 └── Runtime/
12 ├── Core/
13 │ ├── Aether.cs
14 │ ├── AetherBootstrap.cs
15 │ ├── AetherBridge.cs
16 │ ├── AetherErrorCapture.cs
17 │ ├── AetherRecorder.cs
18 │ ├── AetherTestScript.cs
19 │ ├── AetherCaptureConfig.cs
20 │ ├── AetherSemanticCapture.cs
21 │ ├── DeltaEmitters/
22 │ └── Tracking/
23 │ └── GtmlEventAttribute.cs
24 ├── Snapshots/
25 │ ├── GameStateSnapshot.cs
26 │ └── UISnapshot.cs
27 └── Aether.Runtime.asmdefVerification
After installation, verify the SDK:
- Check Assets Folder: Look for
Assets/Aether/directory - Check Menu: Unity menu should show Aether submenu
- Check Console: No import errors should appear
Initialization
You must initialize the SDK once (typically in your first scene).
Option A (recommended): Add AetherBootstrap to a GameObject in your startup scene.
Option B: Call Aether.Init() from your own startup script.
Configuration
Access Aether settings via:
Unity Menu → Aether → Settings
Or programmatically:
1using Aether.Runtime.Core;
2
3// Initialize with defaults
4Aether.Init();
5
6// Or with configuration
7Aether.Init(new AetherConfig { BridgeUrl = "ws://localhost:7890", AutoConnect = true, AutoRecord = true });What Gets Captured Automatically
Aether captures the following automatically:
- Console Logs: All
Debug.Log,Debug.LogWarning,Debug.LogError - Exceptions: Unhandled exceptions and stack traces
- Game Objects: Active scene hierarchy
- Components: Component states and properties
- UI Elements: Canvas hierarchy and UI state
Manual Instrumentation
For custom events, use the [GtmlEvent] attribute:
1using Aether.Runtime.Core;
2
3public class MyGameplayScript : MonoBehaviour
4{
5 [GtmlEvent]
6 void OnPlayerDeath()
7 {
8 // This event will be captured automatically
9 }
10}Performance Expectations
Aether is designed to be lightweight:
- Overhead: < 1% CPU during normal operation
- Memory: ~5-10 MB additional memory
- Network: Minimal bandwidth (localhost only)
- Disk: Event storage grows over time (configurable limits)
Adjust capture frequency and event limits in Aether Settings to optimize for your project.
Uninstallation
To completely remove Aether from your project:
Method 1: Manual Removal
- Delete
Assets/Aether/folder - Remove any Aether-related menu items (if custom)
- Clean up any custom Aether scripts you added
Method 2: Unity Package Manager
If installed via UPM:
- Open Window → Package Manager
- Find Aether in the list
- Click Remove
Always backup your project before uninstalling. Aether data files in Library/Aether/ can be safely deleted.
Troubleshooting
Import Errors
Problem: Import fails or shows errors.
Solutions:
- Ensure Unity version is 2021.3 LTS or newer
- Check that all required dependencies are available
- Try re-importing the package
Missing Menu Items
Problem: Aether menu doesn't appear.
Solutions:
- Verify
Assets/Aether/Editor/exists - Check for compilation errors in Console
- Restart Unity Editor
Connection Issues
Problem: Unity can't connect to bridge.
Solutions:
- Ensure bridge is running before Play mode
- Check bridge host/port in Aether Settings
- Verify firewall isn't blocking localhost
For more help, see the Troubleshooting Guide.