API suggestions

Here are some general API suggestions:

Add an Entity super class to everything within 3D space.

Entity.SetPosition(:vector3)
Entity.SetRotation(:rotation)
Entity.PlayTimeline(:keyframes, :easingMode)
Entity.GetPosition():vector3
Entity.GetRotation():rotation
Entity.CancelTimeline()
Entity.Destroy()
Entity.IsValid()
Entity.PlaySound(:audioAsset):sound_handle
Entity.CancelSound(:sound_handle)

Remove Device dependency. Devices should only be required for collision/overlap purposes. Verse shouldn’t just be a more limited alternative to devices, it should be a complete substitution.

Adding, checking, removing inventory items should not require an entity in the world. Add an inventory module.

Player.GetInventory():player_inventory
PlayerInventory.AddItem(:fort_item, amount: int)
PlayerInventory.RemoveItem(:fort_item, amount: int)
PlayerInventory.HasItem(:fort_item, amount :int)

Make GetPlayspace() a global function, since there only is a single playspace.

Add a @description attribute that accepts a string, so ppl hovering my class fields in the property inspector can get a tooltip.
Add a @visibleIf callback, so I can show/hide editable fields on the fly.

Add a basic persistence API. The SavePoint device doesn’t even exist in Verse, so every action needs to be hooked up with a trigger, which is the worst imaginable way to handle something, that should have native Verse API instead.

@Daigoro Thank you for your feedback. While I cannot guarantee a response, I can confirm that this has been forwarded to the appropriate team.