Standard Workflow
Get up and running with ProStream in just a few minutes! This guide will walk you through the essential steps to set up streaming in a simple scene.
Prerequisites
Before you start, make sure that you have the following:
- Unity 2022.3.0f1 or later (Unity 6.1 is recommended)
- Scriptable Render Pipeline (SRP) installed and configured (URP or HDRP)
- Scene GameObjects which are not Prefabs are ignored
- (Recommended) Scene Prefabs are children of an Empty Root-Level Parent GameObject
TIP
If you haven't installed ProStream yet, see Installation
Quick Start Steps
Step 1: Setup Scene for ProStream
Open the ProStream Editor window: Tools | instance.id | ProStream | ProStream Editor
Click the Setup Current Scene button

- ProStream will apply a "StreamingScene" label to your scene
- The scene will automatically save and reload
- Wait for the process to complete
What just happened:
- ProStream created a SceneConnector GameObject:

SceneConnector (automatically created)
SceneConnectorData
WorkflowContainer
SceneSearchFilterManager
SelectionGroupContainer- Created asset directory structure in
SceneName/SceneData/ - Created SceneLock, LayerData, SceneSettings, and RuleCollection assets
- Initialized default layers (Ground, LargeObjects, MediumObjects, SmallObjects, Foliage)
- Applied "StreamingScene" label to enable ProStream's asset processor:

- Copied example rules to your scene
- Scene is now ready for configuration
INFO
The scene reload is necessary for ProStream to complete the setup process. This is automatic and takes only a few seconds.
Step 2: Add Scene Search Filters
Scene Search Filters define which areas of your scene ProStream will process. You select root-level GameObjects, and ProStream tracks all prefab children under them.
In the ProStream Editor window, click Add Search Filters button
A hierarchy selector window will open showing root-level GameObjects
Select one or more root GameObjects that contain the objects you want to stream
- Typically these are parent GameObjects organizing your scene content
- Example: "Buildings", "Terrain", "Props", "Vegetation"
- You can select multiple GameObjects (hold Ctrl/Cmd)
Click Confirm in the selector window

What just happened:
- ProStream added
SceneSearchFiltercomponents to your selected GameObjects - Found all prefab instances under those GameObjects
- Added
MatchTrackercomponents to each prefab child - Set tracker status to "Searchable"
- Only objects under search filters will be processed for streaming
Organization tip
Search filters help organize large scenes. Only prefab instances under filter GameObjects are tracked for streaming. This improves performance by limiting the scope of object tracking.
Step 3: Configure Match Rules
Match rules categorize objects into streaming layers (Ground, Large Objects, Small Objects, etc.).
In the ProStream Editor window (if closed, reopen via Tools | instance.id | ProStream | ProStream Editor)
In the Scene Tools tab, click the Setup Match Rules button
- This opens the Rule Editor menu with all available rules
Browse the rule list organized by type:
- MatchBySearchQuery - Rules using Unity Search queries
- MatchByName - Rules matching object names
- MatchByGOQLRule - Rules using GameObject Query Language
- MatchByDefault - Fallback rule for unmatched objects
Enable rules for your scene:

- Expand the
MatchBySearchQuerycategory - Right-click
Example - Cube - Select Add to Scene from context menu
- Repeat for
Example - Sphere
You can also verify enabled rules by viewing the SceneConnector's inspector:

- Verify rules are enabled:
- Select the
SceneConnectorGameObject - Check the inspector for enabled rules in the list
- Enabled rules will show a checkmark or badge in the Rule Editor
- Select the
Rule Execution Order
Rules are processed in list order. The first matching rule wins. The MatchByDefault rule automatically runs last to catch any unmatched objects.
Quick Tip
You can also single-click a rule to select it and view its properties in the inspector, or double-click to open its editor for detailed configuration.
You can edit and preview query results by clicking the icon on the right side of the query input box:

Step 4: Configure Streaming Layers
Layers determine loading distances for different object types.
In SceneConnector inspector, find Streaming Layers section
Click Layer Editor button

- In the Layer Editor, adjust loading distances:

- Ground: 100m (loads at medium distance)
- LargeObjects: 150m (loads farther out)
- SmallObjects: 50m (loads close up)
What this means
Objects in "SmallObjects" layer load when camera is within 50m. Objects in "LargeObjects" layer load when camera is within 150m.
Persistent Layers: Layers marked as Persistent are always loaded and don't need a range set:

See Streaming Layers for detailed configuration.
Step 5: Calculate Positions
This is where ProStream analyzes your scene and assigns objects to layers.
In the ProStream Editor window (if closed, reopen via Tools | instance.id | ProStream | ProStream Editor)
Go to the Setup tab
Click Calculate Positions button
Wait for processing to complete (progress bar will show)
Run Process: CalculateLocations
Running Phase 3: Rule Matching
Search Query Matches: 28 objects
Running Phase 4: Spatial Calculation
QuadTree cells created: 4
Objects assigned: 28
Position Calculation CompleteIf you get errors
- Check Console for specific messages
- Ensure at least one rule is enabled
- Verify SceneSearchFilter exists and has a query
- See Troubleshooting
See Position Calculation Process for complete details.
Step 6: Create SubScenes
Now create the actual SubScene files that will stream at runtime.
In ProStream Editor (still on Setup tab)
Click Create SubScenes button
Wait for processing (this may take a minute)
What's happening:
- ProStream creates scene files (.unity) for each spatial region
- Objects are cloned into appropriate SubScenes and sections
- Scene is reloaded to finalize changes
Creating SubScene Assets...
Processing SubScenes...
SubScene creation complete
Scene reloadedAfter Completion:
- Check Project | Assets | SubScene_Assets | YourSceneName | Entity
- You should see multiple
.unityfiles (one per spatial region)
See SubScene Creation Process for complete details.
Step 7: Test in Play Mode
Time to see streaming in action!
Ensure your scene has a Camera or Player controller
Enter Play Mode
Move the camera around the scene
What to observe:
- SubScenes load/unload as you move
- Objects appear/disappear based on distance
- Check Hierarchy window - SubScenes load additively
YourScene (Main)
├── SceneConnector
├── SubSceneRoot
│ ├── YourScene_Quad_0_0 (SubScene - Loaded)
│ ├── YourScene_Quad_0_1 (SubScene - Not Loaded)
│ └── ...
└── CameraPerformance Check
Open Window | Analysis | Profiler to monitor memory and CPU usage. SubScenes should load/unload efficiently.
Next Steps
Congratulations! You now have a working ProStream setup.
Refine Your Configuration
Improve Rule Matching
- Create custom rules for specific object types
- Adjust rule priorities
- See Rule Engine
Optimize Streaming
- Adjust layer distances based on object importance
- Use Persistent layers for always-loaded objects
- See Streaming Layers
Add Modifications
- Combine meshes for better performance
- Remove unnecessary components
- See Modification Engine
Learn More
Essential Reading
- Position Calculation Process - Understand rule matching
- SubScene Creation Process - Understand SubScene generation
- Runtime Systems - How streaming works at runtime
Common Quick Start Issues
Setup button says 'Scene must be saved'
- Solution: ProStream requires scenes to be saved to disk before setup. Save your scene via File | Save Scene first.
SceneConnector not created after setup
- Check: The scene automatically reloaded after clicking Setup
- Check the Console for any errors during setup
- Verify the scene has the "StreamingScene" label in Project window
- Look for
SceneName/SceneData/folder in your Assets
No SearchFilter Objects found
- Solution: You forgot Step 2! Click "Add Search Filters" in ProStream Editor and select root GameObjects that contain your prefabs.
No MatchTrackers added
- Check: Your selected GameObjects contain prefab instances (not regular GameObjects)
- Prefabs are children of the search filter GameObject
- Check Console for processing messages
No rules have been added
- Solution: Enable at least one rule in the Rule Editor (Step 3).
No objects matched
- Check: Search query in SceneSearchFilter is correct
- Rules are enabled (checkmark in Rule Editor)
- Rules actually match your objects (test queries in Unity Search:
Ctrl+K)
SubScenes empty in Play Mode
- Check: Position Calculation completed successfully
- SubScene creation completed successfully
- Check SubScene
.unityfiles - open them to verify objects are inside - Check Console for errors
Streaming not working
- Check: You're in Play Mode
- Camera/player is moving around
- Streaming distances are appropriate for your scene size
- StreamingManager exists in scene (auto-created after SubScene creation)
For more issues, see Troubleshooting
Pro Tips
Start Small
- Test with 20-30 objects first
- Verify everything works
- Then scale up to your actual scene
Use Examples
- Enable example rules and modify them
- Don't create rules from scratch initially
- Learn by observing what works
Check Console
- Console messages guide you through the process
- Errors are usually clear about what's missing
- Don't ignore warnings
Save Often
- Save scene before Calculate Positions
- Save scene before Create SubScenes
- ProStream operations can't be undone easily
Iterate
- You can re-run Calculate Positions anytime
- Adjust rules and re-calculate
- Only create SubScenes when satisfied with configuration
What You Learned
- How to set up ProStream in a scene
- How to configure search filters and rules
- How to set up streaming layers
- How to run the position calculation process
- How to create SubScenes
- How to test streaming behavior
You're now ready to use ProStream in your projects!
See Also
Getting Started
Core Concepts
Processes
