#source-control

1 messages ยท Page 65 of 1

quaint obsidian
#

You have to remove them from source control

devout walrus
#

Yeah if they are already currently present in your git then your .gitignore wont remove them and will just keep getting updated.

#

@ebon mauve

ebon mauve
#

it fixed thank you

brave ermine
#

What do ppl here use for version control, we have been testing out Assembla and Perforce but it does not seem very good. We are using assembla so we dont have to worry about managing it but it does not let us use Helix Swarm for merge requests and instead have to use Assemblas own Merge tool which seems to be problematic, cant solve conflicts in any acceptable manner

gleaming hill
merry verge
#

Define "can't solve conflicts in any acceptable manner". If you're talking about assets (uassets/umaps) then you won't find a tool out there that solves conflicts for those, regardless of host or source control system.
The solution is generally file locking to prevent multiple people from checking out the same file in the first place.

#

*technically there's a blueprint merge tool, but it requires you to resolve merges locally and it's a manual 3-way merge which is not the greatest experience. It also only works with normal blueprints, not UMG/animbps/level blueprints/etc.

#

If you're talking about code... I've never used assembla's service so I can't really speak to that.

hollow pumice
#

What could cause me to not be able to connect to a Perforce server? The server has been up and running fine for 3 years. I did do a windows update on my computer recently

jaunty hornet
#

Does anyone have a good method in maintaining and distributing internal plugins?

jaunty hornet
#

We have several projects that require the same functionality so I created a plug-in to handle that. Now if I adjusted something in the plug-in, my teammates currently have to delete the old version and copy-paste the new one in.

#

For each project. Is there a good way of making sure everyone has the latest version? Or is this going to be something I as maintainer will have to keep an eye out. Like if I update the plug-in, I need to make sure it's updated in all project's source control

cyan jay
drowsy basin
#

for shared components in general, it's usually safer to let each user of the component pull in new versions as and when they're ready, rather than any mechanism that pushes it on them

#

this might mean that some people end up sticking with an older version for some length of time, so as the maintainer it's your job to either chase them to update and find ways to help them do so smoothly, or to try to build things so that you can tolerate a little version drift here and there

#

pragmatically speaking, you tend to end up with a little of both tbh

jaunty hornet
#

Thanks for the tips, so basically I need to assume responsibility and do my due diligence

drowsy basin
#

it's not uncommon to have rules like "no merging to the main branch with out-of-date versions of X"

#

which might even be automatically checked and enforced by your source control or CI build or whatever

jaunty hornet
#

And make sure no one mucks around in it

drowsy basin
#

which means that sub-teams can work on something while sticking with one version so that the goalposts don't move on them, and then when it's done, they can commit their work to a branch and then work on updating all the things

#

if you're the maintainer of the shared component then it's probably worth spending a little time making yourself aware of all the ways you might be able to change the innards of your component without breaking anything externally-visible so that your updates can be as low-impact as possible

#

there will be breaking changes here and there, but a little forward thinking can help to avoid at least some of them

jaunty hornet
#

Thanks!

drowsy basin
#

no problem

#

handling shared components like this is actually something I've done a lot of, just not in a games-dev context

#

I'm a software engineer but I work on business and industrial software, not games

#

and I've been responsible for shared code libraries a number of times

jaunty hornet
#

And how many grey hairs did that give you? ๐Ÿ˜›

drowsy basin
#

after I figured out some practices to streamline it, way less ๐Ÿ˜‰

#
  • proper architecture with a focus on encapsulation to maximise how much you can change in the shared code without consuming code having to know, which means fewer breaking changes
  • when you have to make a breaking change, try to add the new thing separately and deprecate the old thing, so that users get friendly warnings (which you can detect in builds) and update as and when they're able, and then you can remove the old thing a couple of updates later
  • allow users to pull new versions in when they want, rather than pushing them out
  • use a versioning system that makes it clear to users whether the update they're about to pull in is a small low-impact on, or a big breaking change (eg. SemVer)
  • have a mechanism to clean up anything that's stuck on super-old versions, whether that's a rule that says "nothing older than X in main branch" or a policy that says "every two months we will go through and update the things"
  • automate as much of the process as possible (automated builds, automated checks, nice simple tool for users to get updated versions, etc)
lucid stream
jolly fog
#

Hello

#

Does anybody here use git kraken?

#

I wanna move my project folder to an other location but im scared ill fuck up something so I need assistance

shrewd shore
#

For Plastic SCM, our main branch's tracking all the binaries so that our non-devs can work on the project. Is there anyway I can ignore all those generated binaries locally on my branch?

jolly fog
#

ah man

#

I got so many horror stories with plastic scm

#

Im not the right person to help you because I used to always struggle with it

devout walrus
simple lodge
languid escarp
#

I've deleted a source engine directory that had several git stashes in it - is there any way to recover them?

jolly fog
#

I cant find the project I created on github

#

I created it at the school but on my home computer I cant see it

thorn jay
#

how come this file is not downloading whenever I hit Get Latest?

#

and why does it say "marked for integrate" what does that mean?

#

actually, it doesnt download even if I go back and try downloading the entire project folder from the initial commit either(it was around at the beginning too) I dont get it

#

see?

regal grotto
#

Limiting tools that you can use to only those who are aware of P4 is not a better workflow.

merry verge
#

Are you just trying to start arguments about things from days ago? I'm trying to help someone using p4, we all know you have a hate boner for it but this is uncalled for.

#

I didn't even say anything to compare it to git - I was letting them know what the intended workflow was for p4.

regal grotto
#

Hey, i said nothing about git!

merry verge
#

I'd kindly ask that you stop trolling days-old replies just to stir things up. Have a nice night.

#

And you're right - I'm assuming you were referring to git when talking about "limiting tools to those aware of P4" and I guess I was wrong. But the ideal workflow is that with p4, at least in the unreal world. Most common tools for p4 unreal have official integrations on one side or another.

thorn jay
#

browtf me sittin here..

regal grotto
#

Looks like this was never shared in this channel. We've developed a thing: https://github.com/git-as-svn/git-as-svn
It sits on top of Git repo and allows users to talk to it as if it was a Subversion repo. Primary audience: content makers who don't want to switch branches, but just need a simplest "update, hack, commit, repeat" development cycle, while more tech-savvy users continue to have all the benefits of Git. This is close to SubGit, but in git-as-svn case, there's a single source of truth (Git), so it can't out of sync.
We happily use git-as-svn since its inception, currently at a game studio of 400 people and there are indications that it is also used in the wild.

GitHub

Subversion frontend server for Git repositories. Contribute to git-as-svn/git-as-svn development by creating an account on GitHub.

thorn jay
#

perforce is the preferred source control for unreal as far as I know btw, my two cents

#

assuming thats what yall are talking about

merry verge
#

It's epic's preferred VCS, yes. It isn't the only option though.

regal grotto
thorn jay
#

yea

merry verge
#

As for your problem, "marked for integrate" means you have the file checked out in a changelist already, likely being moved to a new location. Look at the pending changelist tab

#

The reason "get latest" isn't doing anything is because you already have the latest revision

#

If you want to undo your unsubmitted work, right click the file (in the depot/workspace browser or in the pending changelist) and hit revert.

thorn jay
merry verge
#

Ah, an undo operation.

thorn jay
#

yeah, I tried getting rid of revision because it was giving me errors via "undo"ing

merry verge
#

Unless you explicitly tell it to, "undo" doesn't actually submit the undone files for you

thorn jay
#

but that revision does show up in the history tab

merry verge
#

Yes, you're not supposed to delete revisions entirely

#

You just undo them and submit that as a new revision

thorn jay
#

oh

merry verge
#

It's technically possible to obliterate things but that's generally not the right thing to do - what if you want to go back to that revision later?

#

So instead you undo, say, revision 15 and submit that as revision 16.

#

Most source control systems work like this in some respect - you generally want to keep the history of files even if that includes undone work.

thorn jay
#

I see

#

Did the thing never undo?

merry verge
#

You didn't submit the changelist containing the undo

thorn jay
#

oh!

merry verge
#

Just make sure it did what you want first

#

The files have been undone locally, just not submitted to the server yet.

thorn jay
#

I already submitted a bunch of changelists after I thought it undid

#

now its just not downloading that file from the server

#

idk if its too late to try and submit that now

merry verge
#

It isnt

thorn jay
#

or if it would break everything

merry verge
#

Just make sure your project is in a good state locally

thorn jay
#

its not rn lol

#

since its missing that file

#

its the main character, so there's a bunch of dependency stuff happening

merry verge
#

You can revert the pending changelist and try to setup the undo again if you still need to.
Or, to be even safer, right click the changelist and hit shelve

thorn jay
#

ah

merry verge
#

Shelving saves the state of the files to the server without submitting them. It lets you "set aside" work

#

You can unshelve them if you find you need them after all, or delete the shelf if you don't.

thorn jay
#

I guess Ill try shelving the undo and seeing what happens

#

ooh

merry verge
#

Yep. Make sure you revert when doing so (it's an option when shelving, or revert after the fact by right clicking the changelist)

#

Worst case scenario you can unshelve the files to get back to their current state

thorn jay
merry verge
#

Heh yeah

thorn jay
#

actually, before I try anything

merry verge
#

If reverting breaks things further somehow. I'm only suggesting the use of a shelf because I don't know everything you've done so better safe than sorry

thorn jay
#

Im noticing that all the files in this undo are files that are missing from my workspace

#

so if I shelve this, these files will all return to my project?

merry verge
#

Odd that they're missing... But if the undo caused that then yes

thorn jay
#

ah, ok

merry verge
#

If this doesn't bring them back, make sure everything is reverted and then you can force sync the latest revision which will download a new copy regardless of whether p4 thinks you have it already

thorn jay
#

just to make sure

#

reverting is the same as getting from a past revision right?

merry verge
#

Reverting is right clicking on a file or changelist and hitting revert. It syncs back to the revision you started from and removes it from your pending changelist.

thorn jay
#

uh oh

thorn jay
#

or did I need to uncheck revert?

merry verge
#

So the files are already gone, you might as well revert. They were deleted at some point so it can't shelve what isn't there.

#

Just right click the changelist and hit revert.

#

If the files still don't show up after reverting, right click a file or folder in the depot, hit "get revision..." instead of "get latest revision..." And then check the box that says "force sync"

thorn jay
#

ah, ill try that

thorn jay
#

eey it worked!

#

@merry verge ty!

jolly fog
#

hey guys

#

In git kraken lets say I commit my changes do I have to pull before doing push ?

#

or pull before commiting changes

regal grotto
#

got kraken subscription includes email support. Why don't you just use it?

limpid obsidian
#

anybody ever deal with Chinese filenames being submitted to a non-unicode server on Perforce?
apparently the bytes stored in the filename are unchanged. Perforce just won't translate them from server to client

#

for the people who submitted the files it's not a problem, as they use a Chinese version of Windows. for us, it is a problem as the filenames look like gibberish

#

and they don't want to enable unicode, so i will need a local solution ๐Ÿค”

#

I tired enabling the Chinese language pack on Windows but no luck

#

also tried all the p4 charset vars but for any subsequent p4 operation I keep getting "Unicode clients require a unicode enabled server"

regal grotto
limpid obsidian
#

was also looking into tools like convmv which can translate filename encodings...no luck yet though

slate cosmos
#

So my file / project is fine but when I go to do diff (using Git btw) I get the warning in log "contains unrecognizable data, check that it is of the expected type." and nothing happens. For some reason some files have an issue being diffed while others do not (in regards to BP uassets which are being tracked by Git LFS).

woven latch
#

Hello, I'm trying to setup a NAS at home to store git repos of Unreal projects... I have a Raspberry pi but I cannot enable Git LFS on it... anyone knows how to do it? is it even possible?
Or any recommendations for buying a "proper" NAS for this usage?

jolly fog
#

Im getting this error when im trying to upload my changes to the project...

ivory zephyr
#

Is there anyone using perforce for version control. I am running into a few hickups with p4 locking out write access when trying to build my project and was wondering if anyone uses it wouldn't mind giving me a few pointers.

vale basin
#
TypeMap:
    text+w //....cpp
    text+w //....cs
    text+w //....h
    text+w //....txt
    text+w //....log
    text+w //....modules
    text+w //....target
    binary+w //....dll
    binary+w //....pdb
    binary+wx //....exe
    binary+w //....exp
    binary+S1 //โ€ฆ/*_BuiltData.uasset
#

that's my typemap. +w on any files that are easily diffable, or binary files produced entirely by a process with no human intervention. Resolves most hiccups for me

#

+w means that the file will be writable on disk always. But to submit it you'll still need to check out the files

ivory zephyr
#

Thanks much

#

@vale basin do you have a firm P4 knowledge im haveing a hard time getting it set up.

#

I want to set up 2 seperate depos but i keep getting out side client view

vale basin
#

Not really sure mate, sorry. I know bits and pieces

ivory zephyr
#

sdthanks

radiant musk
#

Hey guys. Which one is better for source control, github or perforce ? Right now im trying to setup perforce, but im having a hard time. Can someone help me, I will really appreciate that. Thanks

#

Im willing even to pay, if needed. We are a small team and we just need to setup perforce or github for source control, but we don't know how to do it correctly.

cyan jay
#

Once you have a perforce host setup there's a couple of things you need to do, namely setup an Unreal typemap - ping a question back in this channel once you get to that stage if you need help.

silent wind
#

Do you need LAN or VPN to use Multi-User Editor in UE5? I mean can you do it using a server on your own computer?
Or is there any other way to edit the same project from two different locations on earth?

radiant musk
cyan jay
#

if you message in here then you have way more people looking at it, I'm not always available ๐Ÿ™‚

radiant musk
#

well if someone else can help, it will be nice

ivory zephyr
#

I cannot seem to get rid of the files not in client view. I have a didigtal ocean server set up but cannt not add any files as I get this ever any time I try and add files to the depot.

radiant musk
#

I think I managed to make perforce work

#

but I do this all for the first time and I still have some questions

lucid stream
#

Ask away

radiant musk
#

it looks like im hosting locally even after im connected to the digital ocean IP

#

maybe im doing something wrong

lucid stream
#

At the top of the window bar in P4V, it should show the digital ocean address and your username

radiant musk
#

yes that is it

radiant musk
lucid stream
#

yeah, so in console you'll need to update your P4PORT setting. do p4 set P4PORT=ssl:digital_ocean_address:1666

radiant musk
#

now it says

#

I don't have permission for this

lucid stream
#

might need to set your username correctly as well

#

p4 set P4USER=username (whatever it is on digital ocean)

#

p4 set will show all your environment configurables.

#

the other option is from P4V, to right click any folder and choose "open command window here" - and it'll start a cmd prompt window with all the right variables set

radiant musk
#

it's still not working

lucid stream
#

okay, try the P4V -> open command window here method.

#

and be sure you're logged in with the superuser account if you're trying to do p4 diskspace

radiant musk
#

I open it

lucid stream
#

to verify, you can try opening P4Admin with the same address/credentials and see if it renders there correctly

radiant musk
#

uhh im not sure with which account im logged in

lucid stream
#

in P4V?

#

it should show up there in the top bar.

radiant musk
#

why is it not showing the users here

lucid stream
#

are you connected?

radiant musk
#

yes

lucid stream
#

did you create users already on the digital ocean P4?

radiant musk
#

I had 2 users before in that window

#

don't know why they are not showing now

lucid stream
#

are you connected to the right server?

radiant musk
#

ok they showed up now

lucid stream
#

cool.

radiant musk
#

so am I using the digital ocean server now

#

I should be, but im not sure

lucid stream
#

maybe shutdown your other P4 server so that you can be sure.

#

you should get a connection error anywhere else - be it through command line, P4V, UEditor, etc

radiant musk
#

im not really shure how to shut down the other servers? First time im doing this

lucid stream
#

where's the other server?

radiant musk
#

I think I have just this server on digital ocean, but the files were stored locally

lucid stream
#

oh, i thought you had a server running locally or something.

radiant musk
#

sorry, im not even exactly sure what im really talking about lol

#

so I can't explain things properly

lucid stream
#

That's okay. the more you can sort of explain how you started, what you've tried, what you're trying to accomplish - the more it's possible to guide you.

radiant musk
#

I followed this video

#

how can I check that is working properly?

#

Because right now im submitting some thing and so, but I don't know if I do it the right way

lucid stream
#

his method does the vanilla installation via Perforce's package manager, which is okay - i guess, for testing. but the documented version above has a better setup process overall and uses a managed system image

radiant musk
#

but I already have it set up

lucid stream
#

at least for the first half of the video - you can probably use his instructions for connecting Unreal editor to Perforce and pushing your content up.

#

up to you.

radiant musk
#

btw how do I remove content from the depot?

lucid stream
#

if it's submitted, you can delete it - and it'll just update the latest revision to delete. if you want to nuke it completely as if it was never submitted, then you're looking for p4 obliterate //path/to/file or p4 obliterate -y //... which deletes everything.

radiant musk
#

I submitted some things just as a test and now I want to remove them

#

do they don't take up space

lucid stream
#

sure, go ahead and obliterate it then.

radiant musk
#

Im getting this like every 3 minutes

lucid stream
#

you may need to do the obliteration as the perforceadmin user, unless you elevated the permissions of your own user account.

#

(guessing that's your name)

radiant musk
#

ok, but I don't understand one thing. The depot is basicaly the server on digial ocean right?

lucid stream
#

also, in that window in p4admin - totally guessing (without being able to see the permission table), but you may have needed to add your own user account into the Dev group.

#

yup

radiant musk
#

then Why when I click show in explorer, it opens my local folders ?

lucid stream
#

in P4V, after you make a workspace - you need to take your own content, select some or all of it, mark for add, and then submit it. once submitted, you'll basically be between the depot view and workspace view

#

the depot view represents what's on the server, and the workspace view is what's on your disk

#

explorer is the program in windows for browsing your hard drive, folders, etc.

radiant musk
#

ok I see

lucid stream
#

now another person can connect to your server (after you make them an account, and add them to the Dev group), make a workspace, and sync down whatever you've submitted.

#

and then also make changes

radiant musk
#

Ill go to bed now ,cos im too tired and tomorrow ill redo everything properly and see if everything works

lucid stream
#

chances are you probably just need to set the source control options in Unreal Editor to point to your DO P4 server. UE is pretty good about handling most things once you've got the server setup and it configured to point to it.

radiant musk
#

ok

#

thank you for your help and time

#

Im going to bed now, cya

radiant musk
#

when in the depot i have nothing?

jolly fog
#

Does anyone have any recommendations for version control that will actually cope with GitHub? Git LFS is quite painful.

clear dome
#

I assume I should exclude enc_temp_folder from my repository?

#

I used UE source control button to create the git (and thus gitignore) so I'm a bit confused why it isnt in there already

quaint obsidian
#

yeah that default gitignore in there is outdated

#

its for edit and continue in visual studio

lucid stream
lucid stream
#

general recommended best practice for operating P4 is to use a separate disk for the database, logs/journals, depot files - and then enable configurables that halt the server before any of those volumes fill up so you minimize the chance of database corruption with a server filling up (of course, basic monitoring as well to respond before this fail safe happens)

radiant musk
#

Hi again

#

so we made it work

#

me and my team mate are trying to share content

#

but we get it in different folders?

#

how can we make the changes go to the same project/folder

lucid stream
#

hmm.. windows isn't a case sensitive OS - do you see those two folders in Explorer?

#

your perforce server might be set to case sensitive (or rather, it's not been set to case-insensitive)

radiant musk
#

I see only one

#

in the explorer

outer cipher
#

anyone knows how i can change my defaults on perforce inside ue4? for instance i was using an online host, but now im using a local server, and i need to input all my settings everytime for my local one since it kept the old ones stored

lucid stream
#

what does p4 -ztag -F "%caseHandling%" info show?

radiant musk
#

sensitive

#

Also what happens when we have same project name , but different folders and content inside?

radiant musk
#

anyone have idea?

lucid stream
#

on a case sensitive server (as it is now), Perforce_Project != perforce_project. so, if both of those exist on the server, and you sync to windows - only one of those will exist.

radiant musk
#

so if they both have the exactly same name, they will merge?

lucid stream
#

Ideally, per UE4's documentation, you should run case-insensitive. But if you don't want to change that, then you'd probably need to make sure your teammate deletes their local project, deletes their p4 workspace and create it, and then only sync the correct project folder

#

not on the server side

#

your workspace will only write whatever's locally later in the list of files. it's kind of contrite to explain

radiant musk
#

yeah, first time im doing this and Im not sure how to set it up properly

#

what we have right now is 2 projects with different content and changes

#

and we want to merge those into 1 and then whenever one of us does changes, the other gets them

lucid stream
#

yeah, so one person should do that work

#

of merging

#

as in have both copies separately, in two different workspaces

#

locally on your machine

#

and do the laborious task of merging what's necessary into one folder

#

and then submitting that into a perforce server

#

and then the other person should erase (or backup) what they have, and sync from perforce what you've merged locally.

radiant musk
#

ok I think I get your idea

#

one of us has to merge all into 1 project, submit it to the server and then the other one gets it ?

#

and we both work on the same

lucid stream
#

yup

#

yeah

#

if you know git, you've basically both been deviating your work in separate branches/forks/etc - the longer you work separately and not merge work back, the harder it is going to be to merge your work together into a single project.

radiant musk
#

i haven't used git, but I have used perforce in the past

#

but only used it to already set up project

#

and now I have to do the setting up by my self

hard spindle
#

Since I started using Perforce it has always asked if I want to check out the current BP I'm working on when I save, but recently it stopped doing it so I need to manually check them out, does someone know how to fix this? I'm not sure if I have accidentally disabled it somehow

daring lagoon
#

is there a p4 ignore file someone has that excludes like all the binary / intermediate directories that p4 shouldn't have. If I accidentally check in a file it freaks out because of the read only it puts on it

merry verge
daring lagoon
#

are engine/binaries okay to add to p4?

merry verge
#

if you want to distribute binaries that way

daring lagoon
#

k, but that shouldn't cause the thing to not build because of the read only stuff right?

#

at the point where im adding folders to p4 and its been 2 weeks of trial and error haha

merry verge
#

you can mark those files as always writeable with the p4 typemap

daring lagoon
#

oh?

merry verge
#

attempting to build those files otherwise absolutely will fail if they're checked in

daring lagoon
#

yeah thats the problem i had

merry verge
daring lagoon
#

yeah.. i blew the whole thing away hours ago

#

starting from scratch again

#

thx man

#

saved the typemap.. now to try to add things

cyan jay
storm sleet
#

hey all, is it normal that this message takes a very long time to complete? (We are using plastic btw)

reef oriole
storm sleet
#

ah, it's you! I didn't know you are here...

#

(I know you from the first plugin versions we had to install manually)

#

I didn't do a proper report yet, but if it's really an issue I can try to write some report if you want

#

It is noticeable when checking out multiple assets, which is often the case with the new One File Per Actor feature

#

btw it's also funny to see when it updates the status: when saving, when looking for changed assets for checkin, and after checkin

#

one of our artists sometimes had to wait for half an hour until the engine crashed. I told her to disable the plugin when this happens. It's not an optimal solution, but a workaround, at least

#

ah and when saving it's updating two times: one to see the state, then the check out while saving.

reef oriole
#

OK, a few info I will need to broadcast;

  1. Unreal Engine 5 is not well supported yet (but this is coming)
  2. the plugin integrated in Unreal is quite outdated, it's not easy to get fixes and improvements merge: keep an eye for updates on https://github.com/PlasticSCM/UE4PlasticPlugin/releases
  3. There is a series of more or less known issues there https://github.com/SRombauts/UE4PlasticPlugin/issues
GitHub

Official Plastic SCM Plugin for Unreal Engine 4. Contribute to PlasticSCM/UE4PlasticPlugin development by creating an account on GitHub.

GitHub

Official Plastic SCM Plugin for Unreal Engine 4. Contribute to SRombauts/UE4PlasticPlugin development by creating an account on GitHub.

#

the Unreal Editor is a "bitch", trying to update status of all files before and after every sort of operations....

#

sometime even more than once before (like for a rename)
but I'll tame it someday, to have the plugin skip on some of these redundant calls!

storm sleet
#

thank you so much so far. Not only providing the plugin, but also helping with issues

#

I'll try with an updated plugin version. Sad that the Unreal version is so outdated

reef oriole
#

providing the plugin
I was paid by the awesome folks at Codicesoftware, even tho I did some of the support for free ๐Ÿ™‚

#

Sad that the Unreal version is so outdated
yes, that's partly on me; I wasn't able to do freelancing any more in the past couple of years, I was lead in a small gamedev studio + a baby at home

storm sleet
reef oriole
#

Thank you. At this time, it didn't paid the bill but I did it for the awesome fun

storm sleet
#

I like their support. They sometimes ask if we are happy and if they could help us. I remember we scheduled a call some time at night until they realised that we are in a similar time zone ๐Ÿ˜„

reef oriole
#

PlasticSCM is very good at some specific, it's incredibly performant compared to Perforce in some area
but not closely integrated in tooling, not as well supported
and some "user pain" here and there that I am pushing to fix

#

There support is definitely very good, very responsive at least (but sometime they can't help if the feature is missing)

#

in any case, right now I am supposed to do some support with customers, so here I am ๐Ÿ™‚

storm sleet
#

I'd really love to have some unversioned file support, eg for binaries. It would be great to have some UGS similar tool for Unreal

storm sleet
reef oriole
#

UGS similar tool for Unreal
this: I was hired with the idea that we should try to provide exactly that (no promise yet)

storm sleet
#

that's even more funny ha ha ๐Ÿ˜„

#

btw I can imagine the new Virtual Assets feature will need source control support. I don't know any details about it other than there is some UI stuff in Preview 2...

reef oriole
#

I have no idea (yet ๐Ÿ˜‰ )

#

I don't want to take all your time, but perhaps could you send me some logs of a quick & clean Unreal session showing a single slow operation? On pm if you prefer, or use official support site

storm sleet
#

yeah, I'm in the middle of preparing that

#

I have a log of the "older" plugin from the standard Unreal launcher installation, and I do the same now with the current git state

reef oriole
#

oh, great.

#

I am going to release a new version of the plugin pretty soon, but if you are compiling it from source it's good as it is
and we have good quality practice here to ensure master is stable at all time now ๐Ÿ™‚

storm sleet
#

I'm one of the programmers in our team, I almost always work with debug binaries, so it doesn't really matter

#

compilation went without issues btw

bleak oracle
#

@reef oriole I love your work with the LFS2 plugin, ended up using a fork someone made (because the one you had kept crashing after we updated), but it's been life saving. Especially without access to P4

reef oriole
bleak oracle
#

Sweet! I am looking forward for the next integrations once we move forward to UE5, also congrats on the PlasticSCM job!

#

We've been looking into it and p4 as options to ditch git for UE projects

limpid saffron
#

My project crashed, Lost everything. I did upload stuff to source control. Can i download them from source control?

#

(Git)

lucid stream
#

As long as source control wasn't your machine or something. Git, as in github.com?

limpid saffron
#

possibly

woven sluice
#

not a whole lot to go on here

limpid saffron
#

yeah...

deep ravine
reef oriole
deep ravine
deep ravine
# deep ravine No, I just published it, this is the first place I have shared it actually ๐Ÿ™‚

It's out there, if you feel like sharing you would make me very happy ๐Ÿ™‚
https://twitter.com/derwiath/status/1509453828734832647?s=20&t=_beWqYDlkM0tXk7NO5KCrw

Hi,
I just posted an article on how we at @PlayGOALS use @PlasticSCM to manage our Unreal Engine based game. Including how to import releases from git to plastic.

We are also open-sourcing a tool called "ueimporter" I wrote to help us do this.

https://t.co/bwld1yFvfL

reef oriole
#

Yes I did! It was the reason for my question in the first place ๐Ÿ™‚

#

Did you by any chance tried to Plastic Plugin in Unreal?
If yes, don't use the one in-Engine, the version we maintain https://github.com/PlasticSCM/UE4PlasticPlugin/releases got some important fixes and is going to support UE5 much better in the coming weeks, before we will have a chance to get the fixes upstreams to Epic Games

GitHub

Official Plastic SCM Plugin for Unreal Engine 4. Contribute to PlasticSCM/UE4PlasticPlugin development by creating an account on GitHub.

deep ravine
storm sleet
#

@deep ravine thanks for sharing. It's nice to see other studios using Plastic with Unreal and sharing stuff.

#

btw it's funny to read about the .gitignore of Unreal source code. Exceptions for exceptions....

#

btw for an experiment I started replicating the UE4 plastic plugin in our plastic repository server, made a branch for compiling the binaries, and xlinked it into the /Plugins/UE4PlasticPlugin directory of a game repository

#

GitSync is incredible

deep ravine
# storm sleet GitSync is incredible

I haven't looked into GitSync at all, will have to read up on it.

Do you think it would be capable of syncing with such a heavy repo as UEs? Not sure one wants all individual commits to the engine, but still interesting to know

reef oriole
storm sleet
#

I wouldn't use it for Unreal source, tbh. It would work, but it would take a very long time and it's likely not worth it

reef oriole
#

Someone once asked me if it was possible to have a public Plastic repo for the plugin, but that's a good proxy

storm sleet
reef oriole
#

I'd love if we could host some users' blog post in the Plastic SCM blog, could be a nice showcase ๐Ÿ™‚

deep ravine
storm sleet
lime tree
#

Somewhat lost, trying to ignore intermediate files from plugins but git seems hellbent on not caring.

Intermediate/*
Plugins/**/Intermediate/*
Plugins/Developer
/Plugins/AdvancedSessions/AdvancedSessions/Intermediate/
/Plugins/AdvancedSessions/AdvancedSteamSessions/Intermediate/
#

I can't for the life of me figure out why it's not being ignored

deep ravine
#

could it be because the files are already committed into git and it refuse to ignore modifications to those?

lime tree
#

Some research has led me to believe it's related to git lfs

#

I've reset hard and also tried deleting the project and repulling then rebuilding

#

no dice

#

some google answers related to gitattributes also did not appear to have any results

deep ravine
#

the modified: in your dump suggests that a file that git already knew about has been touched, as opposed to added

lime tree
#

yeah it's an intermediate file being overwritten on build

#

multiple I guess

deep ravine
#

UnrealBuildTool writes a gazzilion files to Intermediate folders when you build, rarely should any of them be committed into git.

And if any of them is commited into git anyway it will show up as changed every time you build, even though you try to ignore it in your .gitignore

reef oriole
#

Yes I concur, you should really ignore all the Intermediate folder and not submit them; you should remove the one you have already in source control

lime tree
#

they're indeed copies currently commited, how can I fix this?

deep ravine
reef oriole
#

git rm -r Intermediate
edit: ah you beat me ๐Ÿ˜‰

lime tree
#

๐Ÿ‘ perfect, I've been fighting this all day and that definitely did the trick

#

cheers gentlemen

queen rock
#

Anybody know how to set Perforce to let .cpp and .h be readwrite without checking out, I set typemap to this, but doesn't seem to work:

TypeMap:
    binary+l //....bmp
    binary+l //....fbx
    binary+l //....mp4
    binary+l //....png
    binary+l //....svg
    binary+l //....uasset
    binary+l //....umap
    binary+l //....wmv
    binary+w //....app
    binary+w //....dll
    binary+w //....dylib
    binary+w //....exe
    binary+w //....lib
    binary+w //....ipa
    binary+w //....stub
    binary+Sw //....pdb
    text //....c
    text //....config
    text //....cpp
    text //....cs
    text //....ini
    text //....json
    text //....h
    text //....m
    text //....mm
    text //....py
    text+w //....DotSettings
    text+w //....modules
    text+w //....target
    text+w //....uatbuildrecord
    text+w //....version
storm sleet
#

btw I just noticed I can't "pull" anymore via GitSync since I have a local branch in our plastic repo. It tries to sync that branch back to git, which obviously doesn't work without credentials. I'd need to fork the original repo on git, which is not what I want

#

TL;DR: I can't GitSync a single branch only

woven sluice
#

but btw, similar to the ignore file, the typemap is only used when processing/adding new files to the repo... it isn't processed or used for existing files

queen rock
woven sluice
#

unfortunately i haven't had to do that yet, i'm certain there's some way to do it but IDK

hollow brook
#

Does anyone have any recommendations regarding whether it's better to submit the dependencies from Setup.bat into P4, or to instead require all users to run that themselves locally?

queen rock
#

when realistically we just wanna edit the files, reconcile on the source folder and submit

woven sluice
#

wtf?

queen rock
#

it's unnecessary to check them out is the point, yeah we could deal with it but if you're moving around the source, stopping to check something out everytime really sucks

woven sluice
#

why is this even a problem?

queen rock
#

wdym?

woven sluice
#

what tools are you using that don't do everything for you except the final submit (or revert)?

queen rock
#

some of our devs use 4coder or 10x editor

woven sluice
#

fire them

queen rock
#

why?

woven sluice
#

because they're causing you annoying problems ๐Ÿ˜„

#

fix your team, don't break things more

queen rock
#

It's only just become a problem, this isn't a problem on Plastic or Git

#

this is a problem exclusive to perforce

woven sluice
#

well I guess I can't disagree with that

#

I don't support this advice, but you might be able to process this manually somewhat easily

#

something like right clicking on Source folders and checking out everything into a changelist, remove/revert some files you don't want to touch, and then right click on all the files in the changelist and choose Change Filetype, if these options are all available (all in P4V)

#

and turning on +w

#

also just realized you didn't actually add +w to the text specifier in your typemap so you'd want that too, I guess

queen rock
#

yeah just did that, thx

queen rock
#

So wait is it just normal for everytime I wanna edit a .cpp or .h I have to click checkout here?

merry verge
#

yes

queen rock
#

damn ok

#

that's going to take some adjustment god damn that sucks ahaha

#

why doesn't it just automatically check out if you try to save the file that's so weird

merry verge
#

because it doesn't know what changelist you want to save it to

#

you can tell it to always use the active changelist

queen rock
#

I just want to go to default

merry verge
#

then click the "don't show this dialog again" checkbox at the bottom

queen rock
#

ah

#

aahh yeaaaaa that did it, thx

merry verge
#

I juggle lots of changelists so I find that more annoying than useful, but it depends on your workflow.

queen rock
#

Yeah I realized I was asking a bit of an XY question, I just didn't want to worry about doing steps everytime I save a source file

#

tyvm for the help

runic viper
#

Can anyone please for the love of God tell me why when I try to download my zip project from git, the archive has ~200kb? ๐Ÿ˜ญ

#

everything is pushed, uploaded... It's the third time I start from scratch pushing my project to git - I want to have someone else get it through git.

gleaming hill
#

Or maybe you are downloading a different branch

runic viper
#

Nope, the repository says 733mb - i hit download zip and it's ~200kb

#

I just set it up, I have no branch, pushed the project up, initial commit, uploaded it, waited for to upload, I tried to get the zip (just to see if it's ok) and it's 200kb

gleaming hill
#

yikes, never had that before. sorry.

runic viper
#

๐Ÿ˜ญ so frustrated now... Made changes for someone in a project for 3hrs and I'm clocking in 3+ to upload like 700mb

#

so i'm up to 6hrs on it, 1/2 off the clock lol ๐Ÿคฆโ€โ™‚๏ธ

gleaming hill
#

Where do you see the repo size?

runic viper
#

@gleaming hill

#

there... on the other hand, it shows something else in repositories - there, it says 0 bytes ๐Ÿ˜’ I just don't get git man

gleaming hill
#

ehm, i wonder if its not git lfs doing something

#

cant you try cloning in stead?

#

then zipping from your drive

#

try cloning to a new drive, then zip. and see

runic viper
#

idk how to clone but i'll find my way around it and do it - i feel like git is a lot like steam for devs - hard to find accurate and up-to-date info. I'll try. Thanks! @gleaming hill

gleaming hill
#

just go into cmd line, cd to somewhere sane, like c:\temp or something, then hit git clone https://blabla.repo.git

runic viper
#

xD I thought they got rid of console dependency since the git desktop app lol

gleaming hill
#

if that is still empty, then its def empty. heh.

#

you can probably clone via the desktop app too, i dont use gui so wouldnt know

runic viper
#

I think before long ima just snap, get some cloud storage somewhere and get back to my perforce ๐Ÿ˜…

gleaming hill
#

amen to that

runic viper
#

๐Ÿ˜ฎ but peeps love git - hence I said "wth" i'll try it too - stuck at the simplest of things lol

woven sluice
#

github or something else? i don't use git much but isn't it basically standard process that the archive zip download of github doesn't get associated LFS files, you have to clone?

long hull
runic viper
#

@long hulloh, forgot to mention here - I've "fixed" it. Just disabled LFS altogether and everything worked like a charm. Thanks! ๐Ÿ™‚

woven sluice
#

I can't even

hidden folio
#

Hey
"Mark for add" doesn't work in UE4, but it works in Perforce. Did anyone had this problem?
FYI: I did this tutorial https://www.youtube.com/watch?v=7eVO0qXC3nk (Simple Perforce Setup on AWS EC2 From Windows).

This is just a quick video to go over the first time setup for getting a Perforce Helix server going on an Amazon Web Services EC2 instance.

Introduction and Downloads
Amazon Web Services - https://aws.amazon.com/
Perforce Helix Core (P4D) - https://www.perforce.com/downloads/helix-core-p4d
Perforce Helix Visual Client (P4V) - https://www.perfo...

โ–ถ Play video
pure epoch
#

I am trying to ignore several folders in Perforce. That seems to be working. But those folders then show up in the project with question marks. Adding them won't do anything, but they are annoying because there are a bunch of them and I want to filter them out as they aren't even addable. Is there a way to do this within UE4?

#

I've ignored the weapon folder inside my .p4ignore but it is still being detected by the P4V client in unreal

queen rock
#

aaaaa is there a way to make P4VS faster? It's soooooooooooooooo slow

marsh grotto
#

@pure epoch if you arent going to have them on the perforce server, wouldnt it be better to just move them away from the project on your local disk and keep them outside the workspace

#

And then you pull them in as you need them

#

You can right click your workspace root and do reconcile offline work to catch whats not synced against your depot, or just manually delete them from your local workspace if you know all the files

hollow brook
#

We have a similar issue but with all the gitdependencies that are pulled from Setup.bat. I think there is some bug with the engines P4 integration that doesn't properly respect the .p4ignore.

merry verge
#

in all seriousness, it's because P4VS does all of its operations on the main thread and blocks the UI from doing anything until it finishes... there are some alternative extensions available by third parties that make it more of a manual process but don't have that issue, can probably find them by searching for perforce on the VS marketplace.
But seriously, P4VS is one of the reasons I ended up moving to rider in the first place.

queen rock
#

dammit lol

glad stag
sharp harbor
#

Do you guys maintain separate repositories for iOS and android versions or have just one that has code with platform based nodes?

reef oriole
#

neither do I, but some studios like to ignore the Developers or the Collections for instance

hollow brook
#

@reef oriole That makes me wonder if it's more "correct" to submit the git dependencies (everything downloaded from Setup.bat) into P4?

runic summit
#

I have literally every file (even game assets like static meshes) pushed in source control - which means If upgrade in place, perforce "should" detect changes to the files that have been changed as part of upgrading to a newer version ... so I can convert project in-place to newer version safely then, as long as my perforce is setup correctly

#

right?

reef oriole
reef oriole
runic summit
#

What's the difference? when I went from 4.25 to 4.26, I don't think even 100 files changed - why are they not "clean?"

hidden cypress
#

Hey guys, we're trying to use GitHub on our project (35GB project size), and when I try to commit it says "The following files are over 100MB. If you commit these files, you will no longer be able to commit this reposotory to GitHub." What can I do to prevent this? Will going to the Pro version solve this problem? Are the files commited limited by a size limit? What to do if a level is... say, 2GB?

I tought GitHub was standard for UE4, but is there other options that work better for our usecase? We've setup Azure Devops aswell, but no clue how to integrate that

woven sluice
#

if you're in a big company on a big project then there should be a lot more of a process involved in doing an upgrade and checking things but i doubt this should be you

woven sluice
runic summit
hidden cypress
reef oriole
#

By not clean I mean that you might end up submitting additional files you don't want like I listed above

reef oriole
merry verge
#

If you're using a launcher engine or otherwise not including engine files in source control an engine upgrade is generally a single file change (the uproject file), code fixes notwithstanding.

reef oriole
#

You are right, I went straight to the heavy "upgrade Enfin from source" for no reason other than that's what I have ๐Ÿ˜…

woven sluice
#

Oh. Right. ๐Ÿ˜„

reef oriole
#

Sorry ; then I totally agree, upgrade in place is easy and safe in my experience

quaint obsidian
hidden cypress
#

Oh, the tutorial didnt even cover how to use Git LFS haha. Watching another one now ๐Ÿ™‚

hidden cypress
#

Hmm, another question from a newly started source-control user - if I'm using Git LFS to increase our package size, does every member of the project need the package subscriptions, or is it only for the one who made the repo?

sharp harbor
#

I have a master in git and 2 branches. One for android and one for iOS. If I have changes in iOS branch and Iโ€™ve committed the changes but did not push to master, will I have problems packaging the iOS version?

#

Or the android version

#

You might ask whatโ€™s the point of the master branch.. answer is that I did not plan this for 2 platforms at first. I only had one master for the android version when I started

sharp harbor
#

So when I package Iโ€™ll have no problems then?

#

I always thought the files in the branches were a reference to the files in master with the changes

teal bone
#

Whatever branch you currently have checked out will be the one that gets packaged.

#

If you're maintaining 2 branches for different OSes, you should merge master into those branches frequently (rather than merging those branches back into master)

#

I think you're going to have headaches, though.

mighty light
#

does p4v have a thing like git diff where it will just show me all the files ive changed? right now i feel like i have to manually track the files i edit, hunt them down in the workspace and manually add them to a changelist

merry verge
#

You should be adding the files to a changelist before editing anyway.

#

P4VS can prompt you for this in Visual Studio, or you can use Rider's built-in perforce integration.

#

But yes, you can have perforce find files after the fact. It's just slow and bad if you're doing it for lockable files.
Right click a directory in P4V and hit "reconcile offline work". Ideally only do this from a subdirectory as it's slow for large amounts of files.

mighty light
#

ye im definitely not using p4v properly then. i just edit the files as i go making them writable then doing p4v stuff later on

merry verge
#

Yeah, you should be checking files out rather than just marking them writeable.

mighty light
#

i see. well i guess ill reconcile this time and next time ill check them out before i write them

#

is there a way to remove a file from the pending list but keep its changes? the uproject file is in there but its changes are just because im using 4.27 from the launcher but the committed file is using a source build

#

or is this "just do it properly so you dont have this issue" territory?

kind laurel
#

Using Perforce, and I have several plugins in my Plugins folder (imported manually, not through the marketplace). Which files do I mark for add and submit? Same as normal -- i.e., everything in the plugin's Source folder, but Ignore Binaries and Intermediate? How about the Resources sub-folder within the plugin?

quaint obsidian
#

Yes ignore ue4 build products. some plugins ship some libraries or third party binaries in the Binaries folder. Also keep Resources.

kind laurel
#

@quaint obsidian Thank you.

twilit valve
#

Hello, I'm looking for advice about IP addresses and Perforce.

I recently learned that external IP addresses sometimes change during a DHCP lease renewal. If this is the case, how does one deal with a server's IP address changing? Can it be avoided somehow or must one always keep their contributors up to date on the latest IP?

Any advice would be appreciated.

Cheers.

merry verge
#

you either need a static ip or to use a dynamic dns service

runic summit
brisk patio
#

does anyone know how to solve a problem i have I have been following a youtube tutorial on setting up github( I'm new) with unreal engine 4 and for some reason my unreal engine save comes up as an iclone 7 save and i don't know how to change that

#

im completely new to setting up github and trying to make it possible so me and my friend can start collaborating with unreal engine 4

#

@ me for a response

hidden cypress
#

Hey guys, noob source controller here. Can I make changes to my level (for example) while I'm committing my project? It's closing up to 100GB now so it's taking a while to commit๐Ÿ˜…

woven sluice
#

i would just not... for a major VCS shift, best to run the commit overnight and/or split it up into chunks IMO

jagged spear
#

GitHub question - this is the first time I'm taking an existing repository that was offline and archived on a drive, and uploading the archived repository to a new remote GitHub repo using GitHub desktop.

How long should it take for the "Refreshing repository" message to be on screen before I should be concerned? It's been going for a decent amount of time, and hasn't actually shown any signs of uploading any data to the remote repo yet.

I kept the original .git directory, which has about 30GB of commits still stored. Is it better to clear the .git folder when uploading to a new remote repo?

quaint obsidian
jagged spear
# quaint obsidian if you want to get rid of all your history, you can delete it. but i personally ...

Okay thanks. I was asking more because it is taking a very long time on the "Refreshing repository" status, so wanted to make sure it was setup properly. Is that normal for it to take a long time? I'm using a slower drive than before so it's okay if it's slower, but it has been potentially hours.

The drive is definitely active, though, I can see the status blinking and the hear the drive working.

pure epoch
#

So, I've run into a shitty situation... I switched my source control to Git in the project. I found a path to it, put it in and then my project crashed

#

Now, everytime I open it, it crashes because of the source control change. Is there a way to reset it outside the editor?

#

I am using a custom engine build btw

vale basin
gritty bluff
#

Hey, if I hook my project up to github, commit it and then royally screw up my entire project, from textures to code, will I be able to roll it back? sorry if dumb question.

cyan jay
gritty bluff
#

Ah ok, thanks! @cyan jay

stuck lynx
#

Any recommendations for free basic source control for sharing an unreal project between a few people?

mighty light
stuck lynx
mighty light
#

I don't have a lot of experience with lfs so I can't offer any help. Any chance of one of the team members hosting a repo?

stuck lynx
#

I'll look into that thanks

cyan jay
#

Perforce is free for <=5 users, but you need somewhere to host it

quaint obsidian
sacred fjord
#

hey we are using perforce as source control and everything work fine, today we deciced with the other programmer to make a new branch only for us so we can push some updates and when its ready we can push them in main

#

although i dont know a lot how to make a new branch

#

do i need to branch all the project ?

#

this will take a lot of space which is a big problem for now

cyan jay
#

@sacred fjord it's important to realise that branching will not take up extra space on the server, unless you change something.
You can switch your local workspace to a different branch, but it can take a long time to check each file if it needs to be changed. Or you can create a second workspace on your local machine and work in that when you want to change the branch.
In my opinion, branches in Perforce are not great and can often cause more problems (what happens if a binary asset like BP is modified in both branches - how do you merge back).
I'd recommend sticking to a mainline Trunk based development methodology, especially if you only have a small team.

woeful coral
sacred fjord
#

@cyan jay sure thanks for info

jagged spear
#

Agreed on Azure - works well as a free option.

#

Has anyone come across an issue where someone pushes a series of files accidentally on Perforce, and afterwards it can affect project stability?

As in they pushed a series of files that weren't really changed, but they weren't paying attention and checked out a bunch of files when prompted to, and pushed them.

As a result, now the project will intermittently crash, but there is no obvious cause of why that is.

cyan jay
#

Revert the change and see if it fixes it.

jagged spear
#

Sorry - I oversimplified. There were a number of pushes and pulls over a day with that mixed in - no one noticed so it's now also just determining when the project was last stable, since different people have been using it while this has been happening.

jagged spear
#

Hmm I went back pretty far - back to when it was working at the time for me personally - and I just got a crash.

cyan jay
#

Is the crash/log not providing anything useful?

#

and are other devs getting the crash too?

jagged spear
#

Yes everyone is getting crashes. Honestly I didn't realize it generated a crash log when it's an immediate crash.

#

Like it just shuts down immediately.

#

Actually that's not true, there is a message.

#

Unreal itself shuts down, but there is a small box with a generic message with no useful information. Is there a log generated?

cyan jay
#

yes there's a log in Saved/Logs

#

you should also download the engine symbols from the Launcher as it will help debug the problem

jagged spear
#

Okay thank you, I will look into that. That's a very large download for editor symbols!

#

Looking at the log, the most recent crash doesn't point to any sequence or asset, but a specific function - Assertion failed: UIDToArrayIndexLookupTable.Num() == InContext.Curve.UIDToArrayIndexLUT->Num() [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Engine/Private/Animation/AnimInstanceProxy.cpp] [Line: 2631]

#

Confirmed all crash logs have the same error.

#

Was really hoping for something to point to a specific asset that was pushed on Perforce. But I can look into the editor symbols too and maybe it will tell me more.

finite saffron
teal bone
#

I just wanna go back to teh days of rsync ๐Ÿ˜ฆ

woeful quest
woeful quest
silent wind
#

Does Multi-User editing work the same in Unreal 5 as it did in previous versions?

marble crest
#

yeah

reef oriole
marble crest
#

sad though

reef oriole
#

disclaimer: I am working on integrating PlasticSCM into Unreal 5

marble crest
#

nice

#

looking forward for it

#

i prefer git

#

but its has some issues

reef oriole
jagged spear
finite saffron
# reef oriole that's super awesome, I need to read an try it did you tweet it by any chance?

Yes, we did: https://twitter.com/andreas/status/1509810549298716672?t=8mPuZQukN94xdoQcUwLToQ&s=19

We are currently getting our content creators into this workflow and we will keep adding features. Together we are stronger and faster though and we would love to find more contributors.

Thank you for your work on Plastic support in UE5. Gluon is great (way more intuitive for content creators than any Git (LFS) flavor or Perforce) but good integration with the editor seals the deal.

Busy week for the @PlayGOALS team that keeps on delivering. We have built and open sourced an Unreal Editor build distribution system for Windows, Linux and Mac that we call GAMECURE. https://t.co/V0EEAAM226

cyan jay
#

I have a question for people who are using UGS and store the Engine in perforce.
When it comes time to merge a new version (say moving from 4.7.2 ->5.0) what is the process?
Assuming you have made some engine modifications in your perforce version, what is your process for integrating the new engine from Epic github into your local p4 version?

#

So I have our Perforce Engine folder, and another local folder where I downloaded the latest Epic github fork.
If I simply copy Epic -> local then I lose our changes. Could have a branch in our Perforce server which is the raw Epic engine, and integrate from that branch into our mainline, that would at least keep the changes / require merging. Seems maybe overkill tho.

long hull
worthy quarry
#

Any git pros? I have a local commit that I haven't pushed. I want to get rid of the commit without getting rid of the content of the commit

teal bone
#

That's probalby been answered 500 times on stackoverflow. ๐Ÿ˜›

worthy quarry
#

499 actually ๐Ÿ˜› I found it

sacred fjord
#

Hello I am trying to reduce file size of the project in my perforce server. I have implemented that built data are binary+s1 only one file to keep, although I searched in explorer that has 2 more of them each from different user. Is it safe to delete all the previous and keep only the latest?

#

Each of file has around 5gb of built data info

rotund bobcat
#

or is it HEAD^1 never remember by heart

worthy quarry
rotund bobcat
#

I was so close, yet so far away ๐Ÿ˜ญ

sacred fjord
#

Obliterate was what I was searching

glad stag
queen rock
#

Anybody know if you can force perforce to use LF for line endings for a specific file

halcyon iron
#

I can't open Github Desktop anymore, tried to launch it as admin still doesn't open, doesn't show up in the task manager either, does anyone know why please ? I tried to restart my computer still the same problem

#

Please ping me if any answer

full relic
worthy quarry
#

for git lfs, is it possible to only track files of a type that are larger than a certain size?

brisk patio
#

hey is there anyone that would be able to help me and my friend the issue that we have is when i invited him to my git repository and was trying to get the unreal engine source control to work but he needed to download git which he did but everytime he accepts the settings it says he doesn't have git downloaded

#

thats the problem we have currently

spiral rapids
#

I'm having issues with git LFS. On my machine I track the files that are over the 100MB limit and push, but on my collaborators machine when he pulls and tries to edit Unreal doesn't seem to see the files as linked and changes he makes in code don't appear in the editor

#

Am I doing something wrong by going into command line and doing git lfs track "filename" for files that are too big to push?

stuck lynx
woeful coral
spiral rapids
#

How can I fix this error?

broken patio
#

Anyone know the perforce command for get-latest?

broken patio
crimson lynx
reef oriole
quaint obsidian
quaint obsidian
quaint obsidian
spiral rapids
#

I have that installed on my machine but he didn't download it

rotund bobcat
#

does he have the actual files or just the 1kb pointers to the files in his local checkout?

patent dagger
#

What does the light blue file mean?

rotund bobcat
patent dagger
#

nvm, it was set to write only.

#

Just right click the folder and make it read-only.

#

It's what perforce expects.

shell pelican
#

Can I share a local repo between github and azure devops without my repo exploding?
I can't imagine any github adds any files to the local repo

rotund bobcat
#

you mean have one local repo and push to 2 remotes?

shell pelican
#

Yea exactly

dapper lava
#

Hey, I set up a Perforce server on DigitalOcean following some tutorials. Am I now able to run multiple Unreal Projects using a single Droplet or am I limited to one project per Droplet?

wet comet
#

Or you can do one main stream with an engine folder and multiple games folders like //Games/Engine, //Games/Project1, //Games/Project2. It depends on how you want to deploy your engine version

#

One piece of advice I have is to make sure you don't run out of space on your droplet. If you do p4 gets really confused

glad stag
crimson lynx
#

@reef oriole would you have any bandwidth to cast an eye over something I've been working on to limit Git file conflicts?

analog lodge
#

ok, so, for a long time everything was running smoothly, but somehow I accidentally had the root selected when trying to revert two files and now I have a pending changelist with all files in the depot about to be reverted and it just hangs....
Is there any way to just delete the default changelist that was created this way, so I can keep working, or do I now have to wait two days til all 19.345 revert commands are completed...?

#

Nevermind, figured it out, I just shelved the default changelist and everything is fina again..

spiral rapids
spiral rapids
jagged spear
#

Using GitHub, is there any way to determine if anything is wrong when pushing to origin? I'm uploading an entire repot that was offline - 70GB including commit history - and it''s been over 12 hours. I have a good FIOS connection and I feel like it shouldn't take that long to upload 70GB or so of data...

#

I can see the commit history, so it clearly sees the data, and isn't giving me any errors when opening the repot locally...

#

Oh I forget, I did running it once earlier and got this messsage

spiral rapids
#

I'm now getting this error ;-; I don't have any other repos with LFS

low tangle
#

Weird question,can perforce be setup in digital ocean starter pack.

#

?

fleet lance
#

there's no perforce plugin for visual studio 2022?

queen rock
#

P4 Question here, if we have a stable branch (stream) that we only want to bring down approved changelists to, what would be the best stream type to do so? I see virtual stream and it seems appealing, but there's also "release" stream type which I would guess the benefit is we can hotfix ect? Right now all I really want is to keep a seperate deadend branch where we can lock at a certain changelist and then bring down some extra ones selectively if needed, doesn't even need to be archived, on the next rolling release i'd want to update the release branch to a new changelist

woven sluice
# queen rock P4 Question here, if we have a stable branch (stream) that we only want to bring...

I think you'd be good with a Release stream... I'm kind of stupid on good multi-stream setups still myself though.

Virtual streams are only for making special "views" of other streams, they're a bit like symlinks in windows... or TArrayView in UE... you can use them to selectively pay no attention to certain bits of the source stream, and/or import other bits from other streams into a workspace

queen rock
woven sluice
#

A virtual stream is the parent/input stream(s). They're the same thing

#

A release stream is a branch, by comparison

#

One thing I never figured out, it seemed like release streams store full copies of everything... I think task streams don't

covert relic
#

Anyone know why, when checking-in your project with Perforce from within the Unreal Editor, it says its saving a lot of files and then presents the Submit Files dialog instead of just immediately presenting the Submit Files dialog? It takes 1 minute to bring up the Submit Files dialog now. A while ago, before I manually made a copy of my project to a new folder, it took only a few seconds to show the Submit Files dialog.

covert relic
#

In other words, how do you ensure Check-Ins are fast?

crimson lynx
#

Is there a silver bullet command that will turn my entire LFS history into a non-lfs one?

runic summit
#

What file controls collections? I've checked out default editor (heck, I checked out everything in the config folder) but I got the "failed to add to collections" source control error

pulsar parcel
#

they're just slow as hell to sync. the main reason we used virtual streams at my old job is to exclude content but UGS does a better job of that

#

also the advice I'd give to any perforce shop is: steal epic's workflow

#

"main" is a source of truth. you work in release development streams, developers work in the stream that's labelled as the fix version on jira/your PM tool of choice

#

every release stream is just populated from main, and then you use robomerge (a tool epic makes available with the engine) to propagate streams

queen rock
pulsar parcel
#

it was actually easy to roll out at my old job, robomerge made it easier

#

the only thing about robomerge is that it uses active directory for auth, so you have to modify it if you want to use an alternative auth scheme

woven sluice
#

I'm curious about under what conditions virtual streams become slow

pulsar parcel
#

the use case I just described is many times slower than just using UGS

#

UGS has a sync filter feature

woven sluice
#

IDK, that didn't describe anything. I get 100 Mb/s coming from my server whether I'm on mainline or a very simple virtual stream (excluding Binaries and maybe a little other stuff, basically). curious if p4d.exe starts to choke if it has to process a crapload of mappings or something

quaint obsidian
jagged spear
#

I've recently been learning about content integration systems like Unreal Game Studio and Jenkins. Does anyone have any preference for what works well with Unreal? Seems like UGS is the no brainer for ease of use with Unreal. I have fairly simple needs - this is for virtual production, so there's no build, I just want to be able to have more preventative measures in place to prevent problems occurring when using source control. i.e. if a commit to main ends up having a problematic file, being able to mark it as a bad commit to not be pulled.

pulsar parcel
#

Well if you run tests against each commit you can integrate that with Unreal Game Sync

#

There still is a build - editor binaries

jagged spear
#

Oof, I wrongly assumed UGS would be more beginner friendly and integrated into Unreal as a plugin, in contrast to compiling an open source CI system like Jenkins. Reading through the workflow, it looks like possible overkill for a small team of 4 animators creating simple animations in sequencer. I see you can use pre compiled binaries, but that workflow is also relatively more involved than I expected.

merry verge
#

Uh, UGS isn't a CI system. A CI system can submit binaries for use in UGS but it does no such thing by itself.

#

And you don't compile Jenkins yourself... you'd just use one of their binary distributions.

#

CI is generally some sort of service (selfhosted or otherwise) that builds submitted changes at some sort of interval (either time based or based on submitted changes) and runs tasks related to those builds. Jenkins, TeamCity, Github Actions, Gitlab CI, ADO Pipelines, etc. are all examples.
UGS is none of the above - it's a program that helps manage syncing code and content for devs/artists, with a few extra utilities related to that workflow.

jagged spear
#

Okay, thanks for clarifying that. I was unclear on whether UGS was CI. So when it says "It promotes code and content integration in a collaborative development environment." that is referring how it works with a CI system, like you said. I thought UGS was both utilities and a system for submitting binaries - but I see, it would rely on a CI system to do that for it.

Basically I had received separate recommendations to look into both CI and UGS.

So it sounds like CI is not useful - we are not making builds, just animation sequences - but it sounds like the utilities in UGS are what I was interested in. Either way, UGS looks less artist friendly to setup than I thought.

pulsar parcel
#

setting up UGS is an infrastructure task

#

the tool is artist friendly, setup requires configuration, setting up CI triggers, and setting up the metadata server

#

though it works without the latter, albeit in a limited way

river tinsel
#

Unreal dedicated CI is Horde

#

but if you don't know what container is

#

i suggest to wait until it is distributed by epic as package (;

lusty urchin
#

Is git viable now with one file per actor or is perforce still king?

river tinsel
#

with one file per actor

#

git is even less viable

simple lodge
simple lodge
river tinsel
#

change your artists then

#

in anycase raw git barerly can handle normal UE projects, with literally tens of thousands assets to manage

#

it's going to be much worse

teal bone
#

There's always svn if you don't wanna go full blown perforce.

reef oriole
#

Genuine question: does the Subversion plugin handle well the One File Per Actor?

river tinsel
#

once I used svn

#

the price p4 asked me to pay

#

didnt seem that much

#

that's my opinion of svn

reef oriole
#

Nicely worded ๐Ÿ˜‰

#

I remember that when I was using Subversion a lot, I wasn't happy with the performance of it
(might have been because of the network or the server itself)

#

In any case, it triggered me to start using Git, and so that's the reason I developed the Git plugin in Unreal:
it's way faster to have a local source control (and better than having no source control)
but I wouldn't use it myself in a real production, just for solo dev / prototyping

long hull
# lusty urchin Is git viable now with one file per actor or is perforce still king?

I've checked yesterday, Changelist doesn't seem to work with Git, but the commit interface can still unobfuscate the OFPA filenames to give something intelligible, though not as detailed as Changelist (e.g., no actor type). But that was a very quick test, and I could be wrong. Maybe @quaint obsidian has more info on that, and on possible future Changelist support. In one of the video released last week, Epic also mentioned that they want to extend Changelist support to "Other source control", though I haven't seen much support from Epic for anything non-P4. Maybe they meant Skein ๐Ÿ™ƒ

reef oriole
#

I guess that for git a "changelist" would be the staging area

#

As for Plastic SCM I will work on a official support of Changelists quite soon ๐Ÿ™‚

quaint obsidian
long hull
reef oriole
merry verge
#

For git I'd expect it to show two "changelists" at all times - one for staged changes and one for unstaged. Beyond that the window doesn't really make sense for git.

#

Super useful for p4 though.

quiet grotto
#

I have the main branch and a feature branch, I'm trying git merge main but it says I'm already up to date, but I'm very much not up to date, files aren't the same, I've been googling a bit but can't sort it out

pastel lodge
#

Anyone know if the Release branch on Github is now the UE5.0 version?

storm sleet
#

Imo the git staging area is more or less the difference between checked and unchecked files in the changelist, or the "mark for add"/"checked out" in plastic. In a gui driven system with git (and without exclusive checkout/file locking) the staging area as is doesn't make much sense. (Our own git implementation on Plan 9 doesn't have it either, although in that context it would make more sense)

storm sleet
#

Otherwise you want to merge feature into main, but then you'd have to git checkout main, then git merge feature

#

(I believe)

regal pewter
#

Is my only option to delete the .git folder and remake it?

#

Ah, actually, git init managed to re-initialize the existing git there so I didn't lose anything. Good to know it can do that!

crimson lynx
#

Did someone ever experienced Git incessantly changing permissions of files to not executable on macOS? If so, do you know how you can prevent that from happening?

quaint obsidian
#

changelists can be implemented using the git stash. stashes can be named and preserve repository state

#

you can refer to stashes with commits, so they can be branched off and submitted for review.

#

swapping between changelists would be implemented as stashing your current state, and then popping the selected changelist's stash

merry verge
#

Ah yeah, forgot about stashes. Would definitely be a good use for the changelist window (in addition to staged/unstaged?)

#

I guess it depends on how much that UI can be customized or overridden. Haven't looked at the new SCC plugin interfaces myself.

simple lodge
cinder depot
#

Hi, does anyone in here can give me a bit guide to setup perforce with local network and integrate it with Unreal Engine?

simple lodge
#

Just folllow the base install instructions and connect to its IP

cinder depot
simple lodge
#

You need to set it up before you boot the project

#

p4v is a good place to start

cinder depot
# simple lodge p4v is a good place to start

I started my workspace with that, it's all setup. Do we need hosting to make it on? or can we use local area network to begin the host?. I used my own computer for the depot server.

simple lodge
#

You should be able to setup firewall etc and have everyone connect to your own machine, using your machine as the depot isnt a great idea generally, but it should work

teal bone
#

UE supports perforce, so there may be some perforce data in teh folder? Even if you don't have it installed, UE may be reacting to it.

reef oriole
reef oriole
storm sleet
#

wow incredible...

#

can't wait to get this in plastic ... ๐Ÿ™‚

misty bolt
#

Hi everyone,
I'm a new user of Plastic SCM and I'm a little confused with the "ignore.conf" file.
I want to ignore the Unreal BuiltData files, to save space on the repository.
So I add in the "ignore.conf" file the line "*_BuiltData.uasset".
But Plastic SCM always wants to add the files.
Is it a bug or am I wrong in something ?
Thank you for your help

hollow badge
#

Question: what's your source control set up?
I use perforce as a docker container on a synology nas box and no ip so I can access it outside my lan

hollow badge
merry verge
#

No, you don't need to update perforce for that.

#

It's the new UE5 UI.

hollow badge
#

this docker container is kinda old now I suppose. I wonder if updating it will really gain me anything. never had issues with perforce. it's so rock solid

muted gulch
#

Nuked my original repo, forked Epic's repo, can't delete all the old branches like 4.0 etc.

#

Yeah may have to just do that then prune it.. argh

#

guess the websites broked

#

@jolly fog are you still using SC 1.5?

ornate willow
#

You can have your git repo, then just add remote branches so you don't get all the other branches, for example my repo only contains 4.26, 4.27, oculus, 5.0 as remote branches, then updating is just > git fetch oculus4.27 > git merge oculus4.27/4.27 > git push origin oculus4.27

bitter sun
#

Anyone knows why GitKraken is so unresponsive? It takes a lot to switch between local branches

woven sluice
#

how substantial are the differences between branches though... are you sure this is gitkraken's fault

bitter sun
#

Uuh, yeah.. Now thinking about it, it's around 30gb of a project

#

Though difference between branches are very very small

woven sluice
#

i guess the official answer would probably be found by trying to switch using command line, or at least by trying a different client like smartgit to see if it's the same

reef oriole
# misty bolt Hi everyone, I'm a new user of Plastic SCM and I'm a little confused with the "i...

When you say PlasticSCM is always trying to add the BuildData, it's more in fact Unreal trying to add it
Please update the PlasticSCM plugin, I fixed this in last version a couple of weeks ago https://github.com/PlasticSCM/UE4PlasticPlugin/releases

GitHub

Official Plastic SCM Plugin for Unreal Engine. Contribute to PlasticSCM/UE4PlasticPlugin development by creating an account on GitHub.

reef oriole
hard ice
#

Hi, hope this is the correct channel for this question. I'm currently working on two UE4 projects both using perforce and UGS. Both are using different VPN solutions to establish secure P4 connections. I was wondering if there's a way to have multiple UGS installations, or tell UGS which connection/project to load and which to ignore. Atm whenever I start UGS it tries to establish connections to all projects, but of course that doesn't work because I only have the VPN for the project I'm working on running, disabling the other.

misty bolt
reef oriole
#

If you cannot compile it yourself, or have a programmer do it for your team, I could install 4.26

misty bolt
#

Thank you !
It's not a problem for me to compile it. It was just to be sure of the compatibility.

boreal pilot
#

^ Was expecting to see "HEAD is now at 05ce24e3038cb1994a7c71d4d0058dbdb112f52b 5.0.0 release"

blazing quail
#

Did you git fetch before reset?

indigo relic
#

hi, anyone use perforce? know if its possible to make a pre-compiled binary version of an engine and host it on the perforce server? is there any tutorials for how to do that?

merry goblet
#

Would anyone be able to help me setup Helix Core please? I've tried following their official tutorial video
https://www.youtube.com/watch?v=keqWj5RSYAI
but at 7:29 I type p4 typemap in the command prompt (Admin) but none of the 'binary' or 'text' lines are added to the opened document. I've emailed their support people last week, but had no reply.
Thank you in advance ๐Ÿ™‚

Unreal Editor has a built-in integration to Helix Core. Learn how to use Unreal Engine 4 with Perforce Helix Core and build the next big AAA game today.

To learn more, visit: https://www.perforce.com/blog/vcs/how-use-unreal-engine-4-perforce

โ–ถ Play video
lucid stream
# merry goblet Would anyone be able to help me setup Helix Core please? I've tried following th...

How to setup Perforce so that you can share assets with other on your team.

merry goblet
#

@lucid stream Thank you for this, I'll give it a go!

runic summit
#

why is perforce not detecting my changelist?

#

but unreal is?

runic summit
#

Why won't perforce download an item - I deleted from the windows folder view, deleting the actual file, and then when I tried to refresh and get latest, it doesn't download it

merry verge
#

Force sync it

#

right click on it in the depot view > get revision... > enable the force sync option

#

Perforce has a weird architecture where the server is supposed to know exactly what revision you have at all times. As such, trying to get the latest revision of a file the server already thinks you have does nothing.
Force sync asks the server to send the file anyway (but will redownload even files you do have).

#

Alternatively, reconcile offline work and then revert.

pulsar parcel
#

it's called a have list

#

and you can view it

runic summit
runic summit
# merry verge Force sync it

What's weird is I did that for this entire subdirectory - I haven't pushed any of these changes I made but It's not updating it

merry verge
#

You checked the "Force Operation" box?

#

And the folder was specified in the "Get or replace the following files/folders" area?

#

And these files aren't otherwise in a pending changelist in that workspace?

boreal pilot
runic summit
merry verge
#

If unreal is showing files that have been checked out (and unreal is actually connected to perforce) then you either aren't looking at the same workspace, need to refresh p4v (press f5), or have some filters set in the pending changelist panel.

#

and make sure you actually have the right workspace selected in the depot/workspace panel

#

Or you haven't actually saved any of the files that have been modified.

runic summit
#

I have another computer that is loading fine and since I didn't push anything, can I force push a new revision

merry verge
#

You just submit the change, there's no such thing as force push.

runic summit
merry verge
#

Have you tried running reconcile offline work?

#

Or verified if the files are on disk outside of unreal?

runic summit
#

The screwed up machine shows some local files not in the depot but none of them are what broke

#

when I diff the problamatic file, it shows the differences but for some reason won't download correctly

#

Again, what is weird is there are no pending files in the change list

#

but in Unreal, I can submit to source control and it does

merry verge
#

You haven't answered whether you've checked what I said to check. Do you have a workspace selected in p4v? Do you have any filters active in the pending tab?

#

Is the workspace the same one that's configured in unreal?

#

What does reconcile offline work bring up?

#

Do these files exist on disk, and have you been able to compare them to what's on another machine?

#

Is it the files that are failing to load that unreal wants to submit to source control, or is it files referencing the ones that failed to load?

runic summit
#

Sorry -
Yes, there is only 1 workspace in there, filters says none

#

I did some directory changes in the project - then I tried to revert those changes

merry verge
#

So reverting without checking the "delete new files" or whatever the option is will leave "new" files (incl. new names for files) in place. I'm guessing that may be why you're seeing a bunch of files not marked for add.

#

The simplest thing to do to clean out your workspace is to reconcile offline work, let it add everything to a changelist, then revert (enabling the option that deletes new files).

runic summit
#

understood I will try that

runic summit
#

crap, you didn't say submit, but I did that

merry verge
#

right.... you weren't supposed to submit that

#

history tab -> right click what you submitted -> undo

#

then submit the undo

runic summit
#

goddamn I hate perforce

#

I did all that, same problem

#

I am literally going to have to remote into the unfucked machine, find the files that are the problem, and copy them over, bc perforce is obtuse

#

But thanks for walking me through that , would have been tearing my hair out without your help

merry verge
#

again, do the files exist on this machine? Do the sizes match as expected?

runic summit
#

they appear to be identical across machines but look at this - this isn't the issue is it?

#

the only thing I can think is building a new data structure but that was since deleted and it wouldn't matter if I restored the blueprint correctly, since it no longer would be referencing that structure

#

this is the problem those folders don't match, but i'm not sure why if I did reconcile offline work (I tried it on both machines)

merry verge
#

This may seem like a dumb question but... did you actually submit those files to the depot (the ones that are missing)?

#

Do they appear in the depot tab?

runic summit
merry verge
#

That's not the missing file.

#

There's no indication that the asset in that image was failing to load. Things it was referencing were failing to load.

runic summit
#

ah sorry one sec

merry verge
#

I believe that blue x on the icon means that a different workspace than the one you're in has marked those files for deletion but not submitted yet. If you hover over the file it should tell you which one.

runic summit
merry verge
#

so it's marked for delete, apparently in both that workspace's changelist and maybe also another workspace?

#

you aren't trying to share a workspace between multiple machines, right?

runic summit
#

is that even possible?

merry verge
#

no which is why I'm making sure you didn't try to

#

as things are, it sounds like the files are marked for deletion in that workspace. I don't know why p4v isn't showing it but it should be in the default changelist - my only thought is that you have a filter on somewhere.
You can try to verify this on the command line - p4 opened -c default

#

actually, p4 opened -a which will show all opened files across all workspaces. Which might hopefully make it clear where things are.

runic summit
#

how do I type in the command line in the browser, or access it, I thought they had a shortcut in P4V to do that

merry verge
#

file > open command window here

#

though that just opens a normal command prompt, if you don't have p4 in your path or the proper config/environment variables setup it won't set those for you afaik

runic summit
#
//depot/Content/IncidentCommand/FullScenario/CategoriesSpecificCommands.uasset#1 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/DebugMaterial.uasset#1 - add default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/BaseMenuTypes.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/Deprecated_Fireassignmentsmain.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_AssignmentMapDT.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_EBaseFireAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_EFireAttackAssign.uasset#2 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_ELifeSafetyAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_EOverhaulSalvageAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_ESimpleCommandsAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_EVentilationAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_EWaterSupplyAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_LifeSafetyAssignStruct.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_MainAssignmentStruct.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/IC_RescueAssignments.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Enums/NewDataTable.uasset#1 - delete default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/FullScenarioTestScenario2.umap#5 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Widgets/AssignmentMenus/SpecificAssignments/SpecifcAssignments.uasset#1 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Widgets/AssignmentMenus/SpecificAssignments/VictimInfo.uasset#2 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/FullScenario/Widgets/MainButton.uasset#1 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*
//depot/Content/IncidentCommand/Victim.uasset#1 - edit default change (binary+l) by Blake@Blake_SilverstoneRig *exclusive*

e:\LiveSimCurrentWorkspace\Content\IncidentCommand\FullScenario\Enums>```
#

silverstone is the name of the machine that's broke

#

could it be redirectors fucking with perforce?

merry verge
#

no

#

redirectors are just normal uasset files

#

run p4 revert -c default //... to revert all of those changes

#

Also I just noticed something very odd @runic summit - when you posted a screenshot of the pending changelists window it showed your user as Blake_Silverstone. But the bit you posted above from p4 opened shows your username as Blake.

#

I don't know if p4v has different display modes for usernames or if you've actually got two different users here. If there are indeed two different users that may be why you're not seeing things in p4v.

runic summit
#

originally I only had a single machine that I would work on, and perforce was offsite - but I have multiple machines I work across - I thought I got rid of that login or made it impossible to login as just Blake

#

I am not sure if it matters because there is only one workspace per machine

#

I just named the users after the different machines so I would be able to keep track of what pushed where,

merry verge
#

having different users per machine is pointless

#

perforce already records what workspace files were submitted from

runic summit
#

yeah but I wouldn't know necessarily as easily

woven sluice
#

Fwiw there is a server setting that automatically and fucking retardedly just creates new users when you try to log in, so if you had a p4v instance just casually attempt to log in with an old user name it may have just silently recreated that old user name which you thought you got rid of

runic summit
#

or will it keep multiple clones of pending files?

#

or not let you push files from one of those users on the "same' workspace

midnight hemlock
#

Question: 5 members around 100 GB project file, which sc server do you prefer? Git? Perforce? or else. World Partition and One file per actor will be used.

merry goblet
#

Hi Should I close Perforce P4V once I've set up the server, or do you leave it running when using Source Control in UE4?

reef oriole
merry goblet
reef oriole
# midnight hemlock Question: 5 members around 100 GB project file, which sc server do you prefer? G...

I would say that Perforce is still the de facto source control provider for big project using Unreal, and is what is used by Epic Games internally. Beware that it's expensive, but also complex to setup and master (hence the number of questions in this channel). If you are familiar with it already it's a good start.
I wouldn't use Git with LFS too much beside small size projects & teams
IMO Plastic SCM is a lot easier to setup and use, and even more efficient in many case (eg if you want to switch between branches) but the support in Unreal was lacking recently;
I have been hired to work on improving that, and it's already way better ๐Ÿ™‚
I have been using them all for years, but I am obviously biased now ๐Ÿ˜‰

reef oriole
#

Question: do some of you have professional experience using Subversion with Unreal? I would love to hear how it works for you.

storm sleet
#

I can second your opinion, Plastic is easy to set up and use, and codice provides excellent guides for almost all use cases. Blog posts are sometimes out of date, but codice people are very helpful and the guides are really good!

#

There are things I'm missing in plastic. Eg it would be nice to be able to just pull an individual branch from git and not sync the other branches, so I can import plugins from git repos to an xlinked repo. Also it would be nice to be able to distribute binaries to our artists and not have them versioned in plastic (more like just store the latest). I mean, it's "source control", not "binary control", but we can't rely on artists to be able to build binaries themselves.

#

I'm really looking forward to your UGS alternative there (I'd love to test it and provide feedback, but I'd have to clarify things with my boss because of extra time and risk)

merry goblet
#

If I forget to right-click & check-in an asset before editing, will it still get submitted to the server?

reef oriole
vale basin
#

I usually do a "reconcile offline work" with perforce before submitting to double check I haven't missed a file

#

Right click the folder in p4v, and you'll see this option

reef oriole
#

Also it would be nice to be able to distribute binaries to our artists and not have them versioned in plastic (more like just store the latest)
yes I agree, it's a high priority thing, we are supposed to get that at some point

woven sluice
#

It won't have a "modified" icon either.
(writable/locally modified files will turn blue. otherwise all yes ๐Ÿ™‚ )

#

(not particularly useful anyway since you rarely want to dig through entire folder hierarchies to find all blue files ๐Ÿ˜„ )

vale basin
merry goblet
tardy venture
#

Anyone have issues with UE5/ p4v diff views no longer showing up for BPs? I may have pointed to a custom diff tool in UE (preview), but don't think that would be the issue.

tardy venture
#

Fixed the above, had to set this up:

bitter sun
#

In perforce, when we create a new remote branch (codeline/stream) does it copy every file in local too? From what I can see its different compared to Git

river tinsel
#

just remove host field (;

bitter sun
#

I just want to create a remote branch to push development changes to integrate into main later on

woven sluice
#

unfortunately there isn't much resources on this because hardly anyone does it... the only decent tidbits of info out there really are i think involving adopting epic's own entire workflow, which requires a source engine, UGS, robomerge

#

otherwise most people agree that branched workflow in UE projects just sucks ass

bitter sun
#

I thought branched workflow is most common one

woven sluice
#

well since you can't merge blueprints... no, it's not ๐Ÿ˜„

bitter sun
#

I understand why some studios use Git for source folder and P4 for content and rest now ๐Ÿ˜…

woven sluice
#

that doesn't fix anything although git does operate a bit nicer for branching

#

i think (don't actually know) that what teams like fortnite do is maintain just a few consistent streams - Mainline, and then one or two release streams. then they use the editor's ability to hard code in all the stream path names to display file locks across different streams (which it won't show by default) so they can avoid conflicts a bit

#

if you search for and find any talks on using robomerge and UGS, it might reveal some more useful info (i am far from an expert at highly mature VCS/CI setups)

bitter sun
#

Even if its not preferred I need to use UGS and robomerge to branch my files?

woven sluice
#

so branching and streams are entirely different systems, branching is like a legacy process, but you can only use streams with a streams depot

merry verge
#

fwiw streams allow (but do not inherently come with) a process somewhat similar to git branches.

spiral rapids
#

How can I easily go back to a previous commit in gitHub desktop?

#

Going in history and doing "revert changes in commit" gets rid of the changes in a commit right? It's not reverting to that version

mighty light
#

Does it make sense to have a perforce server and client on the same pc? Like I know practically it doesn't really but I'm trying to get started and don't have access to my server at the moment. I tried setting up a new workspace in a different drive than my project but I don't get the option to add files or to check it out into a new directory. The depot and my local copy end up sharing the same folder

#

Maybe I set it up really incorrectly

woven sluice
#

Server and client on one runs fine. It does mean you're one tier worse on backup safety - if your PC lights on fire you're losing it all

mighty light
merry goblet
#

Perforce depot setup and working on my pc (as the server). Will my friends need any Perforce software on their machines, or will the Perforce plugin in UE4 allow them to perform multi-user editing? Thanks!

amber rune
#

I'm wondering how my can I work with my partners with different source built engine. Problem is our packages from different source build engine gives an error "Different engine version" & not connecting to dedicated host server.

teal bone
#

If you're using git, fork the engine and have everyone use that fork?

#

(assuming you've made changes)

#

If you haven't, just get everyne to checkout the same commit

quaint obsidian
bold hawk
#

I am having an issue with another person regarding shaderfile locations. Anyone have a fix so this doesn't happen every time?
https://prnt.sc/0jiinYuXxxFh

Lightshot

Captured with Lightshot

#

Can I just add this file to the ignore?

frosty stirrup
#

Hey guys one of my devs suggested we try the electronic nodes plugin but now were getting prompted to the "buy" page on the marketplace. If they bought a license can we share the plugin files or does every user have to purchase a copy?

frosty stirrup
#

Guess a better question is there a way to automatically install ue plugins through perforce? (go to the engine folder)

wet veldt
# frosty stirrup Hey guys one of my devs suggested we try the electronic nodes plugin but now wer...

Marketplace code plugins have a "per-seat" licence.
https://www.unrealengine.com/en-US/eula/content

Plugins may be offered to you on a per user basis. Such Plugins may only be used by the number of users that you have purchased licenses for. Distribution of Plugins in source format to your employees, affiliates and contractors is permitted so long as use by those employees, affiliates and contractors does not cause you to exceed the number of paid users you have purchased for the Plugin
Unreal Engine

The Epic Content License Agreement is an agreement that applies to your use of certain digital content made available to you through Epic channels.

pulsar parcel
wet veldt
#

Well, Electronic Nodes has a per-seat license ๐Ÿ˜…

pulsar parcel
#

$16.38 per-seat for 45 degree BP wires lol

wet veldt
#

$12.99 for productivity and lisibility of your BP, I guess it depends on how much you value your time

pulsar parcel
#

and you can use p4 permissions to filter out the folder

tacit ruin
#

Doing a local backup of a project - if the project has an Engine/ folder, do I need to back up Engine/Binaries/? Or will all those binaries be regenerated in VS after a generate project files?

regal grotto
wet veldt
regal grotto
#

I'm OK with it being per-seat, I just want to have some "official" source. I found nothing neither in "Getting started" nor in FAQ on this topic.

wet veldt
vale basin
#

All code plugins are per seat

regal grotto
#

Okay, I am not a legal lawyer, but all this wording is extremely confusing.

vale basin
#

As that's not a legal document, I think you can assume the intent there is talking about products in their source/developer format

#

That is a marketplace faq, and the marketplace would be entirely useless if you couldn't distribute end products

serene linden
#

Sorry, your message is from 1 year ago ^^, but could I know where to find this please? ๐Ÿ™‚

#

I have the same problem only here

pseudo osprey
#

that is particular is probably from Notepad++?

serene linden
#

I have this error in Visual Studio when i try to build UE5

teal bone
#

Are you using a mac?

pulsar parcel
#

mac line endings are actually pre-OSX endings which are just \r but little information was provided

#

since modern macOS uses \n

serene linden
#

@pulsar parcelYes i know, but i juste clone the UE5 repo from git and i'm on windows

#

so, i don't understand

pulsar parcel
#

show the full error log from the output window

serene linden
#

ok, i send you that in 2m

pulsar parcel
#

4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\INCLUDE\xatomic.h

#

this file probably got corrupted

serene linden
#

i have the same error with visual studio 2022

pulsar parcel
#

the xatomic.h I have definitely has windows line endings

serene linden
#

i try to reinstall vs 2019, but I have little hope

pulsar parcel
#

there's a repair option

serene linden
#

yes i start the repair

pulsar parcel
#

and even if you open it in VS2022, it might still compile with the VS2019 toolchain anyway

serene linden
#

@pulsar parcelIt's work, love you man !

#

It's started for a while ^^

pulsar parcel
#

well that's a full engine compile, you can just compile what's relevant to your game if your project is side-by-side with the engine

serene linden
#

Yes i know, but i prefer compile the engine

#

And for compile a dedicated server, i need too compile UE from source

pulsar parcel
#

why

#

except for timewasting

teal bone
#

He likes spending money on SSDs when their cells burn out.

serene linden
#

In all the tutorials I've seen that talk about dedicated server compilation, they say that you have to compile the engine yourself

merry verge
#

Yes, you have to compile the engine yourself. You don't need to compile literally every single project that makes up the engine, however - you can compile just the modules your project needs.

serene linden
#

Yes i know, I never said otherwise ^^ I just said that I was compiling the engine ๐Ÿ™‚

serene linden
#

Build block here, any idea ?

pale walrus
#

Hey guys! Can someone share experience of using gitlab with locking system in UE?

  • Does it lock files only on the branch it is using or amongst all branches?
  • can UE source control integration perform file lock on saving BPs like Plastic or it only should be done manually?
pale walrus
serene linden
pale walrus
#

Gl!

analog lodge
#

Ok , I have a stupid issue...I have a few users set up in our office while working remotely from home.
I ran the office user with a root directory set on our projects server.
But now I need to use a different workstation and when I create a new workplace for that with the same user and the same root directory, it tries to download the whole depot, even though its literally the same files for both workstations, since they are in the same root directory...

#

Is there a way useing p4V to circumvent that?
Or what am I doing wrong here?

glad stag
analog lodge
#

Yeah, I figured out a different way. Leave the host field blank and then I can just use the same workspace from a different workstations with the same user.

glad stag
#

OR you could probably change the workspace mapping so it pulls different folders ... "root/folder_a" goes to user 1, "root/folder_b" goes to user 2

analog lodge
#

But one more stupid question...

#

Can the same user be logged in at the same time on different machines using different workspaces?