M2u interactive sync script for Maya -> UE4

Argh, the FastFetch operation was not added to the registered operations, I’m sure I tested that but I think I reverted some changes inbetween. I really need to write some automated integration tests for stuff like that.
It should be fixed with the latest commit (only the c++ code changed, not the python code)

Thank you very much. I hope I will find some more time to implement all the stuff I planned in the new year :wink:

btw. It is not possible to keep the changes that are required for 4.6 in #if preprocessor blocks, because UBT is expecting the constructor macro to be the first statement in a class. so my repo is still only valid for versions lower than 4.6…

Thanks for the help, I also hope you find time to continue this work and get necessary help.

This is way to cool to get lost! Thanks a ton for your hard work and let me assure you it was and will be well worth the time. Even though the most important things are also available in the engine, laying out the level within maya still feels much smoother and quicker than in the UE4 (no offense Epic, you guys do a great job). Had a little test run yesterday and can proudly confirm that the plugin works as expected in the current promoted build of 4.8. I wish i could help with the coding part of the plugin but unfortunately i’m to scared of those programmer-witchcraft you guys perform, so that i had to choose the softy environment art path. Anyway enough joking around, i will make it a part of my workflow and keep you posted on bugs i encounter, general behaviour and possible feature requests.

Thanks again for your hard work, looking forward what the future holds for this nifty time-saver!

thx for your comment, development is a bit slow currently, but I will definitely get back to it. Good to hear that probably no changes from 4.7 to 4.8 have to be made. And i guess you compiled it on Windows? Because I currently can only test it on Mac.

In the newer UE versions, they added a feature to save CPU time when the Editor is not active. That will cause the interactive part of the script to not give, well… interactive feedback. I will take look if it is possible to disable that feature when the m2u-plugin is loaded. Until then you have to turn it off by hand in the Editor Preferences:

So we will still need to build it ourselves? :frowning: Not much of a programmer myself so I am still using the none source.

The required engine change is now in 4.7 so in theory the plugin could now be distributed properly.

I currently can only build on Mac. I tried to build on my bootcamp installation but it didn’t work. I now will have to wait until mid march to get real internet and get my windows PC to my place, so… until then I could only provide a binary for Mac.
But maybe Gigantoad can build it on windows and provide the binary?

Can do, I’m actually not sure how. So far the plugin always lived in the editor source. Can I Just copy it to the game project, build and that should do it? How do we build distributable plugin binaries?

Hi!

You’ve made a great and inspirational stuff!

I am playing with similar task and have probably a simple question: How you forcing UE’ viewport to refresh after each command?

At this moment I can transform my Actors by sending commands from Maya through TCP and I can see the Details panel is updated, but Unreal Editor viewport is not refreshed till I will switch from Maya.

Sure, I am using GEditor->RedrawAllViewports(); command, but this doesn’t help…

I’m using GEditor->RedrawLevelEditingViewports(); mainly. I thin RedrawAllViewports will even redraw stuff like the AssetBrowser, though I’m not sure.
Note that recent versions of the UE introduced the ‘never redraw unless focused’ thing to save processing time. Since Maya is focused when doing stuff, the Editor will not redraw, even if told to by code. You’ll have to disable that in the options of the editor, see:

&d=1423773869

I am soooooo glad I came across this thread, absolutely brilliant work :slight_smile:

I would love to see this evolve to a point where you had real-time Maya <-> UE4 rigging & mocap support similar to that of CRYENGINE Cinebox.

I would also like to point out this thread of mine which shares very similar topics to this thread but more of a suggestion thread over that of a WIP thread :wink:

UE4 Forum Thread: Support Live Sync e.g. Cameras / Lights / Rigs / Animation for Maya & possibly Max

CRYENGINE Cinebox Live Sync With Maya:

CRYENGINE Cinebox Mocap:
=XNm_44sY_ds

[HR][/HR]
P.S. I have started the conversation internally with some of the engineering team & we may very well step up to the challenge of bringing support to 3DS Max for the m2u UE4 Plugin :smiley:

@ You should also have a chat with 's MultiEdit - Collaborative Level Editing Plugin who also happens to be in a very similar situation as you in regards to developing a plugin & writing a thesis around it.

Yeah add me on skype :slight_smile: Would love to chat!! You are doing some nice work!

Thank you, !

And sorry for asking before reading complete forum thread!

Nice work, Benjamin!

But can you tell me please, what will happen if one artist will change the light color to red but another artist will change same light to green color?

The light of one artist will be replaced by light of another one?

Hi RoadStar,
The work you’re seeing is not of my creation but of 's (I’m just the messenger)

My bad on failing to type my above message correctly… (pulled an all-nighter)

Here is the corrected message with the additional lines added underlined:

there are some instruction for plugins here:

hope you can compile the code and share the plugin :wink:

Having a hard time getting the plugin to compile here. Each time I try to build my project, it throws a warning stating it’s missing the UE4Editor-m2uPlugin.dll module and asks if I would like to rebuild now. Of course! But every time I try that I get an error saying my project cannot be compiled and that I should try rebuilding from the source manually. Any advice? I’m working with UE4 4.7.6

Thanks!

same problem as cwilmot
In maya side seems to works right. the sript initializes the IU
I dont know how to recompile the plugin in UE4 4.7.6 side .( pass 3) .

I copy all the folder m2u, and ue4 (both separe) inside:
C:\Program Files\Epic Games\4.7\Engine\Plugins\m2u

Then, inside it, I created a file named “m2u.uplugin” with code:


{
    "FileVersion" : 3,
 
    "FriendlyName" : "m2u",
    "Version" : 1,
    "VersionName": "1.0",
    "EngineVersion" : 1579795,
    "Description" : "3.) recompile the Engine and the plugin. 4.) start the Editor and enable m2uPlugin under the Editor tab in the Plugin manager. You will have to restart the Editor. For Maya: 1.) check out the develop branch from here: https://bitbucket.org/m2u/m2u/branch/develop 2.) put the path to the directory where the m2u directory is located to the python path and initalize m2u:.",
    "Category" : "Editor",
    "CreatedBy" : "m2un",
    "CreatedByURL" : "https://forums.unrealengine.com/showthread.php?22515-m2u-interactive-sync-script-for-Maya-gt-UE4/page1",
 
    "Modules" :
    
        {
            "Name" : "m2u",
            "Type" : "Developer"
        } 
    ]
}

I go to Editor > Plugins > m2u (activate and restart)

… finally the error UE4Editor-m2uPlugin.dll

4.8?

Did this ever get implemented into 4.8?

Heya, thanks for this script. On attempting to run ‘send selected to editor’ in maya I am getting the error:

m2u.maya.mayaCommand : settings file path is: D:\VIRT\m2u\ue4\ue4FBXSettings.fbxexportpreset

// Error: Bad file extension. (must be: fbxexportpreset) //

Complaining about the file extension, but also printing the correct file extension and path. Why would this be happening?

Thanks!