Retype ObjectValue.Value from Instance to Object

As a developer, it is too hard to work with Object and Actors at the same time.

Currently:

  • The #1 way to transfer data between Actors is using Attributes. These are great because they support tons of types and they come with change signals.
  • Since Attributes don’t support Objects, ObjectValues are used instead. These are a little more cumbersome but they get the job done.
  • ObjectValues don’t support Objects. Only Instances. So communicating an Object between actors is very hard. BindableFunctions and BindableEvents require a lot of work to accomplish this.

So my suggestion is to allow ObjectValues to carry Objects.

2 Likes

adding up to this feature request:
make InstanceValue to seperate those 2 things (objects and instances)

I really doubt they will add new ValueBase instances like this, but it is pretty ironic that an instance called ObjectValue does not actually support Objects

2 Likes

You see my reason for suggesting InstanceValue is because it doesn’t make sense so just to make it make sense i suggested to seperate those 2 things

1 Like

I see the point but couldn’t it potentially break older games that use ObjectValues? Sorry if this is a redundant question, I’m not too familiar with how deprecated things are handled.

Regardless this is a needed feature, honestly surprised it’s not already implemented, but that’s not a scarce feeling when it comes to Roblox.

It would probably mess with some things like script typechecking because certain operations like ObjectValue.Value.Parent won’t be valid unless you assert that it’s an Instance (because Objects do not have a .Parent property, they aren’t part of the Data Model at all, which could also be a technical restriction with implementing this).

There are always reasons and priorities. Objects are relatively new, they were only added around November last year. There’s always an endless backlog of features and bugs for the internal teams at Roblox to work on and address, so if nobody asks for something, then there’s a chance that it won’t be investigated (assuming there aren’t any external factors, and for features like this there probably won’t be).

1 Like

You’re asking for a solution to a problem that you already admit has a valid solution: you can pass objects through bindables (and Actor:SendMessage). Even if it’s not the best solution, your request should better reflect the problem before you propose what you think would be the ideal solution.

Regardless, I guarantee you this will never happen because it would mean almost every single datatype would have to be serializable and replicate, which isn’t possible. How would you serialize a VideoCapture? What about a WebStreamClient?

Fair enough, but those additions not including shortcuts commonly seen elsewhere gets annoying after a while, especially when it seems like a very quick addition and there’s no feedback other than standard “We’re looking into it” responses, although that’s a wider critique rather than specific to just this.