Creators can pass an Instance to SetAttribute and receive an InstanceHandle from GetAttribute. Get() returns the target immediately when present; Wait() yields until it arrives and accepts an optional timeout. If the target streams out, Get() returns nil while the handle remains valid.

InstanceHandle is also a regular engine type that can travel through RemoteEvent. Attribute-change signals fire when the stored target changes or is deleted, not when that target streams in, streams out or is destroyed. This is a Studio beta, so production teams should test streaming and timeout paths before replacing established ObjectValue patterns.