If you’ve ever written a script that creates items for only one person to see locally, you might be familiar with “Overlays”. Overlays are used for things like UI elements (such as the arrow widgets in Create mode) or domain content that you want to trigger separately for each visitor (like the collectable gems in Azooz). Until now, these have been separate from “Entities”, which are the basic building blocks of most things in High Fidelity and are sent over the servers to other users.
Maintaining the 3D Overlay System separate from Entities has become a source of technical debt and confusion for everyone. We have a plan to introduce the concept of “Local Entities” that have all the full functionality of Entities, but can only be seen locally by one person.
This opens up fun new possibilities. You can now use particles, materials, lights, and even zones as Local Entities! Plus, the new Local Entity system will be more efficient and have a cleaner API.
One important thing to note: the 3D Overlays API will be supported for the foreseeable future. Local Entities will be backwards compatible with Overlays. We encourage you to use the new APIs as they will be more efficient, but your existing content will continue to work.
Here is a table showing the schedule for rolling out the new system and deprecating the old system. By “deprecate”, we mean that the API becomes unsupported and will generate an error in the logs. However, the APIs can still be used, and 3D overlays will be converted to local entities under the hood.
Note: just like Overlays, Local Entities will be collisionless.