#source-control

1 messages · Page 55 of 1

rotund bobcat
#

but for your case probably perforce is better

#

it's a lot more artist friendly in my experience as well

#

as in non-programmer people

pine citrus
#

I am in the middle of something once I done that I'll move over to perforce than

#

I guess it wont be that difficult to get used to it after git

cyan jay
#

😬

pine citrus
#

will it ? 😄

#

because they different git is decentralized and perforce is centralized

#

not sure if I can create branches in perforce

cyan jay
#

you can but generally don't - they are very heavyweight

#

Trunk based development is the way to go usually

#

I've used perforce for many years so I'm very comfortable with it, but I know some people struggle initially. Also, setting up the server will involve a bit of learning on your behalf!
This is my goto reference for getting started in a way that won't cause problems later on.
https://www.perforce.com/blog/vcs/how-use-unreal-engine-4-perforce

rotund bobcat
#

also checked this channel's pinned messages

pine citrus
#

will do thanks for the answers!

#

"In Helix Core, branches are done at the file hierarchy level. Your team members can pick and choose specific files to checkout and submit back into the repository. Exclusive checkouts give developers visibility into what other people are working on. And with granular permissions down to the file level, admins can keep their most important files protected. "
In perforce, you can't just branch off and do anything you want, you can only edit specific files, right?

#

and then merge it back

light surge
#

I have installed marketplace plugins to a source built engine. they work fine in editor but do not package as they are built with 4.25.0 and I am on 4.25.4. These plugins do work in launcher version 4.25.4. How can I get these plugins to package on source build and why do they work on same version from launcher?

rotund bobcat
#

I don't think this is source control related

light surge
#

oh i am in source control, lol sorry

#

i'll just let myself out

cyan jay
#

just have everyone work in the main branch

pine citrus
#

but on different files only right?

cyan jay
#

well in p4 if you follow the guide I linked then all binary files will be 'exclusive checkout' which means only one person can edit at a time

pine citrus
#

and I guess it requires the use of the same engine version

ornate willow
#

Thanks for your reply, I checked p4a, nothing is in the depot that shouldn't be. I just checked the typemap, and it's completely empty, I know I set one up initially... wtf happened.. From here, now that the typemap is set up properly, should I run p4 snap? That was what my searches brought me too, but I couldn't quite understand if it would save space or increase space in our situation

quaint obsidian
#

best way to keep merge conflicts from happening is to not use one of the generally available gitattributes out there

#

LFS messes up assets so they are unreadable until you checkout the file again if theres a conflict

#

if you use the binary merge driver in git, it keeps the files in conflicted state and checks out your own copy

#

so you can resolve the conflict in editor if you want

#

@pine citrus

#

also make sure you use the Git LFS 2 plugin which isnt built in yet

#

that will let you easily resolve merge conflicts

#

note these attributes

tranquil walrus
#

I need the help of a git expert here. We had a guy who was doing some map work. He forgot to pull changes made several days ago then went to work on the map. He realized he couldn't push or pull since there were conflicting changes. I told him to stash his map, pull and then push. Instead he went back and checked out the commit from 7 days ago and now we've got this mess sitting on his machine. The changes he made were making a new master material and material instances, so I think even with a reset those would be fine since those files weren't in the repo before. All new work. his icon is the black one. We need... I have no idea. I'm pretty sure those 1200 changes aren't all materials and material instances. Probably something else mixed in there from checking out that commit. Any ideas?

hushed granite
#

hey there ! Has anyone installed perforce server on Debian here ? Or is it much much better to do it on Ubuntu ?

hushed granite
#

I'm wondering how long is it to install and configure a perforce server

hushed granite
#

this thing looks like to be a bit old but it looks like it let you setting up a server pretty easily

cyan jay
#

there's some blog posts etc that are a bit out of date tbh and will cause you some problems

lyric pilot
#

If I change something in an already pushed asset(which is quite big one, around 50 megabyte) and push it again, dose that mean it will add a new 50 megabyte to my cloud server? I'm using Plastic SCM btw and I was wondering if it overrides it or accounts it as a new asset.(I'm relatively new to source control)

cyan jay
#

Source control means you can go back to older versions, so yes it keeps the old versions around

#

in perforce you can 'obliterate' old versions if you want to free up server disk space

woven sluice
#

In perforce you can simply set it up automatically to only keep a certain number of revisions for a certain file type... I think in plastic it's possible to somehow archive old revisions and store them elsewhere, but I've never used it

analog lodge
#

Hey...so...unfortunately I had to take a longer break after setting up Perforce for my project, so I couldn´t write up a tutorial for my team members about setting everything up on their side.

And now I´m already stuck at the very first question...
Do they even need to bother with the p4v client, or do they simply need to log into source control within Unreal with the credentials provided by me?

#

I guess they only need to use the p4v client to set up their local workspace.

woven sluice
#

Yes, they need to install perforce, unreal doesn't include it

#

You're on the right track

analog lodge
#

Yeah, makes sense. I was just hoping I could shortcut this...:)

#

And they´ll also need pv4 to fetch the initial files I suppose.

analog lodge
#

Ok, lost again...Since I only installed the full package on my pc, when I set everything up, I´m not sure if I´m missing anything now, as I want to set up a test client.

#

I just downloaded the p4v client and only installed only p4v, not PVAdmin or PVMerge.
Put in my server adress and a user I had created and I get this error messag:

#

Connect to server failed; check $P4PORT.
TCP connect to 144.91.122.138:1666 failed.
connect: 144.91.122.138:1666: WSAECONNREFUSED

#

If I try to connect via p4v on my workstation, from which I installed everything, it works.

#

I´m not on my homenetwork with the newly setup client either, so maybe its just a networking issue.

#

Any pointers would be appreciated!

woven sluice
#

If it's running on another network through a router... Port is forwarded?

analog lodge
#

I´m not at home with the laptop I´m trying to setup and to test it on another system, I just connected with my workstation at home through remote desktop, running the client there worked like a charm.

#

I´m trying a workstation at the office in a min, just need to install p4v. If it runs there as well, its a network issue at where I´m at right now.

woven sluice
#

If your home network runs through a router, and you didn't forward the port on the router, then yes that'll be your answer

analog lodge
#

Aight, seems to be a networking issue with the local network. I use a router at home and I haven´t configured any port forwarding, so no idea whats the problem here.

#

As long as my team mates don´t have the same networking issues, I´ll be fine....:)

#

Troubleshooting! Yay!

woven sluice
#

Well, you just said the problem: you haven't configured any port forwarding

#

Or do you mean you don't know how to do that - Just Google it

#

(Have to be at home to adjust your router obviously)

analog lodge
#

Well, it works on my workstation at home AND the workstation at the office. Neither of which is on a network with any portforwarding.

#

So, I think its a different issue.

woven sluice
#

oh, I thought you said you were using the office workstation by RDP'ing into your home workstation (so you were still accessing P4D locally), maybe I misunderstood

analog lodge
#

nono, just RDPing to my home workstation and starting p4v there..

#

Another quick question....There is still no way to revert an asset to a previous version, directly from within Unreal Engine, or is there? I´m talking about binaries specifically (maps for example).

woven sluice
#

so it does not work from your office workstation then right? only on your home workstation. you'll be fine, just forward your router's port when you get home.

can't answer that one, whenever I'm doing anything semi-advanced like running undos I usually prefer to just go to P4V. I doubt you can do it in the engine but not sure.

quaint obsidian
#

and there will be a revert option usually

analog lodge
#

With binaries? I just tried with a map and there was only a diff against other version option, which didn't work.
I'll check again tomorrow.

quaint obsidian
#

yeah, you can only see binaries in the content browser

#

maybe it only works on the git plugin

languid dock
#

Hi guys, Is there any repository that offers more than 10GB?

#

Currently my project is stored on Gitlab but I am running out of space

woven sluice
#

I've seen people here say Azure Devops (?) has free unlimited space for small teams, sounds too good to be true and haven't looked into it myself

merry verge
#

it does, I believe it's limited by number of people rather than space

#

there are resource throughput limits but that's not for storage space, and it takes a lot to hit those limits (you're pretty much just rate-limited for spamming certain endpoints... so just don't try to push hundreds of times in a few minutes)

languid dock
#

Thanks!

muted gulch
cyan jay
muted gulch
#

yeah switching to case-sensitive

cyan jay
#

Can I ask why? I understand case sensitive servers are not normally recommended if Windows is one of the client platforms.

muted gulch
#

I just wanted to run it as natively to Linux as possible. I don't plan on going back to windows (it was setup by someone else originally). I also don't want to pass -C1 to every argument etc etc

cyan jay
#

If anyone on your team is developing on Windows it's recommended to have case insensitive server. My team are all on Windows but server is Linux (case insensitive).

woven sluice
#

oh, what, why

#

I don't know, maybe it will work fine, but I'd worry you might have issues if someone has someFile.txt and someone else has SomeFile.txt

#

or if someone commits sOmEfIlE.txt and you rename it to SomeFile.txt then it may be possible to upload both to the server and I'm not sure what will happen when windows users try to pull both files

muted gulch
#

I guess if it becomes an issue I can always change it later. It's only my personal server so just me

mellow chasm
#

Hi, I'm trying to remove an old workspace but still can't, I have this error message "Client 'DesktopWorkspace' has files opened. To delete the client, revert any opened files and delete any pending changes first. An administrator may specify -f to force the delete of another user's client."

#

I have super admin permissions, but still can't use the -f argument

#
$ p4 client -d -f DesktopWorkspace
You don't have permission for this operation.
woven sluice
#

I don't know what the best practice advice would be but sometimes if I have to brute force my way out of crap like that I just go change the host setting of the workspace to my new/current PC, then hamfist my way around in P4V until I can set the workspace back to no changes, then delete it normally

#

easiest of course if you still have access to the actual PC with that workspace to just go revert it there

mellow chasm
#

OK, I reverted the workspace therefore I can delete it now

#

I deleted the folder without deleting the workspace so I couldn't delete it

#

By the way, is there any tips to submit only changed file without marking each file one by one ?

merry verge
#

in p4v you can use "reconcile offline work", but it's slow.
You'll have a better time if you setup whatever tools you're using to automatically add/remove/etc files from a changelist.

mellow chasm
#

But I have so many popup with "checkout" "make writeable" in Unreal. I don't understand a single thing of this

#

So I try to use the P4V soft

#

When i'm trying to open an blueprint or assets, I have some popup that scare me, I hate this type of workflow

woven sluice
#

oh. don't be scared of that

mellow chasm
#

That's annoying

woven sluice
#

use it though

mellow chasm
#

I don't know what that is for

merry verge
#

the normal workflow for perforce is you have to check-out files before editing them

#

that's all you're seeing - unreal is prompting you to check out the files

mellow chasm
#

Check out mean locking it ?

#

We don't have translation in french, or I don't find it

merry verge
#

Check-out doesn't necessarily mean lock

#

Check-out means the file is added to your default changelist

mellow chasm
#

Even if i'm not changing it ? just opening it

woven sluice
#

when you're working in P4V everything is in one of three states:
Not checked out (file will be read-only in windows and perforce believes that you are not working on it)
Checked out (file is writable in windows and perforce has it listed in a changelist for you)
Writeable (file is writable in windows, but perforce does not think you're working on it and has not added the file to a changelist)

merry verge
mellow chasm
#

Unreal thinking ? smart AI? x)

#

I found an checkbox in editor settings to check out every opening file, but I don't know if that's a good way of doing

woven sluice
#

making stuff Writeable without Checking It Out is where teams get into trouble because that enables multiple people to work on it at the same time -- the team member who made it Writeable without Checking it Out should assume that their edits will be lost when they have to overwrite their file when the other team member who properly used Check Out submits their edits

mellow chasm
#

Ok , that's why i'm out of sync sometimes, because i click on "Make writeable" instead of check out

woven sluice
#

if that doesn't make sense maybe I can explain another way

#

I use Writeable all the time if I want to make "throwaway" changes to some blueprint

#

but if you are ever making a real change you want saved, don't do it unless you check out the file properly

#

(also - I only "use writeable all the time" if another team member has it checked out - even for throwaway edits I would normally check out the file if I can, just because it make it easier to revert it later)

mellow chasm
#

But you're going to have a blueprint diff then ?

#

Your writeable version on your local, and the team member made changing that will be submit to the depot

woven sluice
#

if I do that, then when I "Get Latest" or pull changes, P4V will prompt me with something like "Warning! This local file is marked writeable and could contain unknown changes, getting latest will overwrite this file, do you wish to proceed?"

#

since I knew I was making throwaway changes and know what I'm doing this is fine to me

mellow chasm
#

OK, Do you use the control source plugin on UE4 or P4V ?

woven sluice
#

Everyone is a little different... personally, I allow UE4 prompts in editor to help me with checking stuff out. I close editor and use P4V for submitting changelists and pulling latest

#

if I know I'm going to need to check out a hundred things I might do it in P4V before opening the editor I guess but doesn't really matter

mellow chasm
#

OKK now maybe last question

#

I deleted an image/asset/file in the windows folder directly

#

How to say to perforce server that I deleted this file, because I can't see it in the Workspace now

#

Reconcile offline work ?

woven sluice
#

yep

#

it will run on whatever folder you use it on and all subfolders

mellow chasm
#

OK

#

And btw, when i'm submitting, I always have to unselect the p4ignore file

#

Is there a reason for that ?

woven sluice
#

You can specify your ignore file in your ignore file if you wish

mellow chasm
#

Is that something you do?

woven sluice
#

Yes

muted gulch
#

Yeah never make stuff writeable

#

oops

jolly fog
#

I have quick question- I am paying for git storage in github- if I remove repository that I payed storage for and if I create new repo, will I lose the storage that I payed for?

earnest hearth
#

I think you can contract GitHub support to reset your data quota in those sorts of scenarios. I recall talking to them about it before.

analog lodge
#

Hey guys, this isn´t completely source control related, but it still concerns it, so....

#

I´m still a bit fuzzy about how to work with the developer folder and imported content from megascans or marketplace.

#

I would suggest my team to only work in the developer folder for experimentation and asset testing, as that doesn´t get synced by perforce.

#

I´d also suggest to import all external content into the developer folder.

#

But I´m also supposed to fix up redirectors, after moving stuff around.

#

And I have frequently gotten erros, when testing this workflow.

#

So, lets say I import some assets into a map inside the dev folder.

#

Now I´m done experimenting with it and wanna bring it into the main content folder.

#

Do I simply copy the assets I´m using and then click "fix up redirectors"?

#

Or do I rather migrate them from the dev folder to the correct folder?

#

What are the best practices here?

cyan jay
#

You have to migrate, copy won't maintain links.
I'd suggest checking Dev folder into source control too, otherwise it will be a regular source of errors when things are accidentally referenced.

analog lodge
#

Ok, migrating inside of the same project is working then I guess.

#

I don´t think checking in dev folders is a good idea either.

#

Isn´t there a way to prevent people from referencing stuff from the developer folder?

#

I mean, lets say I wanna create a desert landscape.
Now I just import the whole megascans library with dozens of desert assets into the project. But in the end I´ll just use 3 rocks from the whole pack.
I don´t wanna then have to clean the whole project of the dozens of assets I don´t use, I just wanna migrate the 3 rocks, that are actually going to be used.

#

I got the idea from allars styleguide and he suggests to simply filter out developer folders in the content browser.

#

But of course, that doesn´t work, if you are the person working on the assets inthe developer folder and then accidentally reference them in a map in the main content folder...

#

Or...will it simply give you an error, when you´re trying to save the map in the main content folder, as it can´t check in the stuff from the dev folder...(if the dev folder is excluded from syncing in perforce)?

#

Not in front of the project right now, or I would just try this out...

acoustic fossil
#

Hi, are there those here that do version control of uassets without perforce?

#

We have our own CMS and want to know the ins and outs of managing uassets ourselves. Is there any good docs around on the topic?

woven sluice
#

it's a bit of a strange question - curious what do you use, if not one of the common solutions (git, perforce, plastic, svn)? at the end of the day content assets are just binary files, so as long as two people never work on the same file at the same time it could be safe? nervous

acoustic fossil
#

None of the above, we have a custom database. A basic question I have is: Given an asset in the Content Browser, how does UE interface with any given version control system so that one may collect the asset and all its dependencies and present them to the source control code to handle for things like checkin/checkout/diffing/etc.?

#

I realize it's a big topic 🙂

merry verge
#

The source control system doesn't really have anything to do with dependency resolution. When you save a file, the active source control plugin has an opportunity to check whether the file needs to be checked-out (or whatever the operation is for the given provider). If unreal needs to save multiple files, it'll ask the provider about each individual file. There's some extra stuff around showing the status of each file in the content browser and hooks to let you submit/view history/etc but the basic stuff is just hooking when unreal wants to save a file.

#

There may be some more complex scenarios - for example, moving a file in perforce involves a p4 integrate, but not all SCC providers require that.

acoustic fossil
#

Nice, I'll look at that. Thank you.

karmic meadow
#

(P4) Trying to set up a new workspace on a different server. Whenever I try to run p4 configure set dm.user.noautocreate=2 - it tries to run it as the user for server A. I'm trying to set it for a different workspace in a different server. How can I stop this?

karmic meadow
#

I think I got it - I had the wrong p4port cmd line set

gray cliff
#

I have gone and somehow gotten my local git repo and what the UE4Editor think exist as a Collection out-of-sync (or at least that's what I am deducing from the symptoms). Can someone help me get rid of this crap?

So, I was messing around in my Content Browser and I noticed a feature that I'd never used before: Collections. I thought it sounded potentially useful, so I created one (a shared one) without knowing anything about it, and tried to add a directory to it (my first guess was that it was a collection of symlinks... apparently no it's not). From that point onward, I have neither been able to actually add anything to it nor delete it, and now it remains as this:

#

when I open up a shell window at the project root and enter git status, there is nothing listed anywhere that references it.

#

so I don't think that it was actually added to git

#

but it certainly seems that the problem (the reason why I can't delete it) is tied to git somehow.

#

Hence why I am posting this #here

#

I get the exact same error message as before when I try to change its type to Local:

#

When I hit Refresh, nothing happens. No log message; no nothin.

#

I have tried closing the editor, rebuilding the project; it still remains as a zombie in my Content Browser...

#

Last thing I thought of that I haven't tried: build clean && build. Here goes...

gray cliff
#

Synced up my local git. Just pushed it to my remote as well. git status returns 0.

#

But it's still there

#

Yay! I found it. It was in Content/Collections/ lol.

#

Exit editor.
rm -f Content/Collections/EngineCommon.collection
Relaunch editor.
Collection gone!

#

🥳

analog lodge
#

heya, so, I´ve been struggling with this all of yesterday and I can´t find a solution I really like.
Working on a shortfilm project, a lot of the ways to source control isn´t really what we want/need.

Here is the issue:
lets say, "Bill" works on an environment used in that shortfilm named "Desert".
He creates a folder insider the projects content folder named "Desert".
Now he starts importing assets he precreated, but imports a content pack for deserts with 50gb worth of photogrammetry assets (hey, quixel).
Now he starts playing around, trying to find great compositions, trying out assets, creating materials and all that shit.
After a month or so, that folder is now 200 gb big, but he only uses 5 rocks from that huge desert pack he imported and wants to clean up the project.
If all of this wasn´t source controlled...he would now simply migrate the level to a clean project and then maybe remigrate that back to the old file.
But they are using perforce for source control, every single file from those huge packs were checked in.
So now, if he would just remigrate the "cleaned up" level, he would also still have to have a perforce admin go down and delete/obliterate every single rock from that desert pack, that has NOT been used.

How would you deal with this use case scenario?

#

my ideas so far:

A) Create an "Assets" folder and a "temp_assets" folder inside of the "Desert" folder.
B) import/migrate all the outside stuff first into the "temp_assets" folder. Once the level is ready to be used in production, simply copy over all the assets from the" temp_assets" folder, that are being used, to the "assets" folder and click on "fix up redirectors".
C) There still needs to be clean up to be done, but at least all the stuff that needs to be cleaned up, hopefully can be deleted/obliterated, by just deleting the "temp_assets" folder.
Or is there a way to show all unused assets and delete them this way?

Originally I was intending to use the "developers " folder for that process, but its excluded from source control, so that just led to issues when testing it.

#

I feel like there should be a simpler solution and I´m just overthinking it...

cyan jay
#

If you're really set on this developers folder idea then perhaps writing some validation that walks the entire level and checks nothing is cross referenced from the 'main' folder is a good idea.

#

What I try to encourage for situations like you describe is actually prototype in a separate project that is not in source control.
When they are happy they can Migrate a level from dev project to the main project and that will bring all dependencies.

#

Or you can wing it and hope your art team is diligent, but sounds like you have struggled with that already?

analog lodge
#

Well...I have struggled it with it myself and I figure I might be the most tech savvy of our artists...:)

#

I´m not set on the developer folder, I was just following Allars blog and that obviously points to more code related stuff.

#

In fact, the more I think of it, the less I like it and the more I tend toward a more "brute force" approach.

#

Just import all the assets directly into the environment folders for each level.
That might me an initial submit of way more assets than we will need in the end, but on the other hand, there is no chance of breaking references easily and we have revision history from the beginnin til the end.
Because if they start working in outside projects, they could just fck it up locally, or they might just leave the project, without ever submitting anything useful to the main depot (which tends to happen with these online collaborations).

#

At some point, wether because I´m getting OCD from all the chaos, or wether we actually run out of storage space on our remote server, some poor "cleanup-monkey" will still have to go through all these assets and delete/obliterate any redundancies.

#

Apparently there is still no simple solution to just filter for unused assets in Unreal, which would make this process a lot easier.

#

Everywhere I looked they just said "migrate to clean project and then migrate back in", which seems fine for any local stored projects, but like a nightmare for something that is source controlled by perforce...

#

Unless...This plugin here actually works.
Only 3 reviews, seems weird for something that seems so useful/basic for me...

#

Yeah, well, unless someone can tell me, wether its actually not a big deal to clean up a map/project via migrating it back and forth using source control, this might become a bit off topic now.

#

...also there already is a filter in Unreal "Not used in any level"...not sure what the plugin would be useful then...

ornate willow
#

any hosting recommendations for Brazil? digital ocean, vultr, linode, nobody has datacenters near there

vast orchid
ornate willow
umbral dew
#

Anyone good with Perforce able to help me with a problem with locked files? I am trying to unlock a file using p4 unlock -f but it says that it is not opened in that changelist. How can I find the changelist it is open in (I don't think there is one) and how can I unlocked it?

cyan jay
cyan jay
cyan jay
#

if it shows anything with *orphaned* then you can unlock as admin by running p4 -c WORKSPACE unlock -f -x //depot/path_to_asset
replace WORKSPACE with the workspace the file is locked under

umbral dew
#

Thank you for that. I will try ASAP.

cyan jay
#

nps I have used perforce for ~15 years and until recently I never saw this problem.
According to perforce support it should only happen in certain cases with Edge servers etc, but we have a simple setup with a single server on AWS, but one of my devs has had this problem 4 or 5 times in the past year.
In my opinion it's related to shelving, but it is so rare we never managed to track it down exactly.

chilly frost
#

I was wondering if anyone knows why some people if they are building plugins sent to them through source control just cant build them, no matter how often we reinstall visual studio and all necessary extension for it.

Am I missing additional dependencies? Because for 95% of my team we never encounter that issue, but by two ppl basically. And consistently 😄

rotund bobcat
#

what kind of errors do they get when building them

chilly frost
#

non

#

immediatly goes to unable to build, go build from source

#

its litterally a blip, cant even read the logs

chilly frost
#

didnt change a thing

woven sluice
#

what are you/they looking at that only shows "a blip" ?

chilly frost
woven sluice
#

Get them to run build "properly" in visual studio

#

See what it does

chilly frost
woven sluice
#

hm, no coders on your team?

#

right click on uproject, click generate solution files. Open the .sln file in visual studio, build. it's going to be confusing if nobody has ever actually opened visual studio before :\

#

also I think sometimes these errors might be caused by things like using mismatching engine/plugin versions or things like that

chilly frost
#

we all have the same unreal AND vs version installed

#

plugins are latest 🙂

chilly frost
#

And thanks for the help btw 🙂

rotund bobcat
#

anyone know what ballpark pricing differences are between PlastiSCM and Perforce?

cyan jay
#

depends on many things - they never make it easy 🙂
Don't know about Plastic, but p4 is free for 5 users and as soon as you exceed that you start paying ~$30 per month per user I think

#

so that 6th person makes the whole thing VERY expensive

#

depending on your circumstances of course

#

if you're paying an engineer $10k per month then an extra $30 is not a problem 🙂

rotund bobcat
#

well shit, I'd love to make 10k a month lol, unfortunately don't live in the muricas, but thanks for the info

foggy niche
#

I am trying to organize my folder structure... do you usually keep your materials in a dedicated materials folder or just next to the mesh that uses said material? 🤔

merry verge
#

I suggest looking at http://ue4.style
tldr: use prefixes, don't use asset-type-specific-folders

foggy niche
#

I come from that website, where it has a "MaterialLibrary" folder 🤣

merry verge
#

right, and specifically it says that you should be putting things like master materials, widely-used material functions, etc there. But if something is specific to a model it probably belongs with the model.

arctic minnow
#

in gitbash, i went to git commit . and i get this prompt, how do i send it out? using the enter button only adds carriage returns...

languid escarp
#

:wq! then enter

arctic minnow
languid escarp
#

hit escape first

#

since you're in --INSERT-- mode

arctic minnow
#

ah finally

#

ty

languid escarp
#

it's called vim btw, the text editor

#

but there's guis for git, you shouldn't really be using the cmd line

#

try smartgit, it's great and free

arctic minnow
#

is there a way to shelve conflicts? >.>

#

i just wanna pull

#

the asset i want to stash needs merge

#

yeah, i don't even want merge, just delete mine...

languid escarp
#

or smartgit

#

I've found sourcetree to be horribly slow

#

don't know why I've stuck w/ it for 3 years but then I've found smartgit and the world's a better place

#

</ad>

arctic minnow
#

nah even when reset cannot progress further

#

i reset, then stash, then pull

#

no, its closed

#

how do i do that?

#

and then waht?

#

can i just delete my folder and pull as if a new user?

#

ugh, gitlab used to give out the commands to do that when you create the project... no clue where they put them afterwards

#

i am getting old

#

i've had to go through maybe 5 different git GUIs and then the command prompt and each time easy operations are blocked to the users

analog lodge
#

Not strictly source related, but I recently ran an issue with a map, where the lighting didn´t seem to be checked in: After every restart, it kept resetting, even though the revision history showed that it had been correctly checked in.
Took me a while to realize, that I had used the "sun&sky" blueprint from the editor, which apparently is located in the engine content folder, which was not included in source control...
So, my question would be:

#

How do I avoid this? Or rather: How do I filter out all engine content, not just from the content browser, but als from the editor menus?

#

And how do I use the sun&sky actor correctly in a source controlled scene? Can I just migrate it out and remigrate it, so its in the source controlled part of the project?

cyan jay
#

Well, specifically the problem comes about when someone changes content in the Engine folder.
I don't think there's a good solution for that other than checking Engine folder into source control.
You can set Engine Content to read-only then at least users will get a warning about it.

quaint obsidian
#

@arctic minnow just do

git fetch
git reset --hard origin/master

#

that will reset you to the latest changes

arctic minnow
#

i ended up cloning it again

#

we had both worked on the same actor and i personally only added a reroute node

#

so i lost nothing

#

but ty for the response

analog lodge
#

Ideally the team should really just filter out the engine content and only use whats in the shared folder of the project.

cyan jay
#

sure, if you want to modify it you need to migrate into your own project first. Just pointing out it's not always clear when content is from Engine not own folder, especially when you're using lots of content packs anyway.

analog lodge
#

Hm. Yeah. Damn content packs....thats a good point. I´ll have to sleep on that...

#

Does that really happen? Content packs referencing engine content? Should they not be migrated out of a clean project, hence eliminating any original references to any engine content assets?

cyan jay
#

not necessarily, I just mean content packs tends to lead to content all over the place and it's easy to accidentally reference engine asset

analog lodge
#

Also...unrelated question...
When using perforce, I will see any changes to existing assets in Unreal engine directly, without the need to ever touch the P4V client.
But newly added assets will only show up in the P4V client, so basically, before working on anything, my team would always need to check via P4V if there is any new content.

#

Is there no way to do that check directly from within Unreal Engine, or did I just miss that?

cyan jay
#

not that I know of, but maybe 🤷

analog lodge
#

AIght, I´ll keep looking...

cyan jay
analog lodge
#

Damn. That should be a built in feature...:)

cyan jay
#

I don't think so when you realise all the ways in which it can go wrong!
That's why Epic built Unreal GameSync

analog lodge
#

Hm, don´t quite get it. Is it another service like perforce, or just another GUI to use with something like perforce?

#

I come from a film making background, so alot of the source control specific ideas don´t necessarily follow the game engine logic.
There is probably gonna be more changes coming to that area, as the engine expands into these ares more (like VP for Mandalorian stuff).

cyan jay
#

UGS is a GUI for perforce that Epic made to simplify workflow for them. It's complicated to setup tho.

jolly fog
#

Is there any recommended gitignore for UE4 C++ project?

jolly fog
#

Ty

kind laurel
#

I use Perforce. Every time I open my project in VS, I get the following error from Helix: "You do not have the latest revision of the solution file." It prompts me to Get Latest, Don't Get Latest, or Cancel. If I click Get Latest, it moves forward and everything works fine. But why does it keep doing this?

cyan jay
#

You should not checkin sln file for Unreal, they are generated locally. Look for Unreal p4ignore file.

jolly fog
#

Hello guys, I use github with my collaborator and we pay for 100gb storage, we have this for now

#

but he can't push update

#

cus he gets this error

merry verge
#

You're hitting a file size limit. I believe github has a limit of 2GB per file with LFS

#

I take that back, it depends on the github plan

sturdy lake
#

@jolly fog Is your repository set up to use LFS?

jolly fog
#

yeah, it uses lfs, it is installed, git too

#

@merry verge

rotund bobcat
#

have you set up your .gitattributes correctly

jolly fog
#

I am not sure

#

I set the git ignore

#

@rotund bobcat

rotund bobcat
#

that's something different

#

gitignore is for what to add to source control

jolly fog
#

okay

rotund bobcat
#

git attributes is what needs to to go in LFS

jolly fog
#

so what is gitattributes

rotund bobcat
#

so you're probably just still pushing everything to your repo instead of lfs

jolly fog
#

idk

rotund bobcat
#

a file like that should be in your repo

jolly fog
#

I have yes

#

but the content is not this that you sent me

quaint obsidian
#

@jolly fog did you add lfs later in your project? if so you need to migrate all assets to LFS

rotund bobcat
#

yeah that's a pain in the ass tbh

#

especially the rewriting the history part to make sure your lfs files are no longer in the repo

pseudo osprey
#

"git lfs" does that for you no?

#

yeah the "git lfs migrate" tool is there for that!

jolly fog
#

idk more info about it

#

Also I will be charged on 26 january for the space, I want to pay it today because I want my collaborator to push the update-is there a way today to pay the bill not on 26th?

mystic sparrow
#

For perforce, is it problematic if I sync an older revision, then copy back files from a manual backup that was made from a later revision, then continue working and commit a new change after a while?

#
  1. Sync to older revision
  2. Delete all files
  3. Copy back manual backup of latest revision (newer than revision in point 1)
  4. Continue work
#

In other words, does it track the currently active revision, causing a detached HEAD with the steps above?

versed forge
#

@jolly fog with that price/month you should just try self hosting git with gitea + lfs.

haughty belfry
#

When setting up Perforce with Digital Ocean, is the connection unencrypted (unlike GIT via SSH) by default? If so, anyone know how to secure it?

graceful blade
#

Hello,
On Perforce, do you guys know if its possible to import+ a stream into multiple folders in another? I wanted something like this in my stream map

share...
import+ ProjectA/Plugins/... //Plugins/main/...
import+ Projectb/Plugins/... //Plugins/main/...
brazen urchin
#

how can i add 3rd party cpp code? which is not created inside ue?

cyan jay
#

but it depends on how you setup perforce in the first place

limber vigil
#

Hello , how to push my map file which is 181.58 MB in github

#

the size limit is 100 MB

merry verge
#

Use lfs

haughty belfry
#

@cyan jay Cheers, will give it a go

limber vigil
#

@merry verge i have lfs installed and i did "git lfs track *"

#

but the push is rejected

merry verge
#

if you committed binary assets before using lfs you need to migrate them

limber vigil
#

thx i m trying this

versed forge
#

@jolly fog

  1. Get your self a server. VPS will do just fine.
  2. Gather some basic linux knowledge.
  3. Follow steps here to install docker and gitea. https://www.stevestreeting.com/2020/08/09/my-ue4-vcs-setup---gitea---git---lfs---locking/
#

if you need any recommendations bout vps providers, send me pm

verbal elk
#

stop DM'ing people @jolly fog

#

with ur advertisement

remote cypress
#

Hey I’m looking to pay someone with experience in working with ue4 & GIT to help set up version control & GIT for a couple indie devs. I’m having trouble collaboration with some friends, any help would be appreciated. And preferably can walk us through a good process for pushing changes. Thanks!

gentle pond
#

Hi,
Our team of 12 programmers and 9 artists -- all college students -- just moved from Git to Perforce. We extensively used branching in git but the lack of LFS made work pretty miserable. Yeah, we've been using git without LFS for 8+ months. hidethepain

Now we're in Perforce and have a "classical" depot set up. I've been trying to figure out how our workflow would translate from git to perforce and I'm really struggling to wrap my head around branching. I've been reading about streams, and they seem a lot like git branches we're familiar with, but I feel like I don't know enough to make a workflow decision that will affect everyone on the team. We've been having so many issues with VCS over the past year, it's exhausting.

What kind of workflow and depot setup (streams vs regular) would you recommend for a group of students trying to keep things relatively straight-forward so we can finally focus on developing our game? Please help me end this agony of fighting VCS 🙏🏽

woven sluice
#

You guys have the ~$9K per year right?

#

😭

#

The short answers are 1) you shouldn't use branching unless you really, really know what you're doing, and 2) streams vs classic is a lot of opinion but I think most people who move to streams find them really nice. They're good if you need to merge stuff from multiple depots, set up continuous integration systems, and give more power for a single perforce admin to manage users' project views

gentle pond
# woven sluice You guys have the ~$9K per year right?

our school got a free educational license for us (after we bombarded the administration with emails for 9 months -- yay bureaucracy).

I doubt we'll have the time to set up all the fancy bells and whistles -- this whole move from git to perforce is already putting us behind. ThinkConfused But how do 21 people work on a single project without branching? It seems kinda scary, ngl..

woven sluice
#

Make sure coders don't submit code that doesn't compile, and fix it immediately if they ever do. That's just about the only issue

cyan jay
#

Definitely don't branch, the best thing I can suggest is keep the changes as small and self contained as possible, and use Shelving and multiple changelists to keep stashed versions if you're working in something big.

merry verge
#

Seconding (thirding?) that you shouldn't really branch with perforce the way you do with git, and for a small student team you should probably just avoid it altogether. And if you're not branching then stream vs classic depot doesn't really matter, though streams are probably "better" if you want to look into branching at all.
One very important thing you should do - setup locks for asset files. Any unreal binary asset (umap, uasset, a few others im probably missing) or other binary source file should be marked as binary+l which will automatically lock the file so that no one else can edit it if you check it out.
There are some details here: https://docs.unrealengine.com/en-US/ProductionPipelines/SourceControl/Perforce/#p4typemap

woven sluice
#

With streams it becomes trivial for the perforce admin (you) to set up coder workspaces and artist workspaces which appropriately include/exclude binaries and/or cpp source. It's quite complicated to learn, be prepared to put your horse blinders on and research/study/experiment

#

Perforce in general I mean

#

I have a coder virtual stream, and a buildbot virtual stream... Artists just work in the main stream which has everything, the buildbot only has code source files and binaries, and coders have everything except binaries

#

What you do depends if your artists are all compiling code themselves or not

#

A long time ago I just made a batch file they could run that compiled everything, they just had to have VS installed but more recently now I'm using CI

#

also that typemap lets you set how many versions your server stores of each file type

haughty belfry
#

@cyan jay Many thanks for the link on setting up an encrypted connection for Perforce a couple days back. Managed to get it working. No more plain text connection to our source control server!

merry crest
#
ts(4187,5): error MSB3021: Unable to copy file "obj\Development\UnrealBuildTool.exe" to "..\..\..\Binaries\DotNET\Unrea
lBuildTool.exe". Access to the path '..\..\..\Binaries\DotNET\UnrealBuildTool.exe' is denied. [F:\4.26 Source\UnrealEng
ine\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]```
#

I get this error

#

when trying to generate project files

#

for some reasonm

#

this is for 4.26 source

#

nevermind

#

it was because of avast anti-virus

versed forge
#

@remote cypress I can help you with gitea+git+git lfs setup

ivory sentinel
#

Hi. Brand new to UE. I need to point the build system at a different C++ compiler, but keep using a default C compiler. How would I do this? LinuxToolChain.cs seems to only point at clang or gcc paths, and doesn't distinguish between C or C++.

tender fox
#

noob Perforce question:
Is it better to work with one Workspace and depot-per-project or workspace-per-project?

cyan jay
#

Depot per project is most common. Workspace is per user per machine, each user has a unique workspace referencing the shared depot.

tender fox
#

But I can create more then one workspace on a single machine. Does this has any benefits? Will it cause problems?

cyan jay
#

The question is - why would you want to? What is it you want to do?

#

If you want 2 copies of your project in 2 places on your machine, then yes 2x workspaces is the way to do that.

tender fox
#

I just want to understand what’s the best workflow is. Ultimately I want all my projects under the same /projects/ folder. So I guess 1 workspace with multiple depots?

cyan jay
#

Are you working with custom engine source?

#

it gets a bit more complicated if you want to use shared engine source, but if you're just using the Launcher version then you should have 1 depot per project.

tender fox
#

Thank you noggs!

queen mulch
#

quick question on git merging: If the requesting merging branch has files that were deleted on the target branch (via another PR), does the merge then bring them back to life?

merry verge
zenith fractal
#

Hi all, I just initialized a git repo in my existing UE4 project and my .umap and .uasset files are no longer showing in the content browser. Does anyone know what I can do?

merry verge
lime nova
#

hello. i just lost a file and i'm going to have to spend some time recreating the blueprint because i don't have source control. so i figure it is time to get a source control solution. i'm really annoyed at my source control options because they're mostly all too expensive. i have a Vendor folder that is the biggest folder and it's mostly just filled with marketplace assets, so i can add that folder to an ignore list. what source control do you all recommend? i'm an indie dev already paying a ton of money in other areas, so i want to be frugal here

cyan jay
#

You need to manage backups yourself though.

hushed granite
#

@lime nova well same here. I have a home server under Ubuntu and I'm trying to install the Perforce Helix Core server on It. That's the cheapest thing you can do. And you cannot beat Perforce Helix in term of integration with UE4, even with Git LFS I don't want to use it

#

If you don't want to setup everything yourself you can go with Assembla but you'll have to pay for this and to me it's not cheap at all when you see the storage you can get. So yeah we're in the same situation

#

anyway. Has anyone installed Perforce Helix Core server on Linux ? when I start p4d I only get this :

#

also i'm wondering if I can create stream depot directly from P4V GUI in windows or must I setup this directly on the p4d server (which looks to be more cumbersome)

#

I really need streams

hushed granite
#

I may add that Allar made a script a long time ago for auto setup but it's for an old p4d version

hushed granite
#

okay there's something wierd. I don't know if using p4d command alone is enough to start the server with my settings :
with p4d -h we get :

    set, the server creates its database files in the current directory
    and listens for client connections on port 1666 on all available
    network interfaces.```
I have set the P4Root and P4Port variable. will p4d alone use those variables I configured or it'll still use the default 1666 port and P4ROOT like implied on this page ? 
https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.unix.start.html?Highlight=start%20server
cyan jay
#

What method did you use to install p4 server?

#

Sorry just noticed the link you pasted. If you used the package install, and have run configure-helix-p4d.sh to setup the server, then you use p4dctl to start/stop the server.

#

If you did the non package version then I can't help you sorry.

hushed granite
#

I used the package install

cyan jay
#

so don't invoke p4d directly

hushed granite
#

oh ok

#

didn't knew about p4dctl

hushed granite
#

oh man I think you come right from heaven

cyan jay
#

package version is great, but be careful updating via apt-get, sometimes server is upgraded and doesn't work until you run a cmd line conversion tool. Found out the hard way after updating and not reading the output properly.

hushed granite
#

I think I won't even try to update it then x)

cyan jay
#

that would be safest 😂

#

or backup your VM first just in-case

hushed granite
#

I do regular snapashot of my VM and that's been very useful, tried several attemps installing it and broke it many times 😆

woven sluice
#

@hushed granite you use P4A to create depots remotely

#

In case it helps here's my copy pasta I use to launch my own server. You can look up the options ./p4d -d -In p4master -p 1944 -r /opt/perforce/servers/p4master

#

At least I think that's the right one. Haven't restarted it in eons lol

hushed granite
#

@cyan jay I think if we manage to do a clean and safe setup (i'm also trying using ssl and LDAP) then tutorial video on P4D setup on Ubuntu may be useful for other devs right ?

cyan jay
#

idk, the problem is those things get out of date so quick 🤷

woven sluice
#

Oh, yeah I can't remember if I used package or not - I just followed the official doc on it from a couple years ago

cyan jay
#

allars blog for instance, useful and is one of the top hits for setting up perforce, but actually is quite out of date now

#

So maybe there is room for a simple tutorial that does both these things? 🙂

woven sluice
#

I don't think you need to use p4dctl though, isn't that for controlling multiple servers

hushed granite
#

nice @woven sluice and thanks for the command. I see that you use type the port you're using in your command. Is it because you have not set $P4PORT ?

woven sluice
#

Yeah I simply prefer to set it while running the program instead of relying on some gvar

cyan jay
#

you should use p4dctl to control your server if you setup via package install

#

yes it can control multiple servers, but also fine for just one 🙂

hushed granite
#

@cyan jay I feel the same Allars blog has been really helpful but yeah it's an old post. I went to read most of the doc here :
https://www.perforce.com/manuals/p4sag/Content/P4SAG/Home-p4sag.html#
but I think a vidoe with all the process may be easier. Took me some long minutes to even get how to modify configurables and how to use another text editor than VM. Okay gonna use p4dctl

woven sluice
#

What benefit does it offer? Where do the docs say this? (I would Google but on phone atm)

hushed granite
#

the doc for it :

#

it say that "The installation process automatically creates a master configuration file l"

cyan jay
#

The environment is setup for p4dctl config, so if you invoke directly you need to replicate your environment.
Running directly will still work, but you potentially have different env settings than you originally configured via configure-helix-p4d.sh
Really it all depends how you have setup your server.
If you use package version then you should run this config script and use p4dctl to manage it

hushed granite
#

omfg maybe I should have start reading the doc from the bottom up

#

ok that's some nice info

cyan jay
#

p4dctl status -a will list all perforce server instance you have configured, e.g.

root@perforce:~# p4dctl status -a
'master' p4d service is running.
#

then I can do p4dctl stop master etc

woven sluice
#

Thanks

cyan jay
#

package version also enables some cool stuff by default too - nightly checkpoints for example

#

useful for backups

hushed granite
#

nice thanks for the tips 😉

#

I'm gonna try it

burnt shadow
#

thats it

#

I might have to take down that tutorial

cyan jay
#

🙂 no offence intended @burnt shadow - in fact the indepth provisioning details is good

cobalt viper
#

anyone here have an opinion on git lfs vs preforce

merry verge
#

Unfortunately it's not really a simple answer, primarily because it depends on your requirements.
perforce is better, no question, but... You have to know how to host it (assembla is the only cloud hosting service for it and it's $$), and if you have > 5 team members it's $$$.
Git lfs is good enough in most cases, but has less artist-friendly tooling and isn't quite designed for the workflows usually used by games.

#

Hosting provider also drastically changes your LFS experience, as every single one has different restrictions on size/bandwidth/etc.

quaint obsidian
#

Git & Git LFS is pog champ

dawn root
#

How long does it normally take you guys to run Source Control -> Submit To Source Control with Git? It takes me around ~2-3 minutes every time, it feels very bogged down. I'm contemplating turning off the plugin and just using Git for Desktop since it detects changes instantly, but if this isn't supposed to be the case that'd be great.

jolly fog
#

Hi. I have a server for my source control collaboration with friend. But idk how to setup perforce on it and invite friend to workspace. If someone can help, ping please!!

remote cypress
#

Yo guys im a bit new to GIT & combing it with unreal. I started to get the hang of it, but now am having trouble because it says my updates are multiple commits behind

#

Pretty much messed up my git bad for me and my buddies, if anyone could assist on a restore to an older point and help solve some issues I'd be more than greatful to pay for some of your time (20minj)

hushed granite
#

Yeah Allar's blog is still very usefull to have a better grasp of the process

#

@jolly fog That's exactly what I'm trying to achieve. noggs advised me to use p4dctl see here :

#

I'll let you know what's up. I have a VM specifically for Perforce. It runs an Ubuntu Focal LTS, I think it's one of the easiest distro to install the necessary package easily

hushed granite
#

@cyan jay I can't use "p4dctl -a" to start the server because of this error :

#

just to try out I went on the insecure way and I gave full permission to everyone on the folder using chmod (chmod 777) and umask or default files (umask 000). It doesn't solve the issue

cyan jay
#

I don't remember any issue like that... I use 18.04LTS but I wouldn't expect that to make a difference.

cyan jay
hushed granite
#

just tried

#

same issue

hushed granite
#

Gonna try some more things if that doesn't work I'll reach out the support team

idle light
#

So me and a friend of mine have recently decided to learn UE4, and try to create a project together on the side. Things are going well, and we're really happy with the progress we've made so far but our workflow is extremely inconvenient at the moment, since only one of us can edit the project at one time, otherwise github just tells us there's a conflict and we cant really do anything about it, even if we've worked on completely separate parts of the project. Is there some kind of way to avoid these issues, so that we can work on the project at the same time, even if it's just us working on different parts within the same project, without hiring a dedicated server ?

merry verge
#

setup git lfs and locking

quaint obsidian
#

itll take around 10 seconds at most for the full process

dawn root
#

@quaint obsidian yeah it's way better, thanks

harsh holly
#

So I have a few questions about setting up UnrealGameSync. Does UGS handle the precompiled binaries for the engine as well as your game projects? If so, should the engine binaries be excluded from perforce?

tiny ore
#

Do we agree that Derived Data Cache is not mandatory to share a build engine ?

#

What i mean is : what is the utility of DDC ? it's reduce first opening time ? it's shader compiled ? i can share my custom engine without ?

bitter sun
#

k:\P5\New folder... - file(s) not on client.
Anyone had this issue with P4V before?

cyan jay
bitter sun
mental void
#

Can I somehow update the whole perforce depot with my current version?

past flare
#

Hi, could anyone explain how to diff blueprints from Perforce?

hushed granite
#

@cyan jay hey man. Do you have any idea what's going on with the permission issue ? Do you think that with a umask 000 it must work right ?

jolly fog
#

Heya, is anyone here using Nvidia Omniverse for their project?

cyan jay
cyan jay
cyan jay
mental void
#

@cyan jay is there anything bad that could happen?

#

Anyone ever used Reconcile offline work?

cyan jay
#

yeah it's fine, nothing actually happens until you submit.
But I always like to double check everything it proposes in case some things slip in there that I didn't mean to.
e.g. if your p4ignore is not setup properly you might end up committing a bunch of intermediate files, etc.

#

I encourage my artists to use it on the Content folder periodically, or if any missing links occur

quaint obsidian
woven sluice
hushed granite
#

@cyan jay this Perforce folder is inside my main user /home folder. Mmmmh maybe that's a bad practice ? Even more thinking about that as we're talking about a user accessing a folder from another user

#

that's what I have in my config file :

cyan jay
#

Yeah you want p4 root not in the home directory probably

hushed granite
#

ok gonna change that noggs

#

with man p4dctl.conf they say you can even set the umask inside the config file and that it should be 077

hushed granite
#

@cyan jay yeah man you were right, I moved the P4ROOT to /opt/perforce/myrepo

past flare
hushed granite
#

noggs 1 thousand thanks for your advice with p4dctl and all the things that comes with it. I'm having a 255 status code I think it's just related to SSL and/or authentication as I haven't set anything regarding this yet. I have a question tho : after finishing this setup with p4dctl can I create a stream directly from P4V on windows (and eventually make some configuration with P4Admin) ? Or will I have to setup all this from the server (there's nothing regarding streams in any of my config files afaik)

tranquil walrus
#

is it possible to set git up so that it only uses the remote repository to track files and doesn't keep a local copy?

rotund bobcat
#

how would that work

#

just load your project from the cloud or something?

#

that would be strange

past flare
harsh holly
#

So I finally got UnrealGameSync working with my project. The only issue I'm encountering now is that all my custom plugins throw the Plugin is not compatible with the current engine version warning. Do I need to do anything special with custom plugins to prevent this?

#

Hmm it looks like if I just remove the EngineVersion from the .uplugin files, the warning goes away...not sure if that's good practice or not though

outer kiln
#

having no luck with perforce and wondering if directions are a bit 'off', anyone else having any luck with it ?

#

I already set console variables as directed, but clicking perforce on source control button in UE4 UI, and it can't connect TO it

#

ie: Click the source control button.
Select change source control settings.
Drop down the provider menu and choose Perforce.
Click accept settings.

#

nadda

#

Failed to connect to source control. Check your settings and connection then try again.

outer kiln
#

So I think I'm on the right page now, but now, given Im creating world comp worlds, landscapes and materials blah, is it enough just to add 'Content' DIR and call it good ?

#

ya seems to, going for it lol

cobalt viper
#

Tbh if your team is like 2-3 people google drive might not be terrible since most of the other source control options can take some time to setup

outer kiln
#

I keep getting this error:"You should set your workspace up to map to a directory at or above the project's directory.
, but why does it have to got here, I thought I could put workspace anywhere I wanted to, like on another drive where there is room ?

#

yA tell me about it perforvce, svn plastic they are all a nightmare to setup

#

you'd think by now the process might be more straight fwd ;0-

#

Google drive sounds like it would be slow though , many of them are,,,is using GD 'easy/easier' to setup with ue4 for SC ?

hushed granite
#

@outer kiln I'm currently working on setting up a perforce server on a dedicated machine and it's quite painful. If I get it right I'll do a tutorial video

outer kiln
#

ahhh wow ty how nice, ok good luck then ;))))))

#

I wondered if it was just me, guess its just not easy---

#

I just have this computer tho and maybe git/github so dunno, but anyway any info is good ;))))

quaint obsidian
#

good use of the decentralized nature of git :)

outer kiln
#

I tried git/gitdesktop, but I got nowhere even using doc page which is REALLY OUTdated 😉 many are!!

#

err github I mean

hushed granite
#

haven't watched it but I really recommend LFS for git or things will broke pretty quickly, make sure he uses it

outer kiln
#

lfs ?

#

too bad git is still beta ish afa epic is concerned

#

as in SC

#

linux from scratch ?

#

LOL large file storage ;0-0

#

haha

#

geekdom fully verified ;l0-0

#

HM interesting ty for lfs mention

outer kiln
#

Finally got source controll working ;))))yaaa RELIEFFF

#

git/github and followed this in caSE it helps anyone else https://www.youtube.com/watch?v=FXMTHrLWFKQ

Source / Version Control:
This playlist will cover multiple ways to work with source control with UE4.

This Video:
In this video, we cover all of the steps required to get a GitHub repository and the Git desktop app working with the Unreal Engine. As an extra, I also cover setting up the in engine support of Git for quick and easy integration ...

▶ Play video
#

oops double post sorry just noticed,,anyway---

hushed granite
#

@outer kiln nice ! same with perforce atm. tell me if your satisfied with git LFS in the future

outer kiln
#

ok will do, ty ;))

#

ah man I so gave up on perforce, watched too many tuts never got anywhere , so frustrating

#

one video with github/git and bam instant success FIRST time ;0-0

#

I wish you much luck getting perforce working, its default

hushed granite
#

well noggs was right. You have to use p4dctl to install it. that wouldn't take much time to install perforce after you do it once

outer kiln
#

no idea who noggs is, guess I missed that one

#

but HMM

#

Ya I really tried, hoped I could use it as its what epic uses so iit can't be all bad lol ;))

#

so whats the rub behind p4dctl anyway ?

#

I mean whats the magic :))

#

wait I did have that installed, still couldn't get past darn error about something being in wrong directory

#

I mean gez, if something is THAT good , why isn't it easier to use so everybody can try

#

use/install whatever ;)()

#

anyway

#

I think that was it anyway, I downloaded what was recommended for small teams

#

HMM wth: p4dctl can only be obtained as part of a Linux package installation.

#

I'm bored maybe I try it 'again' o_-

quiet grotto
#

I did git add . and git commit before adding the gitignore file, and the files in the gitignore are still trying to be pushed, how do I fix that?

quiet grotto
#

thanks, I saw a similar answer but I had to ask I didn't want to mess up

bleak mountain
#

Does anyone know how to make P4V not set important files to Read only? (some files like C++ classes, and files in the Intermediate folder, which causes errors)

surreal escarp
#

Don’t think you’re supposed to have the intermediate folder in source control anyhow

bleak mountain
#

nvm fixed it

rotund bobcat
#

yeah don't put the intermediate in source control

visual storm
#

Hey ! Does anyone know how to have perforce not ignore paid for plugins (in the installed section) while still ignoring the rest ? Thanks ^^

indigo relic
#

anyone know how to clean a git repo of untracked files but keep dependencies so I dont have to download them again?

surreal escarp
visual storm
#

That's the thing, I don't have a "plugins" folder. I have them attached to the engine and to the version but not to the project itself

cyan jay
#

Move them into a Plugins folder of the project instead (some plugins dont like this and may require changes)

hushed granite
#

@outer kiln if you want we can set up a call and you share you screen

#

And I'll try to helpout

coarse coral
#

Having an issue with P4v hanging on almost every command after I did a "make writable" through the p4 unreal editor plugin for a map that was locked by someone else. Restarted my machine, tried p4 clean(Clean hangs indefinitely). Tried running the command line instead(still hangs indefinitely), server connection is fine. Server is not stalled it seems. Get Latest Revision seems to be the only thing that didn't hang. Submit, Move to new changelist, reconcile, clean, revert commands all hang in both P4v, unreal or command line for this workspace. Different Workspace works fine tho...so somehow my workspace seems to have gotten hosed?

merry verge
#

try to force-sync your workspace - it'll redownload everything.
It's possible the havedb is screwed up and the server doesn't know what revision of files you have in your workspace - force syncing might fix it.

#

in general marking something as writeable outside of perforce won't screw things up (in fact it's not an uncommon practice if, for example, you want to play around with an idea without blocking others from working on an asset), so it's unlikely that in and of itself is what broke your workspace.

compact bramble
#

Hellooo Unreal Slackers!
I reckon this thread has a lot info on that already, but.. what FREE source control options are there for versioning Unreal projects, especially looking to merge blueprint changes?
I wasted a few days now, tried hosting a P4 server but am too restricted by my ISP to get it working.. Saw Helix Teamhub, but it only allows Git, Svn, and Mercurial hosting.. wth am I supposed to use?

merry verge
#

git lfs or svn

#

don't use helix teamhub, there are better options

#

and ones you don't have to host yourself

#

github, gitlab, azure devops, etc

compact bramble
#

it seems it's pretty useless anyways as they don't provide perforce hosting..

merry verge
#

assembla provides perforce hosting but it's $$$

#

in general, only use perforce if you know what you're doing with selfhosting or if you have money

compact bramble
#

idc about Perforce actually, I'd prefer git, but is there functionality for BP merge conflicts?

merry verge
#

no source control will solve that

#

binary assets are not mergeable, period

compact bramble
#

Perforce does.. to some extent

merry verge
#

it does not

#

it has locks

#

which you can get in git lfs

#

you can diff certain blueprint assets (pretty much any "normal" blueprint, but not animbps or anything else that's another asset type with an embedded bp graph) but that's an engine feature, not something perforce provides. And it does not let you merge - you'd have to do that manually.

#

I suggest looking into Git LFS. Every major git provider supports it with varying degrees of limits and prices.

compact bramble
#

alright.. so basically you're telling me working with BPs in source control sucks and Perforce doesn't help either? I wouldn't know, only used it in last years spring jam

merry verge
#

Working with any binary asset in source control sucks. The solution is locking files so only one person can edit it at a time.

#

which both perforce and git (via lfs) support

#

unreal's source control plugins support locks as well (not sure if the built-in git plugin does, but there are a few other git plugins floating around)

compact bramble
#

alright.. I did not notice that

#

so basically there's no disadvantage when using git instead of perforce?

merry verge
#

there are disadvantages... worse tooling if you aren't already familiar with git, LFS still isn't quite as good as perforce for large binaries... but for a small project it's really not going to matter.

compact bramble
#

well thanks a bunch for the intel, kind sir!

#

do we know why BPs have to be binary instead of just being.. XMLs?

merry verge
#

All unreal assets are binary, it's just how things are

#

blueprints aren't special to the engine, they're just a form of asset like everything else (models, levels, materials, etc)

#

theoretically there's a text-based format (it's what gets used when you copy/paste) but you can't use it to store blueprints

#

I'm also not sure merging that would go very well, as blueprints aren't "linear" like normal code. Would be useful for small changes though.

compact bramble
#

well they should be.. actually.. coming from software dev, I think modern practices require text based solutions.. so source control can do its magic

#

kinda sad, that this is still a problem

#

but thank you again for clearing that up to me ❤️

merry verge
#

Have you ever tried to merge a unity scene? It has a text-based storage mode and you really don't want to be merging large scenes

#

blueprint would probably end up much the same way

#

better than not being able to merge at all, but honestly it wouldn't help much

#

it'd be better if epic built a visual merge tool (based on the existing diff tool)

compact bramble
#

I reckon scenes being text based would not make much sense and merging them would be hell

#

but BPs? pure logic? wth not

merry verge
#

BPs aren't pure logic though. They contain positional data just like a scene.

#

and code doesn't flow in an obvious order

compact bramble
#

yah well, that's just a bunch of properties

merry verge
#

except in simple BPs

#

I mean, so are scenes

#

my point is "it's not that simple"

#

when you have a human writing code it's easier to write things in a mergeable way

#

blueprint data is not handwritten

compact bramble
#

yeah I understand that... if it weren't they would've already implemented it, no?
I'm just saying, as a software dev, I kinda feel a need for merging BPs

coarse coral
merry verge
#

if something is broken, force sync usually solves it lol

coarse coral
#

yeah didn't want to resort to doing 10Gb force sync but had to 😄

limber vigil
#

How to push 5 commits which are more than 3 GB?

#

the push lock to 53% and there is no response from github

#

i dont want to lose my modifications

rotund bobcat
#

you should always use LFS with git and large files

#

your git limit might be exceeded

quaint obsidian
compact bramble
#

git it is then, thanks for the input all 😛

graceful blade
#

Hi, would anyone have a beginners guide on how to deploy the UGS's web api in order to enable all of its features?
I have ugs working already, but there are a lot of things on the page that I would like to get working. It needs mysql and some other stuff

tiny ore
#

Hum, someone know if with perforce we have the possibility to make a folder writable (and all the files inclued) ?

limber vigil
#

How to get a faster connection for pushing commits on github? i have only 200 KB/s on pushing , my fiber connection is 50 Mb/s on a speed test

woven sluice
#

@tiny ore folders don't exist in version control, but I would imagine if you right click on a folder and use Change File Type in p4v it might apply it to all currently existing files in there. You can use Type Map to automatically assign modifiers to new files

Have to ask. Why do you want to do this though, there are only a couple valid (usually still questionable) reasons to use this

dusty ridge
woven sluice
#

I feel like this (and mastercoms showing it a month ago) has been ignored because it isn't getting showcased enough in here. Also because it feels too good to be true 😄 I wonder how bulletproof it is? Monumental development for SC if it really works. Except y it no in p4 thincc

tiny ore
merry verge
#

use rider for unreal, not clion. Also, wrong channel.

bright steeple
#

oh whoops sorry.

jolly fog
#

Hello guys

#

My collaborator and I use github desktop

#

and the project is private in github

#

but now we have problem with animations and I want to reverse update

#

but I can reverse commit but not update

jolly fog
#

anyone?

quaint obsidian
#

you can either force push or use the revert commit option and then push

wooden orchid
#

so how would i use source control with say github?

#

or is that not really a thing

wooden orchid
#

so how do i actually use git lfs for assets? all the files are uasset

merry verge
#

there are a few different git plugins for unreal, the built-in one works but I think there are a couple better third-party ones

#

also, github will work fine with lfs but has storage limits unless you pay. There are other providers (gitlab, azure devops, etc) that have different free plans and pricing options so you may want to look around a bit first. Or not, it's easy enough to move from one to another since it's git after all.

pale glade
#

Hi,

What's the best cloud service for backups of my source control?

cyan jay
#

Depends what source control and setup you are using

limber vigil
#

My MAP is modified and pushed by LFS every commit and so each commit is > 700MB

#

What can i do?

merry verge
#

Don't save the map (or don't stage it for commit) if you haven't modified it

#

If you enable locking you'll also be prompted before trying to save.

limber vigil
#

ok thx @merry verge

#

I have another question , when i push it starts with a speed of 5 MB/s and after 10 seconds its 200 kB/s

#

i push to github

#

have a solution?

limber vigil
#

maybe using a proxy?

carmine walrus
#

a proxy won't speed things up

fresh vapor
#

Hello,
I'm facing a problem and would really appreciate some help. I need to work on a project that is on github and is quite big (UE4).
I have LFS installed but when I try to download the repository it's tiny. All the files are just 1kb. Can anybody tell me what I can do to fix that?

coarse coral
#

I'm new to p4 streams, if I want to create a branch to migrate to 4.26.1, should I create a new regular dev stream or a branch stream would be fine still?

#

I'm thinking using a branch for migration is going to be better..I don't want to have to download all the assets again..?

fresh vapor
#

@coarse coral that is for the unreal engine source code, I need to work on a project hosted on github (an unreal project, not unreal itself)

fresh vapor
#

@rotund bobcat holly shit! That seems to work!

#

Do I have to do that all the time ?

rotund bobcat
#

no you can do it automatically on a pull

#

sec

#

by default it does that I think

#

did you set GIT_LFS_SKIP_SMUDGE=1 maybe?

#

if you did that put it back to 0

fresh vapor
#

@rotund bobcat I don't think I did

#

I never used LFS before actually, I just installed it ..

#

I don't think I touched anything there at all

rotund bobcat
#

try running git lfs install --local maybe just to be sure

#

that updates your project gitconfig isntead of your global gitconfig

#

or

#

you could also do git lfs install --force

#

I think that should override the global

fresh vapor
#

@rotund bobcat thank you so much!

#

I don't know if it will work, when I install it it tells me that it's initialized

#

I don't know if I have to pull it manually every time

rotund bobcat
#

just try it next time

#

and if you ever have a 1kb file again you'll see that the asset is just not there or it will give you an error that it couldn't load it

#

then you know how to fix it at least

sleek prawn
#

So has anyone here enabled LFS for an existing repository?

hushed granite
#

I have another question , when i push it starts with a speed of 5 MB/s and after 10 seconds its 200 kB/s
@limber vigil
Looks like the connexion between you and gitlab servers isn't great. If you're using HTTP decreasing speed = stability issue

#

@coarse coral i would do a branch for that

woven sluice
#

To upgrade to 4.26.1 from what though? Branching is useless, why not KISS and just update your project and go?

cyan jay
sturdy lake
#

Also, P4 branches and streams are different things. P4 streams are closer to git branches.

coarse coral
#

I stream branched, probably didn’t need too, just thought it was going to be more an undertaking to convert but I’m done already:p

cyan jay
#

branching is the easy bit - it's merging that's hard 🤣

worldly raven
#

What is the best source control option for a small team?

fair badger
#

Is there a way to revert a submitted change list from Perforce?

#

I Accidentally Submitted a changelist that deleted by .uproject file and im trying to recover it currently

sturdy lake
analog lodge
#

Quick question...I´m working on a shortfil and set it all up for perforce, hosted on an online server.
I´m now thinking about switching to the next UE4 version (from 4.25 to 4.26).
I found this online, is this still the best way?

#

Currently making a backup of the local project, so I can´t even try if right clicking on the uporject file works...:)

rotund bobcat
#

if you're using binary versions you should be fine with jsut right clicking the project and changing version then regenerating solution and recompiling

analog lodge
#

I assume that just applies to games, this is a shortfilm project, so no coding in here.

sturdy lake
#

As long as you're going up, you should generally be fine

analog lodge
#

Ok, cool. Waiting for the magic 39% to finish now...:)

#

And If I encounter problems, I just revert the uproject file via P4V...AND all the files changed after that date?

fluid jolt
#

hi does anyone know how to set up the unreal team collab feature...for version control/?

spice basin
#

I was wondering regarding umaps, is it possible to diff them. I can diff blueprints, and some other assets, but maps don't seem to work when I try to diff them using "Diff Against Depot"

I just noticed that there was almost a 1kb difference on the map after editing a blueprint (and not the map itself), and really want to keep an eye on map changes as they can be a source of irritating bugs when something small you don't expect changes. Also just so that I could understand just what it is the editor is automatically doing on my behalf.

hushed granite
#

branching is the easy bit - it's merging that's hard 🤣
@cyan jay
Well haven't thought much about that

hardy bloom
#

im new to source control and am using source tree to push to github

#

i cant push these things

#

it gives this error

#

not sure how im supposed to explain this

merry verge
#

the error message is pretty clear

#

you're over your data quota, you need to either buy more storage or move to another host that has higher limits.

hardy bloom
#

ooooooooooo

#

ok

#

o frick

#

thats not good LMAO

#

im only on the 5th episode of like 70 of this tutorial

#

LMAO

high hearth
#

So I'm following the "Version Control Fundamentals" live stream, and they say at some point that Subversion and Perforce are basically the version controls to go with. They also said that Perforce is the industry standard. Is this still the case? And if so, they said it was free for up to 5 users and I see being mentioned on the website of Perforce up to 20 workspaces. Is this also still the case or are there any other limits I should know about? I wasn't able to really find anything else. Is it simply that only companies that have entire teams need to pay for this and they make their money off those teams so that small / individual persons can use it for free assuming they have their own host?

cyan jay
#

It's free for 5 users or 20 workspaces, no other restrictions. It's fine for small teams you just need to provide a host.

high hearth
#

So ideally it would be better to learn and use Perforce's product if you can?

cyan jay
#

I'd recommend perforce

high hearth
#

Alright, thanks for the answers! ❤️

cyan jay
#

I'm halfway thru recording a video on setting up perforce but don't hold your breath for it, sorry!

high hearth
#

No worries, I'm not really in need of setting it up yet. First want to look a bit further at how it all works and functions. Nevertheless awesome that you're making a video about it!

#

I'm sure I'll be able to figure it out though, it can never be that difficult 😛

#

I hope

valid cloud
#

anybody here using straight git lfs for a project (no perforce, subversion, etc...)? I'm using that with gitlab's 10GB free limit to set up templates and such. However, I've run into an issue where previously tracked files which are then untracked become 'orphaned' and take up storage space even though they're no longer being tracked in the repo. Anybody have an idea about how to identify and clean up these files to restore storage space? Cheers

#

Seemingly the only robust option is to go nuclear, and start a new repository

dense bloom
valid cloud
#

thanks @dense bloom

#

unfortunately seemingly no way to clean orphaned files in git lfs?

rotund bobcat
#

if they're not referenced in any commit they should be gcd over time by themselves

#

but as long as something in your history poitns to them they'll remain

valid cloud
#

hm I wonder when they will get garbage cleaned

eternal socket
#

hi guys.does anyone have idea why the UI in android looks way different of that in editor and other android apps.its white background is dull.does anyone has any workaround this problem

merry verge
#

wrong channel

quaint obsidian
young thorn
#

what source control would you guys recommend for UE4?

rotund bobcat
#

perforce is probably the best option

#

but is costly at more than 5 users

#

but can be self hosted for free under 5 users/20 workspaces

young thorn
#

@rotund bobcat ye I have only 3 users for now thanks

jaunty hornet
#

Could using Perforce affect the cache? A user is saying that shaders and such now need to be refreshed much more frequently

rotund bobcat
#

no

#

your DDC should not be in source control

#

and if you're using a sharedDDC it would also not be affected by perforce

jaunty hornet
#

I figured

#

Could it be a case of shaders being changed and recompiling once those changes are pulled in

rotund bobcat
#

yes

#

if you pull in shader changes it will recompile them locally

#

except if you use a shared DDC in a centralized location

jaunty hornet
#

Thanks

#

I've got some DDC specific questions but that's for a different chanel

hushed granite
#

It's free for 5 users or 20 workspaces, no other restrictions. It's fine for small teams you just need to provide a host.
@cyan jay we now have unlimited workspaces

pallid ledge
#

Does anyone know how I can check in a file that appears to have been checked out; but I cannot check back in under pending changes; using plastic SCM?

merry verge
hushed granite
#

I think you're on the old documentation

#

I can make a mistake but i'm 95% sure that the workspace limit doesn't exist anymore

merry verge
#

Not looking at documentation

#

Helix Core is always free for up to 5 users and 20 workspaces. Try it out before you roll it out to your team.

#

that's what you get if you click the "try for free" button on the helix core product page

woven sluice
#

Oh there's definitely a limit stares at server with 19 workspaces sweating

fast bolt
#

Hey everyone, so I'm trying to use Google Drive to share a small project with another developer. They say when they open the project on their side, it's just the blank floor. I thought transferring all the game files would be enough. Is it not?

#

obviously when I open it on my end, everything shows up like it should. And I checked the folders I uploaded and everything is there.

woven sluice
#

generally yes as long as the necessary project folders and uproject file are copied over it should "just open". however, one must also ask to be sure... this isn't for any teamwork collaboration right? you're only just giving something to them so they can check it out? @fast bolt

rotund bobcat
#

are they opening the project on the correct level

hushed granite
#

I've seen somewhere for the unlimited workspaces it looks lit's true when you have less than 1000 files. But if I recall well we can now have unlimited workspaces and other pages are obsolete. Anyway I'll a talk with Perforce team soon I'll ask them

rotund bobcat
woven sluice
#

Thousand file license existed for like a year or two a long time ago, I think

merry verge
#

Yeah that answer is from 2013...

fast bolt
devout zealot
#

hello everyone, may I ask what is the best source-control cloud storage

#

I'm new to this

hushed granite
#

May I say perforce ? Other option is git lfs

devout zealot
sturdy lake
#

Assembla is perforce on the cloud. It’s good, but not cheap

devout zealot
#

we are only two developers right now

long mural
#

could try PlasticSCM also

#

Free cloud for three users, 5GB of storage

astral tangle
#

Workflow question for you guys working with source control, when you do changes to a master material in UE4 and submit it onto perforce, what exactly happens with all of its instances?

#

I know everybody that gets the new version of the master material will have to recompile their shaders

#

but it seems to want me to check out all of the material instances that are children of the master, which is... all the materials in the project

#

which I feel definitely shouldn't be a thing

cyan jay
#

Depends what you change in the master material. As long as they still work, you don't have to check the instances out, as the serialisation will handle new members, deleted members etc. Next time someone edits the instance it will pickup the changes to the master.

devout zealot
#

beginner question: I established the project, how to add collaborators?

lavish notch
#

also beginner question, how do I get rid of the yellow (!) when submitting to source control

rotund bobcat
#

what source control, what host, what GUI?

#

source control is not 1 specific thing, so hard to answer your questions without more info

cinder vigil
#

Would you guys have any recommendations on which Git GUI to go for?

  • GitKraken
  • SourceTree

I am currently using Github Desktop which is very reliable but doesnt seem to offer the features that source tree and gitKraken do. But I just have no idea which is either more used in the industry as well as which is more effective. I just know they are both hugley popular, SourceTree seeming to be more popular and utilized

rotund bobcat
#

never used gitkraken but sourcetree is really good imo, and the ui is completely free, while git kraken has some limitation ons the free version

devout zealot
#

what is the difference between github and Perforce helix core?

rotund bobcat
#

github is for git perforce helix core is for perforce source control

#

2 different systems

#

git is decentralized, perforce is centralized

devout zealot
#

So which one is more suitable for game development?

rotund bobcat
#

probably perforce

#

since it's better use case for binary file systems

#

which unreal uses a lot

#

for maps, assets and the bunch

#

however

#

if you're more than 5 users, perforce can become quite expensive

devout zealot
#

we are two

rotund bobcat
#

also, initial setup for perforce is a bit complicated at times

devout zealot
#

I find github desktop UI a lot simpler that's why I'm asking why developers here prefer Perforce

#

yeah true, it's complicated, I barely know how to add user(my teammate)

rotund bobcat
#

mainly binary file merging issues

#

since perforce is centralized it's easier to lock a file so that only one user can update it and stuff like that

devout zealot
#

wow 2 hours, that needs popcorn

#

thanks mate

rotund bobcat
#

yw

sinful belfry
#

@cinder vigil I am running Windows and use GitExtentions and TortoiseGit. GitExtentions offers a pretty decent UI while TortoiseGit offers a nice context menu while in the file manager.

cinder vigil
broken fog
#

Having issues with source control not working after migrating storage device to a new computer. I can log into source control successfully, and access it through windows file explorer to check files out. However when I attempt to check out an asset within UE4 I get the following error. Using Tortoise SVN version: 1.14.0.28885 (64bit) Please ping or DM me if you have any insight on this.

broken fog
devout zealot
#

Hi, I'm trying to ignore everything on unreal project except TestProject/Content/Assets but it doesn't seem to work.

rotund bobcat
#

why the / before the star

#

and why ignore everything

devout zealot
#

I want commit what's in Assets folder only

#

/* I have seen this example in the link above

full raft
#

im using git + lfs. using sourcetree. new to it. i accidentaly tried to push before pulling and now i've create a branch i never wanted. looks like this:

#

i would like to put the most recent commit of the blue line onto the red. (there are no conflicts or anything there, they change different files).

#

anyone know how, or what keywords i could google to find out?

sturdy lake
#

You want to look at rebase

#

I would suggest always adding a backup branch just so you can get back to where you currently are.

#
git branch backup_branch
git rebase origin/development
#

That should end up with your latest commit on top of the one at origin/development

#

Please do make sure you back up everything first!

full raft
#

thanks @sturdy lake

#

i ended up using the backup and accepting that there is a pointless merge and branch in the history... i think that works fine. but kinda ugly. the issue was that i had tried to push before pulling, but i dont understand why that was an issue. although im not even sure that it is an issue. for all i know, this is just how you use git

sturdy lake
#

The pushing before pulling wasn’t the issue. The issue was that you committed before pulling

#

The push failed because you hadn’t pulled first, so your local and the remote were split

full raft
#

if the push failed, wouldnt it make more sense to do nothing? 🤷‍♂️

merry verge
#

It didn't do anything

#

It simply fetched the commits on the server but it didn't make any changes

#

The solution is to rebase

#

The whole point of a distributed version control system like git is that you don't have to be in sync with the server (if you even have a server). The result is that you can make commits without having the latest data.
So something changed on your server ("origin/development" represents the development branch as it is on "origin" which is your server), but at the same time you made changes locally. Fetching from origin means that origin/development has now diverged from your development branch because you made changes at the same time. The solution is either to rebase (which replays your local commits on top of origin/development, as if you had the server's changes the whole time) or to merge.

#

this is perfectly normal and you didn't do anything wrong except not following through with your changes and rebasing or merging.

full raft
#

ah, thanks a lot, @merry verge ! 🙂

copper sedge
#

Hello, I am trying to ignore saved folder with Git. But even if my gitignore file includes Saved git keeps track of saved files.
How can I solve this?

#

I see but it still makes new additions

#

For example I can see the log in my project change and tracked every second

#

It is in saved and I put it in .gitignore

#

it appears as a diff to something existing I guess not sure

#

how can I reset it to not commit?

#

So if I delete the whole saved folder and commit then it won't track?

#

when I do that it still shows me the saved folders in commit

#

I don't think it will work

#

changed folders

#

oh it shows them as removed alright that makes sense

#

@jolly fog that worked! thanks a lot

copper sedge
#

when I get a clone of my project from a working repo I lose my map and can't see it in project but it appears in explorer. I guess this is about git lfs. Is there anyone with the same problem and solution maybe?

merry verge
#

if you haven't before, run git lfs install

copper sedge
#

I did

merry verge
#

try running git lfs pull

copper sedge
#

It gets all the other files

#

it gave an error

#

Checkout error: pointer parsing: Expected key oid, got <<<<<<<

Errors logged to C:\Users\ALIENWARE\Documents\Unreal Projects\copyrep\Qimera2.git\lfs\logs\20210224T032635.254884.log
Use git lfs logs last to view the log.
Checkout error: pointer parsing: Expected key oid, got <<<<<<<

Errors logged to C:\Users\ALIENWARE\Documents\Unreal Projects\copyrep\Qimera2.git\lfs\logs\20210224T032635.3422021.log
Use git lfs logs last to view the log.

red maple
#

How do I upload a whole project to github?

rotund bobcat
#

also you probably want to use git lfs

#

and google for a ue4 specific .gitignore file

#

ant make sure the .gitattributes is set up correctly before pushing the first time so that you lfs is well maintained

red maple
#

thank you, I'll check it out

novel stratus
#

Hey everyone, I am trying to use Perforce for a UE4 project with a team of two other people. I am thinking of just using a local server and having them connect my PC running the server (seems like I may need to ensure they can connect to my router - looking into that)

I have a couple quick questions please if anyone knows the answer:

  • What files should I make sure to ignore so our depot doesn't become cluttered with necessary files?
  • Would it be smarter to just host P4V on AWS' free tier?

We are a small team making small games

rapid coral
#

@novel stratus hi, I am no expert, but I would definitely start with ignoring these:
.vs/...
.sln
/Binaries/...
/Intermediate/...
/Saved/...

To the question on AWS free tier, be careful, because you are probably going to use some linux distro and I guess that you might use windows as the developing platform, there might be a problem with case-sensitivity, but perforce has special settings for that, it just takes some extra work to set it up. Also the free tier is only for one year I think.

cyan jay
sturdy lake
winter parcel
#

Hi! How to setup perforce with team city via ssl? According the team city doc its requires perforce:// before ip:port but its not worked. https://i.imgur.com/6qGolVt.pngx
P.S. resolved by manual VCS setup

cyan jay
winter parcel
novel stratus
#

Huge help here! Thanks all I very much appreciate it

#

@rapid coral it is one year - makes me just want to host the server myself if I can figure out how

woven sluice
#

( @rapid coral continued from #editor-scripting <#editor-scripting message>)
If you modify the blueprint in UE, decide to save it and make it writable only when the dialog pops up (do not check out), and then someone else checks out the file and commits changes, when you try to run Get Latest in P4V perforce will correctly warn you "this workspace file is writeable and may contain changes that will be lost, are you sure you want to overwrite this file?"

If all users understand how everything works, it works very well. It is not a hack or a workaround. It's the proper way to use the software with binary files which should only ever be owned for formal editing by one person at a time.

rapid coral
woven sluice
#

I mean... if you really wanted to do what I think you were originally asking about, it's simple: you just remove locking from uasset filetypes in the server's typemap. but you'll regret it 😄

rapid coral
woven sluice
#

Oof. Let us know when you decide to undo this because someone lost a day of work, I'm afraid is all I can say. Good luck!

rapid coral
#

I believe that it will not be necessary 🙂 Cheers m8

coarse coral
#

When merging files between two different P4 Streams, why is opening a newly added file from a different stream cause the editor to ask you to write to that file?

cyan jay
coarse coral
#

@cyan jay hmm why do I need to reintegrate them? They are already merged into the other stream?

#

is the editor just asking to make it not-read-only, and it checks it out for that reason?

cyan jay
#

Yes

crude sun
#

I'm having issues connecting to the Perforce server (hosted on a PC on another network). Do you have to run the commands 'p4 set -S Perforce P4PORT=my-host-name:my-port-number before being able to connect to the server externally? I’ve been searching all over and they all use localhost to explain the server setup.
Any help is GREATLY appreciated, thanks

rapid coral
crude sun
#

Yeah, thanks for the reply @rapid coral. Yeah, that's the problem i'm having, connecting from client to server. I'm pretty sure that it's just a port forwarding issue but can't test anything until I can get access to the server PC again

rapid coral
crude sun
#

Yeah i'll check once the server is back online

kind olive
#

Anyone using a self hosted perforce with more than 5 users? I'm wondering about costs. When I inquired they asked to setup a zoom call to discuss pricing which makes me think it's not going to be cheap. I've seen others use plastic scm, which I'm on the fence about since it was bought by Unity and then also there is the option of SVN. I've never had to use Source control with more than a few users before so trying to figure out how to go and keep costs low.

woven sluice
#

@kind olive think word on the street is about $40/user/mo. if you're just barely over 5 users, it is definitely not possible to violate the user agreement and share logins and still each have your own workspace

kind olive
#

Creative interpretation of licensing is not under consideration.

woven sluice
#

yep, time to open your wallet then or use something else

kind olive
#

I think that was the very nature of the question.

jolly fog
#

I miss using a memory stick as my source control, and being able to see my project grow in download size every month xd

pulsar parcel
timber quiver
#

I wanted to start working on my existing project with a friend of mine, I've been researching for like 2 days about what source control would be the best.
I decided to go for git/github/gitlfs, as it seemed to be the best option (since its a hobby project for now, id like to not have monthly costs because of it). From what I've read Git is free if I make it public, but when I try to publish my project it tells me this:
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
So is it not free for public repositories?
If so, what would be a better option for a bigger project (45gb) if I want to get a small team together?

long hull
#

Azure devops has unlimited storage but 5 user limit. Gitlab has unlimited users but 10GB limit.

timber quiver
#

does github have a storage limit though?
on their website it says this:

Free for public repositories
Included 500MB of GitHub Packages storage
Free for public repositories```
#

but my error doesnt fit what is written on their website

long hull
#

It's difficult to find, but they have a 1GB storage and bandwidth/month for LFS

#

You can buy data packs to extend those limits, I don't remember the price though

#

$5/month for 50GB storage and bandwidth

timber quiver
#

Ah yes I found it now that you mentioned it. This is problematic..

#

I'd consider buying a server and using perforce, but I have little knowledge of coding (followed a udemy ue4 c++ course), so I dont know if it might be too hard to set up a linux server as someone like me.

long hull
#

My solution for those limits is to use gitlab and split my project into submodules (which actually works out as my project is mostly marketplace content). That way I have ~150GB spread over ~100 repos. Definitely not ideal, but hey, it works.

timber quiver
#

I haven't considered GitLab yet, but I might give that a shot

#

thanks for your help brifsttar

ornate willow
#

Anyone have a Linode referral? About to sign up

ornate willow
# long hull Azure devops has unlimited storage but 5 user limit. Gitlab has unlimited users ...

Azure does not seem to have unlimited storage. Their page was confusing so I contacted customer service and asked them, the closest thing they have to a ec2 instance or something to run like a p4 server on has something outrageous like 5gb storage, after that you have "unlimited storage" but are billed based on how you access that data You can store an unlimited number of files and are billed only for what you use. someone please correct me if I'm wrong because from what I've heard of Azure it would really benefit, none of it seems to be true when I went to go actually go sign up

merry verge
#

The page isn't particularly clear on it, but there doesn't seem to be any hard limit on repo size, just a suggestion that you stay under 10GB unless you use LFS (at which point the implication is that there are no limits on LFS storage) and rate limiting which really shouldn't affect normal usage.

#

Your confusion isn't unwarranted due to the asinine renames the service has undergone, but basically think of DevOps as a completely separate set of products from Azure, despite bearing the same name. The reason you got nowhere with support is because you asked azure support about a product they have nothing to do with.

mystic sparrow
#

Seems like it could get pricey though, storage wise

merry verge
#

DevOps? Again, no.

#

it's free...

#

The cost for DevOps is per-user after 5 users.

#

The bit the other guy was talking about is for one of the azure storage services which has nothing to do with Azure DevOps.

full raft
#

in git, do i have to empty all my unstaged changes before pulling, even if no remote changes change any of the files i have changed? i just want to get the newest versions if files im not currently working on.

#

oh, there was a file we had both edited, nevermind 😅

ornate willow
#

Unless you are hosting the repository’s in which case I’m confused haha, I’ll figure it out. Again thank you that puts me in the right direction

#

I haven’t used much of git with unreal, but I see a lot of people do. I’ve avoided giving it a try because I hear you can’t merge and diff the binaries unreal produces, which will get messy with collaboration.

#

Is that true? So many people use it that I figure there must be a good workflow for it out there

merry verge
#

There's a git plugin out there that lets you merge blueprints specifically but I don't know how well it works. In general you don't merge with anything uasset - you lock the files so others can't edit it.

#

and to answer your other sort-of-question you aren't hosting repos yourself with Azure DevOps, it's like github.

ornate willow
#

Ah okay that’s great, easier setup, although I’m not looking forward to manual file locking/on a team lol. Much appreciated.

I have tried the git plugin in unreal a long time ago, the visual diffing does work quite well but after many successful commits by multiple people (while using the recommended ‘.gitattributes’) suddenly something with LFS was failing to push to GitHub, we bought data packs, we couldn’t figure out the errors and decided not to use it

merry verge
#

Manual file locking won't be too much of an issue - unreal should automatically prompt you to lock files when you try to save them.

#

and you don't need to configure locking for text files ofc.

mystic sparrow
#

Yeah maybe the pricing I found was the same confusion you spoke of

#

I googled, probably ran into the same trap

merry verge
#

The only pricing for devops is for additional users, test plans, additional CI minutes (or selfhosted runners), additional space in azure artifacts (not related to repo size)

mystic sparrow
#

Ah, I was looking at Azure Artifacts it seems like

#

Neat though, no real reason not to use it then

iron bronze
balmy oriole
#

hey guys just got multi user editor working, we have a large nas where i work was wondering if we still need source control?

what would happen if 2 different PC's opened the same project file stored on the NAS?

#

when I point my perforce depot to the NAS im hit with permissions error. but i cant see how to add credentials any ideas?

Operation 'mkdir' failed.
Librarian checkin v:\003-perforcedepot\depot\20118_32 sirius rd_base_r19_sba_gonzalo.ifc.sharedparameters.txt failed.
RCS can't make directory for v:\003-perforcedepot\depot\20118_32 sirius rd_base_r19_sba_gonzalo.ifc.sharedparameters.txt,v!
mkdir: v:\: The system cannot find the path specified. 
Submit aborted -- fix problems then use 'p4 submit -c 19'.
Some file(s) could not be transferred from client.
ornate willow
balmy oriole
#

@ornate willow agreed. any idea why how i can fix my connection to the nas?

long hull
# iron bronze I chatted with them a while ago and they were pondering about offering some sort...

I still don't understand how Epic didn't sign a deal with them for that. Epic is offering so much for free (the engine, marketplace content, Quixel, etc.), but when it comes to version control there's basically nothing. Even Unity realized this was a big problem and bought Plastic SCM.
This channel is a perfect example of that, since everyone is one the same boat trying to make something work while dreaming of Perforce.

lament ember
#

Greetings. Is anyone here uses UnrealGameSync?