ACID NoSQL Data Storage Solution[RELEASE]

The UnDBreeze is a ACID NoSQL(embedded Key/Value storage) based data storage framework for Unity3D 4.x.

It is based on my modified version DBreeze.
DBreeze(http://dbreeze.codeplex.com/) is high performance of CRUD operations database, and supports transactional, ACID-compliant, multi-threaded.

There are two ways to use this framework.
Use the C# API, DataManager and DataStorage Unity3D components.
Use the PlayMaker intergration UnDBreeze Actions.

The UnDBreeze also support data encryption and data compression.
The UnDBreeze is all platforms supported. Tested on PC, Mac, iOS and Android.:sunglasses:

The Asset Store: http://u3d.as/4oW

Great asset,

can we have a look at the doc
Also we are publishing to Unity Flash, does this work on Flash?

Thanks.

Looks cool!

I’ve added this to our list of third party tools with Playmaker Actions:
https://hutonggames.fogbugz.com/default.asp?W714

Sorry for the late reply.

@rocki
I haven’t test it for Flash.
But for the WebPlayer build. There is no IO.
So database file couldn’t be wrote to your disk.:neutral:

The attachment is the Documents.

1218643–50026–$Documents.rar (608 KB)

Thank you for the link:smile:

@rocki

I am really very sorry.
Because of the limitation of the Unity3D WebPlayer and the dbreeze(which UnDBreeze is based on).
I can’t make it to work in the WebPlayer.:frowning:

So only PC standalone, Mac standalone, iOS and Android are supported.

Zhing,

OK, but can you give more information what Dbreeze needs that makes the WebPlayer not work?

@rocki

There is only one way, WebPlayer can save database data.
Send the data to the remote server by WWW POST request.
But before do this, you must get the data as byte[ ].

dbreeze can save the whole database to memory. But can’t get the database as byte[ ].

So, the WebPlayer require data as byte[ ] for sending with WWW POST. But dbreeze can’t return the whole database as byte[ ].

If you want to save your data to remote database. Maybe you can try MySQL as the storage solution.

Thanks Zhing for your reply,

Let me see if I understand what you wrote correctly.

  1. Webplayer can only save data using WWW POST.
  2. WWW Post only works with Byte[ ].
  3. Dbreeze can save to memory but not Byte[ ].

Result: Dbreeze cannot work in Webplayer, use something else in Webplayer that can send Byte[ ] to WWW Post and use MySQL on the Server.

Question: Since Dbreeze can save to Memory, can I save what is in Memory to something else that can convert to Byte[ ] ? What is the format of the Dbreeze Data that is in Memory. ?

@rocki

You can check the dbreeze’s source code at dbreeze.codeplex.com.
In memory mode, dbreeze storage the whole database to multi MemoryStorage objects.
If you could get all these MemoryStorage objects and convert them to byte[ ], then you can send it to your server.
But it is a very difficult way. You need to change many code of dbreeze.

If you want to try to do this. I can send you my modified version of dbreeze for Unity3D.

Zhing,

Is this the MemoryStorage.cs class you mean?

http://dbreeze.codeplex.com/SourceControl/changeset/view/b41a8dff8b8197a97197e6845521ebd286b84800#DBreeze/Storage/MemoryStorage.cs

It looks like this class is already storing in Byte.

You can send the modified version Via PM in this forum

Thanks.

Sorry for the late.

This the source code of dbreeze which UnDBreeze is based on.

1229001–51490–$dbreeze.rar (1.19 MB)

Zhing,

Is this your modifications or just the source code of dbreeze ? Please send me your modifications using Private Messaging of this forum.

@rocki

It is which UnDBreeze is currently based on.

Can I use this plugin to save/load image/audio data on IOS at runtime?

Also, The asset store description needs a link to an example or a link here. I only found this through doing a google.

Hi Zhing, it’s been a while.

Did you get a chance to update this package to work for Unity3D WebPlayer ?

Thanks.

Hi,

Error 5 The type or namespace name `JsonReaderSettings’ could not be found. Are you missing a using directive or an assembly reference? Assets/Scene2d/UnDBreeze/Scripts/JsonFXSerializator.cs 27

Error 4 The nested type Serialization' does not exist in the type Pathfinding’ Assets/Scene2d/UnDBreeze/Scripts/JsonFXSerializator.cs 19

Error 3 The imported type `Ionic.Zlib.CompressionLevel’ is defined multiple times Assets/Scene2d/UnDBreeze/Scripts/DataManager.cs 45

The most serious error is PathFinding. I use A* Pathfinder and the namespace collides between your product and A* Pathfinder.

Also, any A* path-finding product on the asset store which descends from Pathfinder will get conflict.

  1. Can I have a refund. The product does not work.

  2. Where is the sources for the changes you made?
    It is MIT-licensed and the MIT sources are not present in the asset I brought.
    The DBreeze (freeware on codeplex) don’t work on Unity3d because it uses Linq and NET30.

I’m moving on and using SiaqoDB instead.

I would also like to submit a request for a refund.

The advertising and documentation shows “Supports for All Platforms”, when I bought it, the Webplayer version doesn’t work. When I asked about how to fix this, I was told that the source will be sent. So far, no source has been sent. Only the original opensource file is sent, but not the “Modified source”. Basically my project is for WebPlayer and I cannot use this plugin at all. I have bought your other plugins and they work but this one I cannot use because it doesn’t support all platforms and particularly doesn’t support the WebPlayer.

Please refund.

Thanks.