I humbly present you a system that could benefit a lot of (beginner or veteran) developers called Dream Bit Bundles (DBB). The main thing you gain by using it, I could easily say its TIME (i mean…thousands of working hours!). DBB is a (almost) complete game kit/framework, ready to rapidly kick start your game development by solving/facilitating lots of game related challenges so you can focus on your actual game mechanics! At it’s core resides a powerful and greatly simplified asset bundling mechanism which also allows you to access the bundled assets with simple and clean code, perform bundles server uploading, deploy binary and game patches (without the need of external patching programs!), massively reduce patch size by using delta encoding, configure splash screens, display in-game modal alerts and so much more. It is also easily extensible with your own custom logic. On top of all that there is a powerful level configuration system that will rid you once and for all of the need of having more than 1 scene in your entire project and built game.
Being designed with my own game development needs in mind, it is an ongoing project and you can expect support and new useful and cool new features as time progresses.
IMPORTANT:Dream Bit Bundles can beofficially purchased ONLY on the Unity Asset Store. I don’t sell it and I’ve NEVER done it anywhere else! Also, I have NEVER given others permission to do so! Any copies you see being sold or freely distributed anywhere else ARE ILLEGAL and should be treated as such and avoided.
If you are a TL;DR kind of person, I have summarized in some short videos, some core features:
Sorry to barge in like this but I have a small update: I’ve updated the first post in this thread with an embedded video showcasing, in as little time as possible, (~3 minutes) the core asset bundling and accessing mechanisms of DBB. So if you are still unsure how DBB can make your development easier, and/or were discouraged by the sheer amount of textual/image information provided, give it a chance and see for yourself the magic happening.
DBB has just received a significant update which brings some essential fixes and a powerful new feature: you can define a list of supported platforms and have the asset bundles/game players built for all of them at a time. This significantly reduces build times when targeting multiple platforms as it spares you the effort of manually changing the project build target and rerunning the building process for each targeted platform.
Recently I’ve released version 1.5 of DBB, with a richly populated changelog. You can see all changes on the product page, under the Releases section. To mention some highlights:
● I’ve introduced a Binary Self Patching system which allows you to deploy compiled code to your client devices, using the asset bundling mechanism already provided by DBB. This means that now your games can receive both new/patched game assets and also new/patched programmed logic, over-the-air,WITHOUT the need of external patching programs. (Supports Android, Windows and Linux Standalone builds). For more details you can watch the quick demo tutorial in the first post.
● You can now digitally self sign the newly built asset bundles in order to protect them against being hacked in route to your client devices or while being stored on the server.
● I’ve introduced some frontend features as well: an in-game modal dialog system, configurable game start splash screen and fade in/out transitions between game loading screens.
I’ve also updated the first post of this thread to better reflect the improved DBB.
I’ve released recently a new massive update that bumped the version to 1.75 (then 1.76 came with some fixes):
● The most important addition to DBB that came with this version is the delta encoding / binary diff patching system. This is a professional grade system which can greatly reduce the size of deployed patches by computing smaller binary difference files between the old and newer asset bundles. So, instead of uploading/downloading entire updated bundles, the system will deploy only what has actually changed to a bundle since last build, saving lots and lots of network traffic for your clients.
● Added official support for MacOS and iOS. Now DBB supports all major desktop and mobile platforms.
● Decoupled the FTP server communication logic from the DBB core. Now you can easily add your own file server backends by implementing a simple interface.
● Implemented a transactional patch upload mechanism. This means that during the process of uploading bundles from the editor, clients trying to connect will not be able to download new content, and those who were in the middle of a download process will be interrupted.
● I’ve updated the product page with clearer screenshots, revised description text, added subtitles to video quick demos.
The time has come for the last major build, 1.8. This one comes with the following major features:
Selective asset bundling or also known as Asset bundle Variants. This feature allows you to pack, in the same asset bundles, different assets for different target platforms. Uses a reserved folder name based mechanism as so it’s incredibly easy to separate your assets for specific platforms.
I’ve implemented an integration with Google Cloud Storage platform to use for asset bundle upload and public access from your client devices. So now you have the good old FTP and GCS at your disposal.
Implemented a mechanism that allows you to enforce a minimum build version for the installed game before allowing that respective client to download new asset bundles.This way you can force your players to download a new executable (apk. exe. etc) before allowing them to download new bundles.
I just recently became aware of Asset Bundles in Unity (4 years too late) and am looking for a good “manage this nonsense for me” solution to the problem that I’d rather not spend brainpower trying to deal with. I just wanna make games and play with others! You know, like you said in your Asset Store Sales Pitch for DBB (very impressive, BTW)
So, been looking at other older and apparently abandoned solutions in the asset store for solving this and came across your DBB asset.
I am literally drooling over watching how simple your demo appears to make all this work very well! I want to purchase and start using, but I have been majorly disappointed in custom Unity Add-on that are not in alignment with Unity’s core stuff (NGUI, BOLT, etc). I am debating if I should just learn to use native Unity asset bundles or give your solution a try. Do you have any showcases or other clients using your DBB? I believe you are the real deal, I just need some assurances that if I build my new suite of games on top of DBB that I can count on some support.
I’ll give it that “try” if you are in my corner a little from the start.
Really appreciate what you have done here as your demos CLEARLY set the standards of what a good bundle-update solution SHOULD look like. No doubt.
Thank you very much for your appreciation of my work and for considering to buy it!
It is my first DBB related feedback and it means a lot to me!
To answer your doubts. Unfortunately I can not show you any products based on DBB, for 2 reasons:
1. From the ones who bought it, I haven’t received any feedback (even tough in the Manual I provide my personal email and I encourage feedback, issues reporting, feature requests etc.). So I have no idea in what kind of projects, other people are using it. 2. You see, DBB was initially a small module inside an ambitious game we’ve started a year ago (with a small team of artists and sound engineer). As each member of the team found other priorities along the way and bailed the project, I found myself incapable of finishing it or any of the other game ideas I have in my backlog. So after realizing the great potential of that small module I managed to write up until I found myself a one man team, I began full time development (no day job, no weekends or holidays) towards a full blown, standalone framework. I’ve incorporated lots and lots of features I’ve collected in my mind during my game developer career and some features I admired on AAA titles (eg: Binary Diff patching, Cloud based content delivery) and published them in about 10 successive Asset Store updates. So, you see, even my own games, which were meant to be the primary beneficiaries of DBB, did not see the light of day (for now!).
It just wasn’t enough time (and manpower) for me to work on them because DBB (coding, testing, UI, documentation, videos, bugfixing, asset store images and text) burned through my time and financial resources in the past year.
As for the support, you can count on me on doing my best in helping with any issues or questions you might have, as time allows it (as I’ve said, DBB spent my savings and I find myself in need of getting a day job). I’ve also provided a comprehensive manual (~50 pages), a quick start guide and 2 series of videos (a quick demos list and some in-depth 20-30 minutes commentaries) regarding core DBB features. Also, you can see my commitment towards DBB from the amount of features and releases, Asset Store page materials, documentation quality (trust me, it is not just a 50 page wall of text).
If you decide to buy it, I hope it will serve your purposes well and that it will be part of record breaking games!
Many thanks once again!
A kind request to all who bought DBB: please write a quick review on the product page about why you liked it (or on the contrary!).
It will help me greatly in improving it, if necessary, and also the persons who who would want to buy it but do not know what to expect.
Hi Daniel,
I appreciate the very detailed response.
Sorry, I got distracted with Halloween holiday in the US and am just coming back to this post.
Okay, fair enough. I’ll give it a shot and see how it serves my immediate needs on a project that got dropped in my lap a couple of weeks back.
Hi Daniel,
Still going through the asset as I was finally able to sit down and focus on it today. There is a lot here.
This has lots of promise and once things are operational, I can see how it will save lots of time and effort.
First impressions are that it appears to work.
A couple minor bugs I found.
Click Edit in Scenes Config Add with nothing in the text box results in a broken code generated and make Unity unhappy.
It seems the Plugins Data Folder is really tied to the default setting… tried to change it and it didn’t remake those “API” items. Changed to a custom location and it is not doing anything and produced a modal box that wouldn’t go away until I restarted Unity.
Working around that, the rest seems to be okay to use.
Definitely works on bundling, but took some learning to figure out how you intend users to use it. Terms are a little confusing. All efforts to use this asset seems tied to copying the MainScene and using that as opposed to starting a fresh scene and bringing “DreamLoader” into it as a prefab. Not sure.
Pretty steep learning curve.
But, the alternatives are Unity Bundles (yuck) and a couple of others that don’t appear to support mobile bundle patching.
Not trying to be negative, though… So I will repeat, that this asset has lots of promise and once things are operational, I can see how it will save lots of time and effort.
A little disappointed that there is no option for DL bundles via https. Looks like FTP read-only user and Google Cloud(ugh) are the only options to DL the bundles. My current server hoster doesn’t allow for any read-only FTP users… I guess I should’ve read that closer in the description. Still need to build and somehow get the bundles on some server to make sure it works as a POC before I can commit to this solution. I have other core programming tasks for the product I have to get to tomorrow (bundles or no bundles), so I’ll get back to experimenting with this at a later time. Overall, good job! Just needs one more https Download feature and some polish on the instructions, in my opinion so far.
Thank you very much for your feedback and I apologize for DBB not being quite what you expected. I will try and address each of your issues/questions.
I’ve reproduced the issue with the empty field, in scene Add, and subsequent resulting error. Not sure how that slipped past me, as I’m usually overly-paranoid while processing input field data.
As you noticed, DBB is meant to be easily configurable especially when it comes to reorganizing your project as you please. The plugins folder can be moved around but you will have to pick the new path for it, from the main inspector. The API game objects are not automatically (re)generated so please do not break them . I could not reproduce the issue (works on my machine!). Make sure that when you move the DreamPlugins folder, reconfigure the path to it from the inspector, and make it point exactly to the folder in its new location (not the parent containing it). Additionally you can restart Unity to make sure proper path is loaded.
I will definitely fix some issues I’ve gathered and come up with a patch, in the following days!
You are probably right about the learning curve. It became a bit steeper when I’ve introduced Selective Asset Bundling (although it seems a bit more complicated AT FIRST, it eases greatly the process of targeting multiple platforms - a case where you need the same game assets in different quality (eg: LOW-HI poly) but need to use the same asset bundles and access code), in the previous release. The demo project is structured in such a way to illustrate most of the core features (hence the complexity). But if you do not need this feature you can turn it off in your projects. At its core, the system remains very simple: put assets in folders, hit build and obtain Asset Bundles and C# code to access them.
The storage backend choices are very limited indeed. But I’ve anticipated that each customer might have specific needs, where they want to store the AB data. So the system is easily extensible with your custom implementation for storage backends (HTPPS Server, Google Drive etc.). You just need to create a custom type which implements an interface, register that class with the system and you should be all set. (NOTE: coincidentally, no further than yesterday I was thinking I should have provided a HTTP solution as most solutions do). I have in plan some improvements regarding this area of DBB and will definitely consider adding also a HTTP backend, but I can not give you an exact time frame (I’ll try and make it happen until year’s end).
Indeed the MainScene was intended to be only one you will ever need in your games and any other GameObjects you need are meant to be loaded from bundles using the Level Data Loader mechanism (the one with the empty field bug). Of course you could modify this system and use custom scenes but keep in mind that the DreamLoader game object must be present as it is the backbone of the whole system!
If you have further issues or questions do not hesitate!
If DBB proves to not suit your needs, i will not hold any grudges against you for requesting a store refund
Thank you for the detailed response and giving me more insight on what your intents are for this product.
It is a very good product. No refund necessary (unless you are abandoning the DBB product… I don’t think you should, though
You’ve done too much work here to throw it away… and I really want to see it work) I am sure others will want this product as well. You just need more people to see it. The challenge for all of us. am I right?
Yes, the concept makes sense if explained as you have done here in your last note. At its core, the system remains very simple: put assets in folders, hit build and obtain Asset Bundles and C# code to access them.
I think it just needs to be explained over and over… that is how I learn anyways. You’ll typically find me replay-watching videos or re-listening to certain audiobook passages to really hammer in the concept to my “we little brain”.
The major challenge I had in working with the tool is the workflow. I recall I had to lock down the inspector a lot to keep it focused. This is probably just a habit I need to develop.
In my opinion, that feature of HTTPS download of the bundled content is the only key to making this product very useful to me and others. I know I could code the extension myself (no time!) … and I appreciate that you have the whole internet interaction based in .NET framework library instead of depending on Unity’s ever-changing internet library. (i miss WWW)
I’m working on a business app (yawn) for a customer for the remainder of the year and the bundles for it are light. So, it is a good test for your DBB product. If you have some beta HTTPS patches you want to throw my way, I’m game for trying them out.
Thank you again for your feedback and appreciation!
I plan on maintaining and improving DBB up until Unity comes with something better out of the box, so hopefully a few years from now. As a matter of fact I’ve prepared in the weekend a new release with patches for the issues you’ve reported and some other ones I’ve found since the last release. It should reach the store in a few days (from my experience - 2 weeks at most). It all depends on the good folks at Unity and how fast they will approve the new submissions.
Regarding the HTTP Server storage back end, I’ve done a bit of research and I think it should be simple enough to implement and therefore I could give a shot in the following weekend(s) (during the week I have to deal with a new job, worries etc.).
Very good… I’ll await your updated product from the asset store… I have other parts to work on and can get by without bundling anything during the current Dev phase.
Also, good luck with your new job… I assume it is a Day Job to keep the lights on until we (the community) can flood you with purchases for this product. Hopefully, that is not too far away in the future.
I like your customer service and development ability in this interaction, so I’m sure whoever you work for will be pleased as well. Take care, sir.
Thank you for the good wishes and appreciation. Yes, it would be awesome if DBB started to bring some steady income, enough so that I can return to full time game development. Remains to be seen…
Anyway, some updates regarding DBB:
During the last weekend I’ve worked around the clock to implement the HTTP server integration logic and the custom inspector needed to support this feature. The code is 100% written but it needs more testing as I’ve also refactored and fixed some other things along the way. Furthermore, I have to update the Manual and Asset Store materials to reflect this new feature.
I have decided to postpone the patch I’ve promised in earlier posts. I will ship all the patches and the new HTTP feature in just one release.
Those being said, I hope to bring you the new release in about 1-2 weeks.
Okay, that is great news! Glad you are proceeding to make improvements on your asset… as it is truly an asset! I understand that your day job will probably impede your progress on this and yes, I completely understand that you want to make sure all is thoroughly tested and working before you upload and make it available to all on the asset store… I mean, we ARE talking about the entire Unity userbase here… and you WILL have others find this asset very soon. So, yes, take your time and do it right.
For your kindness in making these adjustments, I will definitely post a positive review of your asset… and offer some advice to promote it better and increase your sales. Your target clients will be any newbie users to Unity and those users (like me) who have been unaware of how critical bundling assets are on their games. Smaller initial downloads, better control on updating assets on a remote server. There is a challenge in educating the clients that they need your asset, though. We, the Unity community, need to spead the word more and get others to adopt such a “bundle mindset workflow” in our app designs. It becomes a better user experience for all.
But, learning bundles in native Unity is painful and keeping track of them to ensure the latest is even more challenging. Your asset workflow does simplify things quite a bit. I have to do some self-promotion as well on my stuff… I’ll be sure to mention your asset as a key find. Take care and look forward to trying your improvements.
I am glad to announce that version 1.85 of DBB is now live with the following change log:
Implemented HTTP file server integration for bundles storage.
Fixed some issues caused by invalid UI input and added proper checks where missing.
Removed support and references to LinuxStandalone (32 Bit) build as it was deprecated by Unity.
Various core changes, fixes and improvements.
The newly added HTTP integration was developed using HFS acting as file server. Depending on your actual use case and server, you might have to do some tweaks in code, especially for the DELETE file operation (I understand that the delete operation in HTTP servers is “exotic” and as such I could not come with a solution to fit all cases). Your feedback, suggestions and bug reporting is, as always, greatly appreciated.
Future Development Roadmap - ordered by priority
Fixes for Bugs reported by customers.
I plan to add a custom Editor UI to report progress on tasks such as asset bundling, upload, game build etc. The default Unity Editor progress bar works…ok, but is “hijacked” by Unity itself to display it’s own tasks progress so you are often left without any UI progress during very intensive tasks. A custom window used only by DBB will solve all that confusion. And it will look prettier (hopefully)
I plan to completely detach the patching servers integrations (FTP/HTTP/GS) from the DBB core and make them standalone, auto detectable plugins. This new mechanism I have in mind will greatly simplify the process of adding your own, custom server integrations and it will better comply with SOLID programming principles.
New features suggested by customers and/or ones I might come up with.
So, now to respond to Ron’s post. It is true, the potential market for DBB is huge as many developers, new or old, do not yet know the great potential (and the absolute need in some cases) of using asset bundles. Even myself, I did not know about this powerful concept (and I was a Unity developer for about 2 years) up until our players started complaining (for good reasons!) that they have to re-download and reinstall the entire game (~5 GB), each time we released a patch. Oh, and we did release patches…sometime a few times a week…
I did a small video in which I’ve tried to bring some light and popularize the concept of AB, but unfortunately I am not a great content producer and/or speaker so it didn’t quite have any success. You can check it out here.
Oh and many many thanks for considering a positive review and some publicity! Greatly appreciated!
Great news and glad to hear of the improvements being planned! I’m just getting back from holiday and have been working on other “UI” problems in my current projects. Currently blocked on that one (come on, Unity! a basic UI text entry doesn’t exist? Really? ) Anyways, I’ll DL your changes and give them a try with that HTTP solution being implemented and report back when I can. Thank you for looking into this and making a better asset that is needed by all. Cheers!
Looks like the HFS is something that needs to be setup and installed on the File Server where the bundles are to be stored?