How to get caret position inside the inputfield? (pos.x & pos.y)

I am trying to create an in-game editor(just like monodevelop and visual studio) using 4.6 UI. I am already able to fetch data for my own intellisense. My problem is I am now trying to display the intellisense below the caret position of an inputfield(my editor). does anyone know how to do that? or at least help me get the actual position of the caret? Thanks in advance!

*Not so important note: I also noticed during runtime that an object [InputField Input Caret] is created inside the inputfield. But it does not contain the specific position of the caret. It is just a rect transform that is relative to the size of the inputfield.

I see that it’s been a while since this question was asked, but I’m posting an answer since I was able to find a solution while working with input fields. Forgive the formatting if it doesn’t turn out right since i’m not sure what the best way to post code on a forum is.
I was able to extend the input field class and access the caret’s position.

`using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class InputFieldCaretPosition : InputField{

public override void OnPointerDown (UnityEngine.EventSystems.PointerEventData eventData)
{
	if (isFocused)
	{
		Vector2 mPos;
		RectTransformUtility.ScreenPointToLocalPointInRectangle(textComponent.rectTransform, eventData.position, eventData.pressEventCamera, out mPos);
		Vector2 cPos = GetLocalCaretPosition ();
		Debug.Log ("C:" + cPos + "  M:" + mPos);
	}

	base.OnPointerDown (eventData);
}

public Vector2 GetLocalCaretPosition ()
{
	if (isFocused) 
	{
		TextGenerator gen = m_TextComponent.cachedTextGenerator;
		UICharInfo charInfo = gen.characters[caretPosition];
		float x = (charInfo.cursorPos.x + charInfo.charWidth) / m_TextComponent.pixelsPerUnit;
		float y = (charInfo.cursorPos.y) / m_TextComponent.pixelsPerUnit;

		return new Vector2(x, y);
	}
	else
		return new Vector2 (0f,0f);
}

`
(Note that the last parenthesis is missing). The core code is in the GetLocalCaretPosition() function. Note that it returns the caret’s position local to the text component of the input field. The rest of the code was for testing purposes and allows the user to push the mouse down while the input field is selected and have the caret’s local position and mouse’s local position sent to the console for comparison. Hope that helps.