Plastic SCM Source Control Provider

Hi All,

I have been working hard for the past month to develop a new Source Control plugin for Plastic SCM (think modern Perforce with efficient and understandable GUI and very powerful branching management, with some Git inter-operability).

Edit (original text continues at the end of this post):
Nearly 2 years after I started this work, the plugin is now fully featured (currently in v1.2.0 for UE4.18.3, and code ready for upcoming 4.19 and 4.20, please see my signature or latest post for up-to-date information).

It is not intended to replace completely Plastic SCM GUI or command line interface “cm”. It is a complementary tool improving efficiency in your daily workflow.

It automates tracking of assets, brings common SCM tasks inside the Editor, and provides visual diffing of Blueprints. It also helps importing an existing UE4 Project into source contorl, with appropriate ignore.conf file.

Please, read carefully the detailed instruction on Readme (or bellow), and report any issue or limitation not already described here.

Source Control Login window, to create a new workspace/a new repository:

Source Control status tooltip, when hovering the Source Control icon in toolbar:

Source Control top Menu, extended whith specific Plastic SCM commands:

Submit Files to Source Control window, to check-in assets:

File History window, to see the changelog of an asset:

Visual Diffing of different revision of a Blueprint:

Status Icons:


References

Status Version 1.2.0 2018/02/05 for UE4.18.2:

  • manage connection to the server
  • show current branch name and CL in status text
  • display status icons to show controled/checked-out/added/deleted/private/changed/ignored files
  • display locked files, and by who
  • add, duplicate a file
  • move/rename a file or a folder
  • revert modifications of a file (works best with the “Content Hot-Reload” option since UE4.15)
  • checkin a set of files with a multiline UTF-8 comment
  • migrate (copy) an asset between two projects if both are using Plastic SCM
  • delete file (but no way to checkin them, see known issues bellow)
  • update workspace to latest head (Sync command)
  • show history of a file
  • visual diff of a blueprint against depot or between previous versions of a file
  • initialize a new workspace to manage your UE4 Game Project.
  • make the initial commit with a custom message
  • create an appropriate ignore.conf file as part of initialization
  • also permit late creation of the ignore.conf file
  • show conflicted files and 3-way visual diff
  • solve a merge conflict on a blueprint
  • top-menu global “Sync” instead of on folder’s context menu
  • top-menu global “undo unchanged” and “undo all checkout”
  • Partial Checkin (like Gluon, for artists)
  • Plastic Cloud is fully supported
  • Windows only

Feature Requests

  • Mac OS X Support

Edit: original text: So here I am with a third alpha release, now already stable and useful:

  • status icons for assets
  • check-out files
  • add, rename, delete asset files
  • check-in
  • history log of an asset
  • Visual Diff of Blueprints

Disclaimer: I’ve done this work for Codice Software, the company behind Plastic SCM.

Enjoy!

Hi SRombauts,

Congrats for your work as PSCM is a great Versionning Control software that UE4 would benefit. I guess you may be already aware of it but Codice software dev team (the editor company) had started to work on a such plugin for this engine and any user can contact him to play with…

Thanks,

hlx

Yes, I am the guy doing this for them :slight_smile:

Ah, super lol. I wasn’t aware…now, it is done…Thanks for the disclamer !
Je vais pouvoir bientôt le tester…:wink:

thanks,

hlx

Awesome work SRombauts! I’ve used PlasticSCM in the past a bit, I may actually use this instead of setting up a local Perforce server, since I find it easier to work with somewhat.

Sure @n00854180t, I would love some tests from someone experienced with the Perforce plugin!

So if you can try the Plastic SCM plugin and report any bad behavior by comparison with official UE4 Perforce plugin I would be happy!

I am using Perforce plugin for UE4 daily and set few Perforce servers already. Send me details (grzegorzpiasecki2@gmail.com) if you are still looking for testers

If you know Perforce and want to try Plastic SCM, you are welcome to register and download the appropriate installer for your system.

For now the Plastic plugin is really simple so you should probably start by learning the provided Plastic GUI to understand the basics of this SCM.

Then please report inconsistencies, bugs or ideas here or on GitHub issue tracker.

Cheers!

Hi,

Since my initial post, I’ve done 3 more releases, mostly for bugfixes: I tackled 13 bugs, so if you tried it last time, now it should work a lot better!

0.4.1 alpha release

There is also a few small features regarding the Connect/Init/Settings screen:

  • initialize a new workspace to manage your UE4 Game Project.
  • create an appropriate ignore.conf file as part as initialization (optional)
  • make the initial commit (optional)
  • also permit late creation of the ignore.conf file (ie on an existing workspace)

Please give me your feedback, the way you prefer: you can contact me privately, or use Github issues, or this forum thread)

Regards!

always wanted to try plasticSCM, great work!

Thanks, please let me know how it works when you give it a try!

Hi all,

Since my last post, I’ve done some more releases of the Plastic SCM plugin, and moved it out of “alpha” since it is now feature complete and quite polished:
0.8.0 beta release for UE 4.12

edit: and now 0.8.1 beta release for UE 4.13

Main features are:

  • merge conflict support
  • UE 4.12 support

Please give me your feedback the way you prefer: you can use Github issues, this forum thread, or contact me privately.

Regards!

This is really cool. I’ve been a Plastic user for years and not having support in UE4 has been frustrating at times. What versions of Plastic does this work with? My team is on a pretty old version.

Thanks!

Hi,

Awesome work on the integration
One thing that has always bugged me about Perforce and other integration’s in UE4, is they require you to use a .uproject file for the editor integration to work, would it be at all possible for the integration to be based off a .uplugin file instead? allowing the root for the work pace to be a plugin folder instead of the project folder, this is essentially because, I’m a modder not a developer, and as such we work inside the SDK for ARK/Squad and it is a real pain to juggle work in multiple mods within the one SDK, and having the root as the project inevitable means someone at some point always checks in the entire SDK because they were falling asleep when committing work.

Hi, thanks for the kind words.

This is an awesome idea! I simply never thought about this kind of use-case before.

Could you please add a feature request into the Github issue tracker, to better track this?

Also, I am not entirely sure on how to do that:

  1. it would probably not be possible to add the auto-detection. I mean, I could try to check for a workspace in each plugin of the project (in GamePluginsDir()) but this could lead to multiple workspaces found, and it would not be what everyone whants
  2. would you accept a simple EditBox in the Connect to Source Control screen where you could change manually the path to the root of the project, to switch to a subdir?

Cheers!

Hey Reinan, sorry, I don’t know how I missed your question until now. I don’t know what is the minimal Plastic SCM command line version.
I am using 5.4.16.738 from early 2016, but much features should work for previous versions since the command line tool is not evolving too much.

Regards!

Also, I am not entirely sure on how to do that:

  1. it would probably not be possible to add the auto-detection. I mean, I could try to check for a workspace in each plugin of the project (in GamePluginsDir()) but this could lead to multiple workspaces found, and it would not be what everyone whants
  2. would you accept a simple EditBox in the Connect to Source Control screen where you could change manually the path to the root of the project, to switch to a subdir?

Cheers!
[/QUOTE]

I was going to add it to GitHUB, but decided too ask if it was going to even be possible first, so i will do that.
I think having the option to enable/disable plugin mode, and select a plugin folder would be fair, i sort of expected that would be the case.

@SRombauts How soon until Plastic SCM is fully implemented in UE4? Would love to see this in engine officially!

I don’t think it’s going to happen soon… But it would be nice to have it publish to the Marketplace !

So how usable is this in a production environment? Trying to choose between PlasticSCM and Perforce for an upcoming project.