[REQUEST] More control over SceneGraph

I’m posting it here since the last survey didn’t allow us to provide additional feedback.

  1. Direct access to the simulation and round simulation entities, similar to how GetSession() works right now.

    GetSimulationEntity():entity
    GetRoundSimulationEntity():entity

    They feel like the real root entry points of an experience so being able to access them from anywhere (and both functions being non-failable) would make a lot of sense. It would also make it much clearer whether something is meant to live for the whole simulation or only for a single round. Right now this kind of lifetime management depends on the Entity we use to GetSimulationEntity[].

  2. Adding components directly to the player entity.

    Right now it’s possible only by enabling experimental “Custom Items and Inventory” and attaching components (or adding entities) to player’s Root Inventory Entity.
    The good thing about it - it works (and it’s beautiful).
    The bad thing - switching between edit and play mode.
    We should be able to check if we are currently in edit or play mode without any unreliable workarounds. Something like GetSession().IsEditMode[] would be perfect (not to be confused with session_environment.Edit).

  3. “not_prefabable” specifier for components…

    …that would allow marking components as not meant for prefabs so they could be used only in Verse and would not be visible in the editor.