Complete release notes for the current and previous versions of the engine.
Newest version: 1.2.149
This release contains the first public version of the LiveUpdate feature. LiveUpdate allows you to ship a smaller bundle and load content dynamically. If you are unfamiliar with the feature there is a great post on the forums by Jakob that describes the feature very well: https://forum.defold.com/t/live-updates/4943
New API functions for LiveUpdate. The new API allows you to check if a collection proxy has all the resources it needs to load properly, and to store any missing resources that are needed in case they are missing. More complete documentation of the API will be available on the web page. In short:
collectionproxy.missing_resourcestakes an url to a collectionproxy and returns a table with hashes of all (if any) resources this collection is missing.
resource.store_resourcetakes a reference to the project manifest, the data to store, the hash of the data to store, and a completion callback. The user is free to acquire the resource data in any way they like (http, ftp, AWS and so on) before storing it.
resource.get_current_manifestgets a reference to the manifest currently in use. This reference should be passed on to
In the editor there are some new settings available.
There is a new checkbox on collectionproxy objects, 'Exclude'. Check this and the collectionproxy resource, and all of its child resources, will not be included in the bundled archive but must instead be loaded using LiveUpdate!
Menu option Project->LiveUpdate settings.. allows you to choose where to publish LiveUpdate resources.
Known issues It wouldn't really be a new feature without some known issues.
Collectionproxies that are children to excluded collectionproxies will themselves be implicitly excluded even though they are not tagged as such in the editor.
Addressing a collectionproxy with
collectionproxy.missing_resources can only be done from a script that is in the same collection as the target collectionproxy. A workaround is to use messaging instead.
This first release of the Native Extensions feature is a way for the users to get a very first taste of how to extend the engine.
Note Note that this release is a very first step, so not all features are there yet. Also note that while polishing the product, we might need to make (possibly breaking) changes of this feature, in order to further enhance the product. With that said, we'd like to invite you to try it out, and to help us test it!
What doesn't it do? The way to interact with the engine is limited by our SDK, which currently is very small. Over time this SDK will grow, allowing the user to interact further with the engine.
More detailed info will be found in the Native Extension thread on our forum. Also, more detailed documentation is on its way, along with more examples. Stay tuned!