How to set up streams properly using Zylann's voxel tools?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By DamonR

I have been playing about with the voxel tools by Zylann for a couple of months, after finally learning how to build custom Godot builds on Windows 10.

I also downloaded the voxel tools demo games, and have tried to use them as templates while learning, including the blocky_game example for saving a terrain after modification.

However, whether I use VoxelTerrain or VoxelLodTerrain, I have been unable to save any modified terrains in other projects. And if I add a stream to a VoxelLodTerrain, it fails to render, and the node has a warning saying “The current stream is providing voxel data on channels that are not used by the current mesher. This will result in nothing being visible”. Which is the same warning shown in the blocky_game example, yet that displays just fine.

I have checked the voxel tools docs, but some information on streams is still “TODO”, and the information on using voxelstreamregionsfiles suggests it can be added, using a certain setup, which I copied from the blocky_game example.

I have also checked the issues/bugs page on github, and have found a couple of posts relating to saving modified terrains, but have not been able to get anything working.

As soon as I remove the stream option from the terrain, it behaves normally again.

I’m not sure if I’m doing something wrong with the stream setup, or if it isn’t designed for use with VoxelLodTerrain. If anyone has any information about how to use streams properly, it is appreciated. Thanks.

:bust_in_silhouette: Reply From: DamonR

Sometimes you just need to sleep on it. And play about with more settings. After deleting the old meta data file, creating a new stream, and setting the lod to 4 before setting the target directory for the save data location (trying to change after isn’t possible), modifications to the VoxelLodTerrain can be saved. By moving far enough away (loading/unloading the chunk I think), the modifications are saved. Next I will try using the solutions found on github to allow manual/auto saving as well. Leaving this here for anyone else who may find it useful.