This tab allows you to automate Volumator, so Volumator can build, test and fix volumes for you.
Automation is carried out by 'Depot' actors, these are placed in each area that you'd like to build volumes for, e.g. one depot per room.
When you run the depot, a building drone is sent out to detect the area and generate the volume, just as if you'd started your own building drone from that location. The volume is then associated with the depot. If you then start the depot again, a testing drone will start from the depot location, checking that volume for issues. If it detects too many issues, the volume gets deleted and another building drone is sent out to build a replacement volume.
Using this system, you can manage all the volumes in a map with ease, periodically running all the depots to ensure the volumes are in good standing.
You can disable the automatic deletion and rebuilding of bad volumes if you prefer to manually investigate test results. This can be done on an individual depot basis (the 'lock depot' button) or globally (the 'Rebuild failed depots' checkbox).
Depots can be assigned bookmarks, allowing for easy teleporting between them.
Finally there is a report specifically for depots, showing which are locked, their bookmarks, their status, etc.
As a reminder, each setting mentioned on here will have more detailed information in the appropriate Settings page elsewhere on this site.
This will create a depot actor just in front of the camera location. It checks if there is geometry around that location to ensure that it's a 'safe' location, this is to ensure the depot can safely spawn drones. It will give you an error if you try to create one in a bad location.
When created, the depot has no volume (as we haven't built anything yet) and the text above this indicates this. The depot sprite will also be monochrome, indicating that it's empty.
Once a volume exists on the depot, the depot sprite will become multi-coloured and the actor text will inform you as to the associated volume's status.
A newly created and therefore empty Depot actor
The depot after having run. It's generated a volume called 'LocationVolume6' and the resulting quick test has shown there are no warnings or errors on it
When creating a depot, the current Volume Class in Volumator's Generation Settings is pushed to the depot's Volume Class. This is then used to determine what type of volume the depot builds and tests.
This means you can have different depots handling different volume types and it should all work pretty intuitively. However, if you decide you want to change the volume type on a depot, you'll need to change the VolumeClass variable on the depot and manually delete the existing volume. Or safer yet, just delete everything and make a new depot with the updated Volume Class, set in Generation Settings.
In the Volumator Widget lives the VolumeClass, stored in Generation Settings-Advanced.
When creating a depot, this is what's used to set the depot's Volume Class
In the depot actor, the Volume Class is set when it's initially created.
It can be changed, but doing this will orphan existing volumes from the depot, so ensure you delete them.
You can either start the selected deport, or start all depots in the map.
What the depot does depends on whether it has a volume (coloured icon with info text about the volume), or no volume (monochrome icon with 'no associated volume' text).
With no volume, a started depot will send out a building drone from it's location. This is the same as if you had spawned one from the Build panel from the depot's location. When it finishes, it associates the volume with the depot, runs a quick test and pushes the data to the depot.
If there is a volume associated with the depot, when started it will send out a testing depot from it's location. This is the same as if you'd spawned one from the Test panel from the depot's location.
However, there is one key testing difference, when a depot tests it's volume it knows exactly which volume should be covering the area. So the tester scans the area specifically to find areas this particular volume isn't encapsulating. This is different to a tester from the Test panel, as that has no 'context' for testing and instead is checking locations to see if ANY volume is covering it. This makes depot testing even better.
For the same reason, depot testing can also compare the depot volume's height with the height the tester detected during testing. Given a discrepancy is unlikely to warrant wiping a volume, we don't do anything with this information other than output a 'height difference' amount to the log for your information, see below. This is the difference in Unreal units between the volume height and what the tester measured.
Once testing is complete, the test result sprites are shown in the map and the depot actor's text is updated to display how many errors/warnings the tester found, see right.
If multiple depots are selected, or the 'Start All Depots' button is pressed, then the depots are started one after another. This way and entire level can be built and/or tested in one batch.
Optionally we can pop up a depot report after all depots have finished, this can be found in the Widget Settings. The depot report is covered below and can help inform you of results in a busy level.
As covered above, if a started depot has a volume associated, a tester is run on the volume. If the tester detects too many errors it can (optionally) delete the volume and start a building drone, in order to build a brand new replacement volume.
The idea is that you can periodically run depots during development to see if their volumes still match the geometry of the world. If they don't the system will create a new volume.
The threshold for what constitues a passed test is set in the Validation Settings and uses the same thresholds as the Validation system (see separate page for more info). There are separate thresholds for warnings and errors, given than errors are more serious than warnings.
In the context of depots, warnings are locations a tester could detect that were not covered by the volume. Specifically they are areas colliding with geometry, typically walls. These may or may not indicate a problem depending on the scenario.
Errors are the same, except that they are not colliding with anything and instead are in open space in the area. This makes them more serious and more likely to be a problem as the camera/player is more likely to be able to get to them.
The threshold numbers are inclusive and based on what passes validation tests. So on the right, 5 warnings and 1 error would be considered acceptable. You'll want to take into account complexity, size and context when determining your thresholds.
The entire system can be disabled with the 'Rebuild failed depots' checkbox in the Automate panel, shown on the right (middle). If disabled, tests will continue to run until drone max moves so you can assess the situation manually.
If either threshold is breached during testing and the volume is allowed to be rebuilt, the tester will quit out early to save you waiting for a failed test to finish. This testing fail can happen very quickly, in fact when I got it working I didn't even know! Therefore keep an eye on the status in the top of Volumator, it'll tell you what the current process is doing (shown right, bottom). The depot report will also let you know what the last action carried out by the depot was and a sound will play when a threshold is breached.
If a volume is rebuilt, by default Volumator will use the same Detection and Generation settings that were used to make the previous volume. These can be different to the current settings. This is to ensure any tweaks you've previously made to a volume carry over to any rebuilds. However, if you'd instead like a rebuild to just use current Volumator settings, in Validation settings disable the 'Depots Retain Settings' button shown on the right (middle).
Vertex-only volumes on a depot, when failed, will not rebuild with a vertex-only volume. This is because they cannot be automated and must be made by hand. Therefore, if a vertex-only volume fails, a Perimeter-mode volume is made in it's place. If this is undesirable, simply lock the vertex-only volume. This is an unlikely scenario anyway as you'd have to manually create a vertex-only volume, and then manually attach it to the depot.
These operate exactly the same as the Regenerate and Recall buttons in the Build and Edit panels, refer to documentation for more info.
The only notable change is that if a depot is set to Locked then it cannot be regenerated. This is just to stop accidental regeneration of volumes that are locked for whatever reason.
A locked depot cannot be regenerated with the Regenerate button.
More importantly a locked volume will not rebuild if it fails tests. If tests breach thresholds nothing happens and the tester will continue until it times out and simply display and report it's errors. It's like disabling the 'rebuild failed depots' on a per-depot basis rather than globally.
This can be helpful with important volumes that you don't want to be rebuilt, possibly because they're fiddly or you'd like to check these specific ones by hand.
A locked depot will have the word 'LOCKED' written under it and the icon will change to a padlock, making it easier to see in the map.
The depot report can also tell you which depots are locked.
Select Depot will select the most appropriate depot. It attempts the following in this order until we find a depot:
- If a volume is currently selected, does it belongs to a depot
- If nothing is selected, see if we're inside a volume and if so, if it belongs to a depot
- If nothing selected and we're not inside a volume, just find the closest depot
Attach Volume To Depot allows you to associate any existing volume with the depot. This isn't often needed, but again can be handy in cases where you already have a volume in a level and want to have the testing be automated by a depot.
Association with depots is handled through the Unreal 'tag' system, along with the volume class. With a volume selected, in the details panel under Actor/Advanced you'll find the tags variable.
When a depot is originally created it's assigned a random integer to it's Unique ID variable. This number is what's entered as the actor tag when associating volumes to depots. On the right (top) you can see the tags of a volume that was created by a depot. The depot has the ID of '2094397824'.
You can find out the ID of a depot by looking at the 'Unique ID' variable on the depot, also shown on the right (bottom).
The depot report can give you a high level overview of the status of the depots in your level. What was the last thing they carried out, what bookmark they are, whether they're locked and what their issues are.
The depots and volumes can be teleported to by clicking on the named buttons.
You can have the depot report pop up automatically after running depots with the 'Auto Depot Report' setting in Widget Settings.
This is disabled by default so it's less annoying initially, but remember that defaults can be updated in the Default Settings data table.
An easy way to clear selected depots of their volumes. This will delete the depot's associated volume from the map and tell the depot that it doesn't have anything associated, so the next time the depot runs it'll build a new volume.
You'll receive confirmation buttons if you click on Wipe Depots, so dont worry about accidentally pressing it.
These numbered buttons will populate as you add depots to the level. They're a handy way to teleport to locations around the level once you've populated the map.
In addition, the Depots themselves have handy text on the actors letting you know their status, e.g. num of warnings/errors, the name of the associated volume and if they're locked. By jumping to the bookmark you can easily look at this info.
There are 10 explicit bookmark buttons, but you can also use the 'next' and 'previous' buttons to scroll through beyond that.
When a depot is created, the used bookmarks in the map are checked and the lowest free bookmark is assigned to the new depot. You can see what bookmark is assigned via the Depot Report, or by selecting the depot and looking for the bookmark variable.
These are two separate but related global systems.
The 'Validation' system is for iteratively checking and improving generated volumes until it passes your approval threshold, e.g. increasing the size of the volume until there are no more warnings/errors. See the separate page on the Validation system for more info. It runs during the generation process, when building a volume
The 'Rebuild failed depots' system is exclusive to depots and runs when later testing existing volumes. It enables the process of deleting bad volumes and recreating new ones when errors are detected during testing.
Both systems use the same warning and error thresholds, sets in Validation Settings. The idea being that you specify here what is acceptable to you given the context you're working in.
Depending on your content, it can be a good idea to enable both as they play well with each other. The Validation system will try to ensure that Volumator outputs volumes within your acceptable tolerance. Then the rebuild system will presumably only fail volumes when tested because something in the map has changed, requiring a rebuild.
If you disable Validation, then your new volumes have the potential to be created already failing tests. This would mean they would fail tests because the initial volume had issues rather than because something in the level changed. In this situation, Volumator can get in a state where it's always failing volumes that it creates.
However, you have the control to do what you want, up to you 😅