Deprecate Camera ScreenPoint members in favor of InsetScreenPoint

As a developer, the existing Camera ScreenPoint members are too confusing because I can’t remember if they use inset or not. By knowing what a viewport is and that we have ViewportPoint members, I can deduce that ScreenPoint is the inset of the two, but that only holds true if:

  • I am familiar with jargon (new developers may not know what a viewport is)
  • I also know that we have ViewportPoint members

If I’m a new developer or am not familiar with the camera API, I will not be able to deduce that ScreenPoint is inset, and will have to check the wiki for clarification every time I use it. These ScreenPoint members should be deprecated in favor of something more where the API is self-explanatory without the help of other members.

List of ScreenPoint members:

  • Camera.ScreenPointToRay
  • Camera.WorldToScreenPoint

These methods should be deprecated and re-introduced with better names such as “InsetScreenPointToRay”.

1 Like

I feel like developers can be expected to understand technical jargon.

Also there’s a point where an API is advanced enough that the new user experience (i.e., understanding the API without reading a wiki page) shouldn’t really be a consideration. UIS, DataStores, Pathfinding, Raycasting are examples. I think translating screen space to 3d space is one of these.

1 Like

It would be nice if the Intellisense feature could grab short descriptions

2 Likes

I’d suggest something like InsetViewportPoint instead, because “ScreenPoint” already means “viewport point with inset”. Or better yet, we could just deprecate this ScreenPoint stuff altogether now that we have a way to get the inset.

…In fact, now that I think about it I’m probably going to start exclusively using ViewportPoint + GetGuiInset when necessary so that I can avoid any confusion.

1 Like

“Screen” is shorthand for “inset viewport”; maybe we can document this more explicitly. cc @Maximum_ADHD