Instead of waiting for unity to do it for me, I wrote a editor script that makes my life easy. This editor script adds Cut & Paste option to Assets context menu.
How to use : Create a c sharp file in editor folder & copy paste the code below. Right click on the asset in Project pane & click on Cut. Then choose the location where you want to paste the asset , right click & select paste.
Code is as follows,,
using UnityEngine;
using UnityEditor;
using System.Collections;
/* Author : Altaf
* Date : May 20, 2013
* Purpose : Context menu to copy, cut & paste items
*/
public class AssetHelper : ScriptableWizard
{
static string _AssetPath = string.Empty;
[MenuItem("Assets/Cut", false, 80)]
static void MoveAsset ()
{
_AssetPath = AssetDatabase.GetAssetPath(Selection.activeObject);
Debug.Log("Copied asset at path : " + _AssetPath);
}
[MenuItem("Assets/Cut", true)]
static bool MoveAssetValidate ()
{
return (Selection.activeObject != null);
}
[MenuItem("Assets/Paste", false, 80)]
static void PasteAsset ()
{
string dstPath = AssetDatabase.GetAssetPath(Selection.activeObject);
string fileExt = System.IO.Path.GetExtension(dstPath);
if(!string.IsNullOrEmpty(fileExt))
dstPath = System.IO.Path.GetDirectoryName(dstPath);
string fileName = System.IO.Path.GetFileName(_AssetPath);
string msg = AssetDatabase.MoveAsset(_AssetPath, dstPath + "/" + fileName);
if(string.IsNullOrEmpty(msg))
{
_AssetPath = null;
Debug.Log("Pasted asset at path : " + _AssetPath);
}
else
Debug.LogError("Failed to paste asset : " + msg);
}
[MenuItem("Assets/Paste", true)]
static bool PasteAssetValidate ()
{
//Have we copied anything?
if(string.IsNullOrEmpty(_AssetPath))
return false;
//Try to paste no where?
if(Selection.activeObject == null)
return false;
//Trying to paste on same asst again?
if(AssetDatabase.GetAssetPath(Selection.activeObject) == _AssetPath)
return false;
return true;
}
}
Hope it helps...