Tthe following code adds a new voxel definition at runtime (playmode).

First, it creates a new instance of VoxelDefinition and populates basic fields like name "Brick", the render type (in this case full opaque voxel) and the textures to be used.

Then, it places a new voxel of the new type just over the crosshair (this part is optional and provided to complete the example).

    VoxelDefinition vd = env.GetVoxelDefinition ("Brick");
    if (vd == null) {
        vd = ScriptableObject.CreateInstance<VoxelDefinition> (); = "Brick";
        vd.renderType = RenderType.Opaque;
        vd.textureTop = texture;
        vd.textureSide = texture;
        vd.textureBottom = texture;
        env.AddVoxelDefinition (vd);

    VoxelPlayFirstPersonController fpsController = VoxelPlayFirstPersonController.instance;
    if (fpsController.crosshairOnBlock) {
        Vector3 pos = fpsController.crosshairHitInfo.voxelCenter + fpsController.crosshairHitInfo.normal;
        env.VoxelPlace (pos, vd);