private void ScrollToThumbnail(GameThumbnail gameThumbnail) { Vector2 thumbnailCoordinates = Util.FindRectTransformScreenPoint(gameThumbnail.GetComponent <RectTransform>()); RectTransformUtility.ScreenPointToLocalPointInRectangle(libraryViewport, thumbnailCoordinates, null, out Vector2 viewportPoint); if (viewportPoint.y < libraryViewport.offsetMax.y || viewportPoint.y > libraryViewport.offsetMin.y) { RectTransformUtility.ScreenPointToLocalPointInRectangle(libraryContainer, thumbnailCoordinates, null, out Vector2 localPoint); libraryScrollRect.verticalNormalizedPosition = Mathf.Clamp01(1 - Mathf.Abs(localPoint.y / libraryContainer.rect.height)); } }