Skip to content

Instantly share code, notes, and snippets.

@Meatplowz
Last active June 28, 2023 14:21
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save Meatplowz/376d7483d557c47f2ef8bdf3023fdf16 to your computer and use it in GitHub Desktop.
Save Meatplowz/376d7483d557c47f2ef8bdf3023fdf16 to your computer and use it in GitHub Desktop.
Override the Maya Drag and Drop Behavior for File Open/Import
// Randall Hess randall.hess@gmail.com
// Instructions: Copy this file over your local maya version to override the default behavior
// Maya 2022 and Higher
// Additional: You can also build and load this as a module and not overwrite the local maya file.
// Location: C:\Program Files\Autodesk\MayaXX\scripts\others\performFileDropAction.mel
global proc int
performFileDropAction (string $theFile)
{
string $msg = "Would you like to Import, Open or Reference the file?";
string $import = "Import";
string $open = "Open";
string $reference = "Reference";
string $cancel = "Cancel";
string $response = `confirmDialog -message $msg -button $import -button $open -button $reference -button $cancel -defaultButton $cancel`;
if ($response == $cancel)
{
return(1);
}
else if ($response == $open)
{
global string $gOperationMode;
string $save_gOperationMode = $gOperationMode;
$gOperationMode = "Open";
int $result = performFileAction ($theFile, 1, "");
$gOperationMode = $save_gOperationMode;
return ($result);
}
else if ($response == $import)
{
file -import -namespace (basenameEx($theFile)) $theFile ;
return(1);
}
else if ($response == $reference)
{
file -reference -namespace (basenameEx($theFile)) $theFile ;
return(1);
}
}
@Meatplowz
Copy link
Author

Meatplowz commented Aug 20, 2018

USE AT YOUR OWN RISK!
However, let me know if there are any issues so that I can correct them.

@TuanTran2008
Copy link

Oh, It works fine. Thanks so much.

@lucasweij
Copy link

Hi there, Love your script. I just got this problem. Whenever I have a scene open that has already been saved, and I drag a file in there. It will save my current open scene over the dragged in file. Making the dragged in file into the other file

@JohnInc81
Copy link

Hi ! It works well for me for few files and the option " Import / Open / Reference / " stop as it should and always reference the file I drop in whatever the option I took ..., But it was nice when it worked. ;)

@Ravenwzj999
Copy link

do yuou think it's possible to make a newer update to this mel so that the drag and drop will make Maya pops a window to let us choose the behaviour such as open or import or reference, etc

@Ravenwzj999
Copy link

USE AT YOUR OWN RISK! However, let me know if there are any issues so that I can correct them.

do yuou think it's possible to make a newer update to this mel so that the drag and drop will make Maya pops a window to let us choose the behaviour such as open or import or reference, etc

@Nat3Turner
Copy link

Good morning Randall, been a long time! I forked, and made a small change to this that worked in my local Maya 2023. not sure how to do Maya version branching inside of MEL, so I could retain the old gv_operationMode variable. I just changed it in the fork.
https://gist.github.com/Nat3Turner/b5029d9649b742f3cd34a24e5f94abf3

@Meatplowz
Copy link
Author

Meatplowz commented Jun 28, 2023

Updated to reflect the latest Maya versions for now. Thanks Nate!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment