User Tag List

Page 1 of 3 123 LastLast
Results 1 to 40 of 118

Thread: MultiEdit - Collaborative Level Editing Plugin

  1. #1
    1

    MultiEdit - Collaborative Level Editing Plugin

    Hello,

    I am creating a plugin called MultiEdit for the unreal editor to enable collaborative level editing.

    If you have ever worked with google docs you are probably familiar with this concept.
    My goal is that multiple developers can create a level together at real-time on different machines.

    The video below demonstrates the first version.


    It demonstrates:
    • Creating a host and client on one machine. Multiple clients can connect to this host

    • Render location and rotation of other users, so you can see where you colleagues are

    • Creating lights, particles, meshes and sounds

    • Moving actors


    Note: Deleting actors is also working!

    I would like to hear if anyone has suggestions and or questions!

    Edit: Check out the trello page for this plugin!
    Last edited by YannickLange; 10-30-2014 at 05:09 AM. Reason: Video direct in post instead of url

  2. #2

  3. #3
    0
    Quote Originally Posted by Nesjett View Post
    I thought that UE4 already had this feature, but if not this is awesome!
    I know there is something called LiveEdit, but there is almost none information about it. I am just guessing that it is probably a bit similar.

    There is also this thread about this topic. My conclusion from this thread is that it doesn't exist and people want such a feature.
    https://forums.unrealengine.com/show...ment-in-Editor

    Quote Originally Posted by Jeff Wilson
    As far as I know, the LiveEditor plugin is a prototype that enables using MIDI (and possibly other input formats) to control the editor. It does not add multi-user collaborative editing functionality.
    And he is an Unreal Engine Developer.
    Last edited by YannickLange; 10-29-2014 at 10:15 AM.

  4. #4
    0
    Do you intend to sell this or make it avaiable for free? No matter what, we really would love to use this. Great Job! Do you have an ETA?

    What happens, when two people manipulate the object at the same time?

  5. #5
    0
    Quote Originally Posted by Hermi1988 View Post
    Do you intend to sell this or make it avaiable for free? No matter what, we really would love to use this. Great Job! Do you have an ETA?

    What happens, when two people manipulate the object at the same time?
    Thank you for your reply! Let me give you some background information. I am developing this plugin for a minor of my bachelor studies. The end of the minor is around end January so that would probably be the estimated time of the first release.

    I am not sure how to answer your question about if it will be free or not. I am currently a poor unemployed student so it would be awesome if I could earn some money with this.

    About your other question what will happen when 2 people manipulate the object at the same time. Currently the last transformation will be used. But I would like to hear feedback from you guys what should happen.
    Last edited by YannickLange; 10-29-2014 at 02:33 PM.

  6. #6
    0
    This looks pretty cool.. there is definitely a need for a plugin like this, I would say you can easily put this in the marketplace when it's finished.

    Quote Originally Posted by YannickLange View Post
    About your other question what will happen when 2 people manipulate the object at the same time. Currently the last transformation will be used. But I would like to hear feedback from you guys what should happen.
    I have a couple of suggestions.
    Ideally I think you could make an option of how often the updates are going to be send/received over the network. For example if two people are on the same local network you could configure it to be nearly real time (and so not only the last transformation is going to be send).
    I imagine you have already though about this.. but there should be a visual indication when an object is been selected/manipulated by the other people, perhaps a different highlight color would be nice.

    Do you have a "currently planned feature list" by any chance? I would gladly give you ideas if you need some

  7. #7
    0
    Great work bro! If you end up releasing it, I will certainly purchase it.

  8. #8
    0
    Thank you for your responses. It really motivates me!

    Quote Originally Posted by TK-Master
    Ideally I think you could make an option of how often the updates are going to be send/received over the network. For example if two people are on the same local network you could configure it to be nearly real time (and so not only the last transformation is going to be send).
    That is really good feedback! We (my product owner/teacher and I) were also thinking about how to update the scene. We were thinking about a sync button, so an user can sync an object when she/he wants to. But the concept initially is that the workflow of a designer is not changed. So she/he does not have to change the behavior it is used to when she/he is working in the Unreal Engine. A sync button like this would be conflicting with that concept. About your concept of updating depending on your location and others is an improvement for later. It will probably be more necessary when a big group of people are working in a big level. However such a thing is hard to test for me alone. But I will definitely keep it in mind!

    Quote Originally Posted by TK-Master
    I imagine you have already though about this.. but there should be a visual indication when an object is been selected/manipulated by the other people, perhaps a different highlight color would be nice.
    Yes I did. It would probably be something similar as the highlighting of the Unreal Editor (yellow color around objects), but then with other colors. It would be good if rendered users have the same colors as the highlight. Google docs is a good inspiration for these types of features!!

    Quote Originally Posted by TK-Master
    Do you have a "currently planned feature list" by any chance? I would gladly give you ideas if you need some
    Yes I am using Trello (https://trello.com/b/sKVugx0X/multiedit) it is currently public, so everyone can watch but not edit. I am doing sprints of 2 weeks. My product owner/teacher decides what should be done next sprint. I know trello has some support for voting and such so I will take a look at that! It would be cool if people can add features to the trello board!

  9. #9
    0
    This looks cool.

    I can understand that code sync (c++ changes) might be harder to handle, but I see no reason that blueprints could not be implemented and working quite well in this context.

    You are running a custom c++ driven module for the plugin to handle network information and create positioning objects?

  10. #10
    0
    Quote Originally Posted by TheSpaceMan View Post
    This looks cool.

    I can understand that code sync (c++ changes) might be harder to handle, but I see no reason that blueprints could not be implemented and working quite well in this context
    Thank you for your suggestion !

    I understand your opinion. I do not know much about blueprints, since I have not worked with blueprints yet. But I know you have to compile blueprints. So I am not sure how to handle this (I could figure this out ofcourse). However I don't think that creating blueprints via collaborative editing is a priority right now.

    Quote Originally Posted by TheSpaceMan View Post
    You are running a custom c++ driven module for the plugin to handle network information and create positioning objects?
    Yes I am. It is also good to know for you guys that I will never change the UE4 source. I think it would be really bad if a designer or something has to build my fork from github to use the plugin.

  11. #11
    0
    The other users in the scene are now cameras. So now you can see the perspective of the other users!

    Name:  MultiEdit_Viewports.jpg
Views: 11589
Size:  326.6 KB

  12. #12
    0
    This is seriously awesome.
    YouTube: Tutorials of things as I learn/figure them out
    Twitter: @InfectedFPS
    Twitch: InfectedFPS (Occasionally stream some work)
    Site/Blog: http://www.csmarkus.com

  13. #13
    0
    You sir, are totally awesome.

  14. #14
    0
    Nice. I personally feel collaborative-enablilty will be the standard of App design. Good eye on the future.

    Anyone assisting you with remote testing between machines? Like source control, on the fly asset ownership control:checkout/locking/transfer should available to prevent user conflict.

    Combined with UE4 Source Control Support, and built-in Chat/VoIP, UnrealEd will be the ultimate collaborative Game Dev Suite.
    Last edited by TechLord; 10-31-2014 at 04:10 AM.
    TheGameDevStore.com | TheGameDevStore.VR: MMO + Interactive Asset Store + RPG|FPS Game Layer w/ VR Support.

  15. #15
    0
    This is brilliant and definitely something I'd pay for. Good job!

  16. #16
    0
    Quote Originally Posted by TechLord View Post
    Nice. I personally feel collaborative-enablilty will be the standard of App design. Good eye on the future.
    I totally agree with you, I think features like this can improve development time a lot!

    Quote Originally Posted by TechLord View Post
    Anyone assisting you with remote testing between machines?
    I will be doing a test with some game designer from my school on different machines. They are pretty good in Unity, but never used Unreal. So I am wondering what the result of the test will be. I am also building my own desktop (I only have a laptop at the moment) with the last money I have , so I will be able to test on 2 machines in the future. But it would be awesome if the community could test it of course! I am a programmer, so I don't know the workflow of a designer in Unreal. I actually never created a "big" level in UE4 (I did in UDK). That is why I created this thread, I would love to hear from designers how it should be.

    Quote Originally Posted by TechLord View Post
    Like source control, on the fly asset ownership control:checkout/locking/transfer should available to prevent user conflict.
    Currently I am assuming that all the users in the session have the same assets. But it will probably happen that for example one of them created a new mesh and wants to use it. But the others don't have this mesh. I am not really sure how I will handle such a situation. Do you guys all use git for your game/leve? As first version it could be possible that the assets will be shared using git and the plugin will only detect if all users have the asset that is added to the world. Then it could give a message to sender "Is asset x/x/x.uasset pushed?" and the receiver "You don't have asset x/x/x.uasset did you pull?". What is your opinion on this?

    Quote Originally Posted by TechLord View Post
    Combined with UE4 Source Control Support, and built-in Chat/VoIP, UnrealEd will be the ultimate collaborative Game Dev Suite.
    Is there already a built in Chat system in Unreal ? Or would you like to see this in the plugin? I think teams would prefer using third party speaking systems like skype for communication.

  17. #17
    0
    About missing assets, I would say a good idea would be to spawn a temporary placeholder mesh or sprite that will be locked (until the user checkout/import the real asset) then update the temporary asset with the real one.. or something along those lines

    Quote Originally Posted by YannickLange View Post
    I think teams would prefer using third party speaking systems like skype for communication.
    I agree.. no need to over-complicate things lol

  18. #18
    0
    I absolutely *must* get my hands on this tool! This is exactly what I've been asking Epic about since the engine came out, and they said the framework was there but it was actually a feature officially.

  19. #19
    0
    Quote Originally Posted by TK-Master View Post
    About missing assets, I would say a good idea would be to spawn a temporary placeholder mesh or sprite that will be locked (until the user checkout/import the real asset) then update the temporary asset with the real one.. or something along those lines
    That is a really good suggestion! I will put it on the trello board immediately!

  20. #20
    0
    Sweet work! Reminds me of Hero Engine (used for Star Wars: The Old Republic among some other titles) where multi-user editing was a pillar feature. This could be very cool for collaborative editing during review / design discussions (w/ off-site work while Skyping for example, narrow use-case but potentially super valuable)
    Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-source template)

  21. #21
    0
    Quote Originally Posted by Tom Looman View Post
    Sweet work! Reminds me of Hero Engine (used for Star Wars: The Old Republic among some other titles) where multi-user editing was a pillar feature. This could be very cool for collaborative editing during review / design discussions (w/ off-site work while Skyping for example, narrow use-case but potentially super valuable)
    Thanks for your reply! Yes already did some research if other engines have this feature and also found the hero engine. The use-case that you describe sounds really good. It is hard for me to imagine such use-cases, since I have never worked at a game studio. I would love to know the workflow that designers have in a game studio (with or without UE4), so I could understand how this could be implemented in the workflow and have a better understanding what is required to make this usable.

    If others have use-cases: I would love to know all about it!

  22. #22
    0
    Very good Plugin!
    This will be very usefull!
    Great job man!!!

  23. #23
    0
    Nice work Yannick, this is an awesome feature and would be great for team level design and also debugging.

  24. #24
    0
    Wow, that is really awesome and no doubt useful. I would definitely like to try it in the future even it's not necessary for our current project. Keep it up!

  25. #25
    0
    I don't have much time to work on the project this week. But I'm working on support for adding blueprints to the level.

    PS: I only showed you guys the plugin with one client and one host, so here is a "prove" of 2 clients connected to 1 host.
    Name:  MultiEdit_2Clients&Host.jpg
Views: 11668
Size:  335.2 KB

  26. #26
    0
    I really need to add that i was very hyped about working in ue4 and had already studied most of the features used in ue4 before finding a team to work with(never went to college for this). I was very sad to find that working on a team is tedious and boring simply because a feature like this doesn't even exist. I flat out stopped game dev entirely. Honestly i expected this feature to be common place since it's already used (somewhat) in both garry's mod and the forge editor in a lot of halo games. that forge editor was the very thing that got me excited in learning game dev. I'm begging you get this built. you'll earn "at least" 50$ from me and a ton of respect.

    also as a tip try the forge editor in halo "3"(not that other ****. lol). It was clunky but the glorious thing about it was it's ability to merge friends, physics, ideas, and real time simulation all in one.
    i can't be the only one that's begging for this feature to be brought into UE4. Besides game dev should be fun and full of laffs. I'd guess that a small team of 10 people with this feature would out preform a team of 100 doing things the old fashioned way.

  27. #27
    0
    This is really pretty amazing. Getting this into UE4 at a lot of studios could really revolutionize how levels are made!

  28. #28
    0
    Thanks for your reply! I will do my best to give you this feature I will also take a look at the halo editor. Also wanted to note that I am not doing this to earn money (would be a nice addition) I rather just use this to get an internship or even a job. Time will tell

  29. #29
    0
    Well I believe this is gonna make your résumé look pretty good for a first job search. Very good idea you can probably count me in too once you decide to release it. I'll be following this thread. Very good job already !
    My contributions:
    Shooter Game - Toggle Third Person

    My WIPs & Showcases:
    Greg's Destruction Playground


    GregBlast

  30. #30
    0
    Will be closely following this. This could ease a massive amount of the headaches associated with large world creation.
    DO contact me with questions about Blueprint or other Unreal features! I don't bite! Or charge money! Just press that blue Skype button and fire away.

    Project Culverin - Open Ended First Person Shooter

  31. #31
    0
    Quote Originally Posted by YannickLange View Post
    I am not sure how to answer your question about if it will be free or not. I am currently a poor unemployed student so it would be awesome if I could earn some money with this.
    I would say absolutely 100% put a price on this, even if it's low. This is an absolute win, you will make a profit on this and you deserve it. I am more than willing to pay for this.

  32. #32
    0
    10/10 would pay for this!

    I would love to have a truly collaborative environment for UE4.

    I do have a few questions though. while in this simultaneously, will there be a way to sync assets that are imported to then engine as needed?

    Will the other users be notified when the transfer has completed?

    and for Coded Projects how will it handle if one of the programmers decides to update some code in the engine?

  33. #33
    0
    Quote Originally Posted by FV Panda View Post
    10/10 would pay for this!

    I would love to have a truly collaborative environment for UE4.

    I do have a few questions though. while in this simultaneously, will there be a way to sync assets that are imported to then engine as needed?

    Will the other users be notified when the transfer has completed?

    and for Coded Projects how will it handle if one of the programmers decides to update some code in the engine?
    I'm not developing this but I would say that asset and code syncing seems kinda out of the scope of this plugin.
    There is source control for this.

  34. #34
    0
    Sorry for not updating for a while. I am currently trying to find out how unreal handles general Serializing objects. This is my first UE4 project, so I am not that familiar with it yet. Maybe you guys can help me out?

    Quote Originally Posted by FV Panda View Post
    10/10 would pay for this!

    I would love to have a truly collaborative environment for UE4.

    I do have a few questions though. while in this simultaneously, will there be a way to sync assets that are imported to then engine as needed?
    Will the other users be notified when the transfer has completed?
    I recently used the editor and noticed that assets are imported directly. I was wondering if linking the content folder with something like dropbox/google docs (and the others of the team would do this as well) would fix this problem ? But initially this plugin is about creating levels together (with already created assets) and then I will look into other stuff, but suggestions are welcome!

    Quote Originally Posted by FV Panda View Post
    and for Coded Projects how will it handle if one of the programmers decides to update some code in the engine?
    That is definitely out of the scope of the project.

  35. #35
    0

    Update

    Some new features:
    • Added blueprint support. Really important for making games!

    • See what others are selecting by a simple red material. I will update this later for better visuals.

    • Moving actors update real-time (every 0.2 seconds, I will probably make the tick faster!)

    • Child attach to Parent support


    Will update today about what I will be working on next. It will probably be something like synchronizing all existing actors in the map on start (for client and host) and logging the messages for when you disconnect. Requests are welcome!

  36. #36
    0
    Not sure if this is already possible or in the plans, but I'd love to see some collaborative landscape editing.

    Would speed map making up so much if you could essentially modify the landscape together (deforming and layer painting).

  37. #37
    0
    Quote Originally Posted by Skulburn View Post
    Not sure if this is already possible or in the plans, but I'd love to see some collaborative landscape editing.

    Would speed map making up so much if you could essentially modify the landscape together (deforming and layer painting).
    It is currently not possible, but I definitely want to do this eventually!

  38. #38
    0
    Awesome Yannick! Glad to see more progress.

  39. #39
    0
    Update

    • Add actors before you create the session as host. These actors will be synchronized.
    • Joining late as client. The client will receive all the hosts when connecting, so it is up to date.


    Next I will be:
    • Checking out how terrain works in Unreal Engine 4.
    • Placeholders for assets that don't exist at the receiving user. And replace them when the assets exists.
    • Closing the session.


    I will post a video soon!

    Questions or suggestions are always welcome!!

  40. #40
    0
    Amazing idea! Also great to see fellow devs from the Netherlands.

    Are you planning on moving over to 4.6 and have you ran into any trouble porting?

Page 1 of 3 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •