As a Roblox developer, it is currently too hard to store binary data effectively (e.g. a custom animation format, png, midi, etc). The current solutions either involve string values w/ base90 encoded values, or ModuleScripts which return buffer.create("\001\002\003\004\005"). Neither are particularly nice, because both require lots of preprocessing, and are not memory efficient. The latter has the string literal being stored, the former is just literally using more memory.
My personal ideal would be a BufferValue instance, or buffer attributes (ideally returning the same buffer each time)
If addressed, this would provide developers the opportunity to implement formats like SVG, PNG, MIDI, etc. in an efficient manner which can work on low-memory devices.
BinaryStringValue seems like an instance that was accidentally created a long time ago. I wonder if there is a single active use for the instance. Maybe that is because I just don’t understand how or why it is being used.
I know it’s part of the initial request, but I don’t think Roblox should be making any more ValueBase instances.
I haven’t done much work with binary or buffers. Encoding seems like the approach, but I guess editing and reading the data is the important desire, not just encoding for networking.
This is essential, as my plugin stores buffers converted to strings in Attributes. The problem is that selecting the instance causes lag because the engine tries to display the buffer string. A more direct approach would be more efficient (in my opinion).
Full support though I’m curious if this would theoretically allow bypassing the 200k char limit for StringValue in favor of BufferValue using buffer.fromstring since Buffers have a 1gb limit.