In our last blog post we laid out a new direction for our Cubiquity voxel engine, including open sourcing the code and shifting the focus towards research for a future Cubiquity version 2. The first part of this is now complete, and the whole technology stack is now available under the MIT license:
- PolyVox: Low-level classes for storing and processing voxel data
- Cubiquity: A higher-level voxel engine built on PolyVox
- Cubiquity for Unity3D: Integration with the Unity game engine
- Cubiquity for Unreal: Integration with the Unreal game engine
The main advantage (as well as freedom!) of this new MIT release is that users can attempt to compile the core Cubiquity library for new platforms whereas we previously only supported Windows, OS X, and Linux. You’ll be own your own here (there are no real build instructions), but we have had reports of it working at least on the iPhone.
There are a few important points to be aware of for those wanting to work with this code base:
For Unity users: We have not uploaded this MIT-licensed version of Cubiquity for Unity3D to the asset store, basically because we don’t want to go through the building/testing/release process again. The asset store version corresponds exactly to the ver1.2.1 release tag, and only differs from master in terms of the readme and the license (Asset Store free license, rather than MIT).
For Unreal users: Be aware that the Unreal version of Cubiquity is really just a proof-of-concept. We did successfully use it for ‘The Peasants are Revolting‘ but it is not production ready and doesn’t work with the latest version of Unreal Engine. We hope to address this for Cubiquity version 2.
However, please do note that the projects above are now largely inactive. As explained previously, the upcoming Cubiquity version 2 will be a complete rewrite which will build on the lessons which have been learned while creating the existing system. Development will take place in a new repository once we have something to show, though at the moment it is very much in the research and prototyping stage.
Does this mean the libCubiquity source was provided for Unity3D then? David thank you for creating and sharing this wonderful project.
Note the last Unity 4 build was updated to 4.7.2. This breaks a couple of minor areas in Cubiquity for Unity3D. I understand that development isn’t active however I believe there will not be a UNITY_4_8 going forward…
#if (UNITY_4_3 || UNITY_4_5 || UNITY_4_6)
needs to be
#if (UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7)
in VolumeRenderer.cs and OctreeNode.cs
> Does this mean the libCubiquity source was provided for Unity3D then? David thank you for creating and sharing this wonderful project.
Yes, it is here (though the code is a bit messy…): https://bitbucket.org/volumesoffun/cubiquity
> Note the last Unity 4 build was updated to 4.7.2. This breaks a couple of minor areas in Cubiquity for Unity3D…
Huh, yes, that wasn’t very forward-thinking! Actually I think you can just use ‘UNITY_4’? I’m not going to do a new asset store release for this as it is quite some work, and actually the development branch no longer supports Unity 4 anyway so there’s no point committing the change there (I’ve simply removed that piece of code now).
https://bitbucket.org/volumesoffun/cubiquity-for-unity3d/commits/c5b3f7c792e40357b95d3084bfcd17508a7e01a5
So you will just have to keep the change locally, but thanks anyway for pointing it out.
Wouldn’t it be better to drop Unity 4 in v2? The current version works well for Unity 4 Pro as far as I’ve tested the included examples (Mac).
I totally understand that Unity 5 Free has less limitations than Unity 4 Free but this totally changes if you are a Unity 4 Pro user such as myself, the number of draw calls rise up switching to Unity 5 Free (Mac).
I’m not trying to sell you on Unity 4 going forward but a simple change would maintain all that effort that lead up to Cubiquity v1’s final release.
If you are using Unity 4 you can use the latest version in the asset store, which should also match the master branch in Bitbucket. The development branch in Bitbucket has indeed dropped Unity 4 support but it has not added any features, so you are not missing anything by using Unity 4 and the master branch or asset store.
Version 1 of Cubiquity is now basically discontinued and it is not exactly clear what form Cubiquity 2 will take, nor whether it will focus on Unity or Unreal. It will be a complete rewrite though, and I doubt if there will be anything usable in less than a year.
Cubiquity v1 may be removed from the asset store eventually but there is no hurry here, and it will stay on Bitbucket (including the master branch with Unity 4 support).
Note my posts are relevant towards bitbucket / github… You are removing Cubiquity v1 from the asset store eventually?
I am an Unreal user and am anxious to give this a try
Do you have an ETA for cubiquity 2
Say maybe by the end of 2016
Pingback: Voxeliens is now open source - Volumes Of Fun