Unity 4.6: Drag and drop

Is it possible to make drag&drop inventory with new UI system, with new tools?

If not, is there a way to detect the event when user presses on a button? All i can do right now is detect when button is let go (using Button (script) / On Click () fuctionality), not pressed down.

(csharp code only please!)

Sure. Add an event trigger. Add a new event. Choose OnDrag. Add a listener that calls your Drag method. Typically a drag method would look like this.

public void Drag(){
    transform.position = Input.mousePosition;
}

Edit: That method is rather hackish, there are plenty of issues with it. Here is a better one.

Add using UnityEngine.EventsSystem.

Implement the interfaces for IBeginDrag, IDragHandler and IEndDrag.

Set the mouse position as above inside the IDragHandler method.

You can also use IDropHandler to figure out what you have dropped the object on.

Video tutorial, also has a few other relevant tricks.