#source-control

1 messages ยท Page 1 of 1 (latest)

formal spoke
#

hey Guys , i'm new to the UE & have a question about git with UE.
how to resolve the merge conflicts of blueprints ? you can't see blueprint changes in source tree or git hub desktop

vale basin
#

You can't resolve merge conflicts with blueprints. You can diff them through the editor, but not merge

storm sleet
#

I wrote a script for bulk unlocking stuff:

#!/bin/sh

test -z $1 && echo 'no argument' && exit 1

n=`cm listlocks | grep $1`
test -z $n && echo 'nothing to unlock' && exit 0

cm listlocks | grep $1

echo -en '\nHit enter to unlock listed files, CTRL+C to abort  '
read

tofree=`cm listlocks | grep $1 | awk '{print $1}' | tr '\n' ' '`
echo "cm unlock $tofree"
cm unlock $tofree
winged sparrow
#

I'm setting up a personal perforce server with unreal engine (I'm using a 3 streams approach: clean_engine, merge_engine, main_dev)

Once I unzip the ue5 engine download into my workspace and run setup.bat, when I got to do my initial submit, should all the files make it across?

Because I should only have to run setup.bat on one workspace right? Anyone syncing the project should only need to run generateprojectfiles.bat?

Anyone have a solid .p4ignore file that they swear by? Last time I tried to do this, I ended up giving up because I couldn't find a .p4 ignore that worked well. They always let files through they shouldn't and/or block files from passing that are needed.

radiant musk
#

So I just submitted my big project to the depot and I had the separate loading window

#

it was at like 20%

#

but then it just disappeared

#

and that bar on the right keeps loading

#

is it still submitting or what's goin on

#

how can I check what that bar is loading ?

radiant musk
#

anyone ?

urban hare
#

Could someone explain simply what the 'restore' function does if UE crashes when something like the blueprint editor is open? Does it try to grab the last version of the file that was checked in? I'd think the last time it was saved would be default

mighty light
#

is diffing level blueprints in the editor not supported? whenever i try to diff against depot it opens up the p4diff tool with 2 text files

coral flare
#
Pushing to https://dev.azure.com/***/***/_git/***
Uploading LFS objects: 100% (991/992), 820 MB | 522 KB/s, done.
LFS: Client error &{%!!(string=https) %!!(string=) %!!(*url.Userinfo=&{***  false}) %!!(string=dev.azure.com) %!!(string=/***/***/_git/***/info/lfs/objects/ab10ff909c500ebc9346b4ff57ec6411ba08ce79300dc4d0adb56f993fd5bfe4) %!!(string=) %!!(bool=false) %!!(string=) %!!(string=) %!!(string=)}s(MISSING) from HTTP 413
error: failed to push some refs to 'https://dev.azure.com/***/***x/_git***'
Completed with errors, see above.```
#

anyone use source tree and azure?

#

the * is my project name just * it out

#

I have no idea what this error could mean

outer cipher
#

hey guys im trying to add a few files to perforce, but some of them keep saying "no files opened" and in unreal i cant check them out or save them (keeps saying theyre not in source contro) how can i fix this?

#

other files and foldrs were okay

small adder
#

Can i ignore the saved folder completely?

#

And intermediate?

#

The reason I ask is I am using a preset gitignore file from github and its including Saved and Intermediate when viewing changes

woven sluice
#

Yes to both, saved generally stores user data like their local editor settings for the project and intermediate is just build data

small adder
#

Configuration files generated by the Editor

Saved/*

Compiled source files for the engine to use

Intermediate/*
Plugins//Intermediate/

Cache files for the editor to use

DerivedDataCache/*

I have these lines at the bottom of my gitignore but its still seeing them as changed in GithubDesktop

#

OK. All git stuff needed to be in the root of the UE project

teal bone
#

If you have Plugins/*/Intermediate/* why not Plugins/*/Saved/* as well?

#

And DDC

mighty light
#

Why even have an ignore file

radiant musk
#

since I enabled source control, my game often freezes and takes long loading screens

#

what could be wrong

marsh grotto
#

@radiant musk doesnt sound like source control should affect loading or freezing

#

thats not how source control should work

#

@outer cipher try doing reconcile offline work

#

right click the root and press that alternative

#

then they should be added to source control

radiant musk
radiant musk
#

how can I disable source control ?

#

Everytime I launch the project, it's enabled

#

even after I disable and save

radiant musk
#

yes it turned out the source control was causing freezes

#

to be specific, "read only" files

woven sluice
#

disable source control... you sure you want to do that, cap? going to echo that source control should NOT be affecting play. it should affect asset editing, at least the first time you touch an asset and/or when you save assets

fair monolith
#

On Windows Git, for example, you need to explicitly disable Anti-Virus software from scanning your source directories.

#

If you don't, they will scan files every time you swap Git branches, which could mean the file system is effectively locked while you scan 100s or 1000s of files that you've already scanned 100s of times before.

#

There is no need to anti-virus scan your own project source.

jagged spear
#

Super basic question, but has anyone come across any guides they find useful for using regular branches (not streams) in P4V? I found the minimal documentation unclear to me, at least so far, since it seems that they're pushing streams as the recommended workflow.

I did try following along with the recommended workflow of creating a stream depot in p4admin, but when selecting my new stream depot in p4v, I didn't see a Stream as an option under file->new. Ultimately I have very simple needs, so not sure I benefit from using them, but would try them out if I could get them working.

merry verge
#

You really don't want to use classic depots if you don't have to.

#

Classic branches are "heavy" - they maintain a full copy of every single file they contain. These aren't like git branches where everything is lightweight and you can easily switch around branches a lot.

#

Task streams are the closest things to short-lived git branches.

#

As for why you can't see "new stream"... I'm not actually sure where you are in P4V in that image. What I can say is that you can create a new stream by opening up the streams panel (View -> Streams) and then right clicking in that panel and hitting "New Stream"

#

Also verify that your depot has this icon on it (the waves) - that indicates that it is indeed a stream depot. If you created a classic depot then you won't be able to use streams with it.

mighty light
tardy venture
#

For P4, is there a way to reset the locks? I manually unlocked some files, and now most files are OK while some CPP files do not get auto-locked. Which then causes Rider to not track changes on them, and treat it as out of scope in some way

pulsar parcel
#

why would you use exclusive checkout on text files

tardy venture
#

I've run into a weird discrepancy in the 'tracking level' of some files, and IDK what I could have done to do so.

The tracked files show as 0KB on disk, but the same directory has H/CPP flies that show up as using up storage. The 0KB files do mean Rider prompts for check out, while the size on disk ones do not.

tepid dove
#

I have two general Questions about "One File per Actor" (UE5) interacting with Perforce (Things I noticed):

  • When I set Actors to packaging mode External it creates these symbolic IDs and stores data in external UAssets.
    Now It is impossible to associate these IDs in perforce to their original Actor instance. What is the general best practice? Changelist management is almost non existent in Unreal, thats why my final Submission takes place over the P4V Client.
  • When I modify an Actor inside my Map it will not automatically store the data in the external Uasset. Only when I save the map, which prompts me to check out all external Actors aswell as the map, defeating the whole purpose of separating assets from the map. This really irritates me. Is there a way to reliably save the changes you did to external assets only without the need to checkout the map aswell?
reef oriole
tepid dove
# reef oriole Well, I just doubled-checked; if I move a set of Actors in my map, it first popu...

Well closing the Editor is definitely not an Option just to save assets. When I hit "Save" it shows a list of all External Actors and the map, eventho I did not change a thing, that is quiet bothersome when you have a huge list of external actors. So the whole process doesn't really feel very transparent and I am always wondering, if the changes got saved for the external actor. As for the first question, how do you associate your External Actor ID to the original Actor in the Level?

reef oriole
# tepid dove Well closing the Editor is definitely not an Option just to save assets. When I ...

When I hit "Save" it shows a list of all External Actors and the map, eventho I did not change a thing
My take on this stay the same; someone changed the Actor Blueprint, without going though all the maps to resave all the instances / External Actors
And now as soon as you open the map, the Editor detects that all the instances are outdated, it update them in memory, and ask you to resave them

reef oriole
# tepid dove I have two general Questions about "One File per Actor" (UE5) interacting with P...

As for your first question, I think you answered it quite well already;

  1. either you use in-Editor Changelists as a way to see what you are dealing well. I strongly encourage this, as Epic Games is for OFPA. I feel the support here is quite strong, but I didn't use it in a game studio so perhaps am I missing some parts of you POV
  2. or you go the external way with the P4V, but then you deal with opaque binary files (but it's on you)
pale ember
#

Greetings!

so i want to use git source control for my project with a team member

but would like to use a local drive on my PC to store the repository

what is the best way to go about doing this?

fair monolith
#

You probably don't want to set it up like you said.

#

You want one machine that is the Git server. Github, Gitlab, some custom Git server you set up.

#

Then you and your team members are all just clients to that server.

#

You will all have local copies.

#

When you want to share with each other, you push to the server.

pale ember
#

so in my github desk
i take my project and use it to create a repository with it

then i find a git server to install?

fair monolith
#

You can set up your local machine to be an authoritative Git server, but personally I wouldn't do it that way.

#

Having an external authoritative server also provides an extra backup point so if your hard drive crashes you don't lose everything.

#

Look at Github or Gitlab. It's only a couple bucks a month for a private repository. If you don't mind your repo being open source and public, it's free to host.

pale ember
#

oh... fascinating

so what if i am not concerned about my nvme ssd crashing?

ya i saw it was $5 a month for a private repo

my job deals with sensitive content for defense and it would be best long terms to work on classified projects locally

fair monolith
#

If you really want a custom server not shared with anyone else, get yourself a local Linux machine and put Git server software on it.

pale ember
#

this project we can work on a github with the $5 for 50/gb for LFS
thank you for that advice and i can get that working today

but i will have to start thinking long term for classified

fair monolith
#

Doesn't have to be high powered CPU, just needs good HDD and NIC

#

If you can host it on a private cloud, you can use a Google/Amazon VM rather than a physical machine

#

Git server software is fairly easy to install and well documented

#

But yeah the easiest path forward is a private repo on Github/Gitlab/etc

pale ember
#

thank you soo much
we will be talking with IT and getting this figured out

for now we will get the LFS upgrade

#

i need to run the LFS upgrade with my bosses to make sure they are comfortable with using that server, I may ping you later if they deny my request to use github's servers

jagged spear
#

@merry verge Ahhh, thank you for explaining why classic branches in P4v are not like git branches, and why I should avoid using them for short-lived branches. That explains why I found the classic branch options so confusing - it is not behaving the same way as a git branch.

@mighty light That did it, thanks. Can't believe all I had to do was restart P4v to get it to work. A few times I've tried dabbling with streams, and never thought to just restart.

woven sluice
#

@pale ember have you already checked into azure devops? i don't use it but seems like you might want to investigate it instead for 2 people

pale ember
woven sluice
#

think it's free for small teams, again i don't use it, i self host perforce, but lots of people talk about it here. i hate the idea of dealing with "data packages" with github LFS, they seem very frustrating

pale ember
woven sluice
#

perforce is a "competitor" for git, apples and oranges

#

i'm just saying that i don't use git much, but i see some git users going to azure devops

fair monolith
#

@pale ember, @woven sluice is suggesting looking at Azure as a possible Git repository hosting service.

quaint obsidian
#

but for swlf hosting, you can use gitea, or gitlab

sharp bane
#

quick q, just setup p4d on an ubuntu VM and after interactive config, server fails to start. how do i restart the server?

storm sleet
#

I noticed the trimming tool is in progress? great, I can't wait for it ๐Ÿ˜

reef oriole
#

In the background I have been trying to repro the GPU Out Of Memory crash some people have reported when doing very long (more then 3 minutes, in my case even 5 minutes) operations;
turns out it was exactly the same problem that appeared a very long time ago on the Git plugin; the Perforce plugin did comment out the Progress Windows entirely, which seems to be the culprit leaking GPU memory ๐Ÿ˜ฎ

reef oriole
# reef oriole In the background I have been trying to repro the GPU Out Of Memory crash some p...

Now, imagine spending 5 minutes waiting on an Editor frozen without a Progress bar to let you know something is running ๐Ÿ˜ฑ
I will make the progress bar Tick less and less often, so it will seem to be slowing done to a slug speed, which will illustrate how long the operation is taking (ultimately we shouldn't have this long running operation happening in the first place, I'll see if I can dig these perf problem)

storm sleet
#

Oh, nice. I was thinking about reproducing that same bug and see if I can get a few more detailed info than the popup message, but then I read that you were able to reproduce it yourself

#

Our artist is actually pretty good at reproducing bugs like that, I usually don't get as many crashes as her ๐Ÿ˜‚

#

But that particular bug is one I had a few times the last two days when I was migrating a bigger level with external actors to another project. Moving things/renaming them often produces crashes like that, especially if many other files are referenced and need to be changed. Fixing redirectors in a big directory also sometimes does this

#

For testing, you might be able to reproduce stuff with a single big quixel asset, placing it a few hundred times in a level with external actors, then producing a redirector by renaming the asset and fixing that redirector after a checkin. But I'm sure you figured something out ๐Ÿ™‚

#

Anyways, it's great to see all the progress you make. You commit more often than I'm able to update the plugin in our project ๐Ÿ˜†

reef oriole
storm sleet
#

I can imagine editing would also be quite slow since it has to check the state. For newly added actors it just figures out that they are new and change the state (locally?). For the speed, maybe you can artificially slow down your internet? I can only tell from our "super fast high-speed German internet", and some operations just take time

#

Btw the Nvidia GPU driver bug (TDR delay) might also be related to that. You can't fix it, but maybe work around that. At least, we sometimes get this crash when doing heavy source control operations. In fact, the "out of memory" crash is quite new to us, we mostly got the "GPU device lost or removed" crash (which is the TDR delay bug afaik). Increasing the delay btw helps, but not always

reef oriole
# storm sleet I can imagine editing would also be quite slow since it has to check the state. ...

I can imagine editing would also be quite slow since it has to check the state.
I was able to checkout 1866 Quixel Cactus (!) from the cloud in just a few seconds
[2022.07.29-14.50.36:972][590]LogSourceControl: CheckOut of 1866 files processed in 6.341s

For the speed, maybe you can artificially slow down your internet?
Yes, I am using clumsy to reproduce slowness (and much more), it works great ๐Ÿ™‚
It saddens me though, that some of you are having quite slower setup for some reasons (but Internet is not great for everyone, I know)

storm sleet
#

I really wish I could help you more

reef oriole
#

I am currently trying to formulate feedback about perfs to the core team

#

And at the same time, I have cleaned up the code to submit a workaround
@storm sleet would you be willing to test the fix if I submit it on a branch? Else I am going to push it to main in order for more people to get access to it

  1. The Perforce plugin & SVN plugin "fixed" the crash by removing entirely the progress bar (3 years ago)
  2. I am going for a lets just update less and less with time
rigid bobcat
#

Hi, I need some help with versioning choice. First of all some premises: there will never be two or more people working on the same project unless they're using unreal's multiuser; and all the users are strictly environment artists.
Our Unreal department has a dedicated storage server connected via 10 gigabit network. I whish they asked me to setup things "normally" but... they didn't. The idea is to use that local server not as a "server repository", but as a "local repository". The server is mounted as a network drive. Computers will NOT have local copies on the project. Instead they should open, modify and save them directly from the network drive.
The only thing I had already prepared was a custom launcher that checks if the project you're trying to open is already open in another machine. If it isn't, you open it directly from the server, if it is, then you create a local copy and a custom plugin will "force" the multiuser connection to the first machine that opened the project. Because multiuser doesn't work properly if two machine open the exact same project.
If my understanding is correct, multiuser takes care of synchronizing changes, so abstracting all away, what I have on the versioning side is a single machine (which isn't necessarily always the same one) working on a "local" repository.
Until yesterday I've only really used git for my stuff, and my company was going through the practice of copying the whole project every time there is a change and incrementing a number in the project folder name ๐Ÿคฆโ€โ™‚๏ธ
I've checked the various SVN tutorials, and they all assume an SVN server running on some machine. I'm not really experienced with SVN but it really seems to not work like git does in that there's a clear distinction between repository and files i'm working on actively.
Can you please tell me if my understanding of SVN is wrong? Is git LFS better suited for the local repository model? Is it well integrated enough with Unreal (I see it's labeled as beta)

#

Sorry for the wall of text (part 2) ๐Ÿ˜…

storm sleet
#

I can do a few tests, but not right now as I'm not at home currently. I can do it today in the evening or tomorrow afternoon (preferred) ๐Ÿ™‚

#

Would be great if you tell me what exactly I should test, otherwise I'd just do some standard things

#

Imo as long as nothing "breaks" it'd be fine to push to main, but that's always a question of how stable you want to keep the main branch

reef oriole
storm sleet
#

Ok, I can do that. If time doesn't matter I can give it a more in-depth look at the weekend and see what I can report

#

Chances are that I can send you a patch if something breaks

#

(and maybe I can finally write a tool I'm waiting for for years, a tool that lets you visualize the reference chain between two assets)

woven sluice
# rigid bobcat Hi, I need some help with versioning choice. First of all some premises: there w...

forgive my french but: jesus, fuck. scream very loudly at your company to stop being idiots and let you research and set up a standard version controlled and remote accessed system, from the best I can understand everything you've said this is incomprehensible levels of garbage. throw your custom launcher in the garbage (sorry, I'm sure it's actually quite nice in its own way, but no) and use our tools as the great Tim intended

rigid bobcat
#

believe me I've tried

woven sluice
#

then prepare your resume as soon as you can, this company will either go out of business or not be worth working at

rigid bobcat
#

it's already a miracle I convinced them to try some actual versioning tool instead of making copies

rigid bobcat
storm sleet
#

Do you have a CTO/Tech Director/Lead/...?

#

Yeah, but still... That's not how you should work today

#

I'm a plan 9 user, but we have the tools and the backup solutions for this

#

As I said, I'm a plan 9 user

rigid bobcat
#

local copies are only for multiuser clients cause multiuser doesn't work properly if 2 computers open the same exact project from a network drive

#

the real priority is versioning directly on the network drive

woven sluice
#

clearly Barnack's overseers are not normal human beings

#

this is Aquanox Inc 2.0

storm sleet
#

Well, you can have a local git repo

rigid bobcat
#

reason #1: ๐Ÿคทโ€โ™‚๏ธ
reason #2: various fixations of some higher ups who want to only have software on C: and projects on D:. In all the machines C is an SSD and D is a 5200rpm HDD ๐Ÿ˜†

storm sleet
#

Let me guess, they wouldn't have enough money to upgrade

#

Or to build a proper versioning server solution

rigid bobcat
storm sleet
#

Like a normal human being

rigid bobcat
#

I didn't want to investigate further

storm sleet
#

Well, if you have a local server it might as well run a server ๐Ÿ˜‰

woven sluice
#

"we don't have enough money to upgrade because we can't succeed at life because we use moronic processes because we don't have enough money to upgrade"

#

sorry i'll stop but all i will say is make sure it's written in writing somewhere that you recommended against continuing this farce, one day it may be nice to point at

storm sleet
#

I'd still say that you need someone who listens to issues like that in management. This workflow is screaming for trouble

#

(similar to how our management asked if we couldn't just use sharepoint because it has versioning)

rigid bobcat
storm sleet
#

Well, then there's that resume part HoJo mentioned...

#

Does your IT have someone in management?

rigid bobcat
#

management mostly deals with producers and clients

storm sleet
#

You have external producers?

#

I'd really advise to find someone in that company who can change something, or leave if you can

rigid bobcat
# storm sleet Well, then there's that resume part HoJo mentioned...

but on the flip side I get to work from home every day, I'm not even in the same city where the company is. And jobs for junior C++ devs aren't easy to find, especially in italy. Most "easy" jobs for junior game devs make you work on android trash, and honestly I'd rather work on trash in a topic i don't care about than trash in a topic i like.
My current job is about comfortably building up curriculum basically

#

i'll forward some messages from here to higher ups and hope they change their mind

woven sluice
#

that's fine, you can milk this cow while it's in front of you, just look for a less poisoned cow to join in your free time. this is where you say thanks for the advice but you're actually happy working here, in case they employ discord spies squintyeyes

also: blink twice for help

#

sadly it also sounds like very little of this experience is going to prove to be actually useful in future employment lol

#

"managed a horrifying bespoke versioning control system straight out of my nightmares designed by non-technically minded people before i was born" doesn't do too much on a resume HaroldHaha sadcat

storm sleet
#

Well, yeah, but if you're a good dev you learn lots of things, and good Unreal C++ devs are rare, even at junior level

#

(source: I was the only programmer as an intern in our company, now we are three)

#

(and we are looking for one more programmer, and 4 more designers)

rigid bobcat
storm sleet
#

Not sure but you can try. Fully remote is always a bit of a hurdle, but I go to office like every two months or so

#

And germany is not that far from italy

#

I'm open for PM if you want more info and a link, I don't want to spam this channel

reef oriole
# storm sleet Ok, I can do that. If time doesn't matter I can give it a more in-depth look at ...
GitHub

We need to reduce the number of calls we make, but we don't want to have the progress bar stuttering horribly
So we tart to update it frequently/smoothly, and then we increase the intervals...

merry goblet
#

Hi. Anyone know why Source Control right-click options for a material only shows Refresh? The usual Check out etc. is missing ๐Ÿ˜ฆ UE4

reef oriole
merry goblet
#

Thanks anyway ๐Ÿ™‚

vale basin
#

I think you need to do the git push before the lfs push

#

The way lfs works is the git repo stores pointer files. Thatโ€™s the 1kb files you are seeing

#

Then you push the actual files up with git lfs push

#

AFAIK anyway

limber oriole
#

Hi all, what's the most brain-dead / best integration with built in UE5 source control? It gives a few flavours like perforce, svn, git. Ideally I just want to pay some money, not too much, have extremely simple (artist friendly) project management and backup.

All suggestions welcome, thanks!

teal bone
#

Good question. P4 is the standard, but it's hardly friendly... to anyone.

potent mist
#

Hello all, so I've setup perforce however I can't compile my code due to perforce not allowing writing to non-checked out files. I've added the Binaries/Intermediate directores to a p4ignore file, but I'm still having this issue. Does anyone know how I can get around this?

#

and of course, if I check out the Binaries/Intermediate folders, I can compile. So I just need perforce to allow writing to those files without checking them out?

merry verge
#

p4ignore is not applied retroactively. You must delete the files from your depot before it'll start ignoring them.

#

You should never check-in your intermediate directory. Whether you include binaries depends on workflow, if you're working by yourself I'd just ignore them/not check them in.

potent mist
#

and if I'm not working alone?

merry verge
#

If you're not working alone it really depends on the workflow for anyone not building the game themselves. If everyone is in a position to build it themselves then you also don't need to check-in binaries.

#

If you have a bunch of artists who you'd rather not have to deal with building things, then you can check-in binaries but I'd open up p4 typemap and use it to set everything in your binaries directory to +w before checking things in. This makes it so those files are writeable without having to check them out.

#

note that p4 typemap also only applies to new files, but you can automatically update all files in the depot to the correct types with p4 edit -t auto ... , reverting unchanged files from your default changelist, and then submitting.

potent mist
#

gonna attempt that now, Thank you very much!

#

I've been pulling my hair out trying to figure this out

next swift
#

Does anyone have any recommendations for a GIT client that makes things pretty straightforward for graphics teams?
We run self-hosted GitLab with LFS setup, and would like something that our not-so-techy users could use to pull and lock certain assets, and push them back, comparing changes would be great too.
I've had a look at GitKraken and Fork which seem good, but curious for other perspectives too ๐Ÿ™‚

mighty light
next swift
mighty light
#

i enjoyed fork. i found it better/easier to use than gitkraken, but gitkraken looks way nicer. you could also try source tree but they are all pretty much the same, the only real difference is how they display and hide different things

#

theres also tortoisegit and github for desktop

next swift
#

I personally preferred fork too actually. and it seemed to do a better visual diff on images, albeit not many formats.
appreciate the response, thanks.

simple lodge
#

biggest issue with gitkraken is cost and LFS performance on large repos

reef oriole
#

Hey, I am now officially in vacation for a couple of weeks, so I won't be working on the Plastic SCM plugin...
but I intend to improve a bit the Editor itself, with little QoL things like keybindings, adding some info to some UI, like the number of files in a changelist ๐Ÿ™‚ through PR https://github.com/EpicGames/UnrealEngine/pulls/SRombauts
In fact, Epic Games teams are also in vacations this week from what they told me, but they will eventually catch up ๐Ÿ˜‰

reef oriole
#

So, if something is bugging you in Unreal Engine source control UI / workflow, please write down what should be improved in your opinion; it's always useful to get more users feedback
The easier the task, the more likely I will tackled it; eg I had some people asking me to add combination of keys to submit instead of having to click

quaint obsidian
hushed granite
#

Hey ! I'm using Perforce. But looking at free version limitations and pricing I'm obviously curious about PlasticSCM. What's your experience ? Is in engine integration as good as Perforce ? Is it easy to setup and selfhost a PlasticSCM server ?

reef oriole
# hushed granite Hey ! I'm using Perforce. But looking at free version limitations and pricing I'...

Hi, full disclaimer I am working on the Plastic SCM plugin, so I am obviously fully biased here ๐Ÿ˜‰
In all seriousness, the Perforce integration is still better, as Perforce is still "the default" for Unreal; it is used everywhere and by everyone. It is also still a bit more deeply configurable for advanced stream configuration, eg with stream views etc (though I don't yet know the full extent of Plastic "Selectors")
Plastic SCM on the other end is much easier to setup and to use for newcomers, and is in fact very powerful and fast + inexpensive on the hardware

reef oriole
molten marsh
#

Try the #cpp channel instead. Since this is a C++ compiler issue.

#

Please read the #rules and make sure to read the channel descriptions and post in the most appropriate channel.

mighty light
storm sleet
vale basin
#

No I think he's saying the plastic plugin improved that much in the last 6 months

storm sleet
#

well, I hope that 5.1 releases earlier than in 6 months ๐Ÿ˜„

sterile dragon
#

Sorry, lets just say I was given wrong indications

reef oriole
storm sleet
#

well, I hope that this will be true then..

#

would be a nice marriage present if you ask me ๐Ÿ™‚

#

btw how stable would you consider the main branch of the plastic plugin? I'm asking because we should finally upgrade the plugin...

reef oriole
# storm sleet btw how stable would you consider the main branch of the plastic plugin? I'm ask...

I have released the v1.6.1 of the Plastic SCM plugin, with bugfixes and improvements for UE5.1, after more thorough testings:
https://github.com/SRombauts/UE4PlasticPlugin/releases/tag/1.6.1

GitHub

1.6.1 release with bugfixes and improved support for Changelists and upcoming UE 5.1

Fix calling too many times Progress.Tick() crashes the GPU Out of Memory: fixes #93 and #97
Support new 11.0.16...

storm sleet
#

oh nice, perfect ๐Ÿ™‚

woven sluice
storm sleet
#

imagine tim sweeney would go to my marriage and give me a boxed bluray version of Unreal 5.1 ๐Ÿ˜„

fair monolith
#

@reef oriole does Plastic support submodules? And if so does the UE plugin support them? If so I might give it a shot.

reef oriole
fair monolith
reef oriole
fair monolith
#

๐Ÿคฃ

#

What do I do now with my PhD in branching? ๐Ÿค”

reef oriole
storm sleet
#

In general, the plastic books are a recommended read for workflows etc

#

Also writable xlinks are pretty annoying. When changing their contents, you first checkin the changes, and then checkin the new xlkink reference. I wish that could be just one checkin or something like that

lapis lintel
#

What's the easiest source control for a single user just needing to work between different computers?

mighty light
jaunty hornet
#

There are issues with our Perforce server at the moment, is it possible to work on an asset by making it writable, and then afterwards collect all changed files and add then to a chagnelist

vale basin
#

Yep, uncheck read only in file properties. The afterwards through p4v, right click your project folder and go "reconcile offline work", and it will check for modified files

#

@jaunty hornet ^

jaunty hornet
#

Oh awesome thanks!

#

'Reconcile' is such weird wording

vale basin
#

Depending on the size of your project it could take a few mins to reconcile

#

Yeah, I know it's used in accounting, but don't know why it was used in this context, seems there are clearer terms to me

jaunty hornet
#

The thought of Perforce being used in an accounting firm fills me with horror

vale basin
#

Lol

winter ermine
#

Greetings! Do all source control solutions have different ignore files or it's standardized? (file name, format...etc)

vale basin
#

They are all a bit different

winter ermine
#

And there's no functions or anything to handle that, right? would I have to manually modify each file depending on the source code used?

#

(I'm working on a plugin for the marketplace, so it should adapt seamlessly to the client's solution, or lack of)

vale basin
#

I mean, you can just include the lines in your documentation. If I bought your plugin and you modified my source control without my involvement, I wouldn't be happy

winter ermine
#

It would just be adding an ignore directory from my plugin content folder, some files I use as temp files so it won't be prompting you to check them out every little operation

#

But it's a good point, I could just include it in the documentation, or display a prompt the first time you launch it

rigid bobcat
#

@woven sluice thanks, your arguments helped me in convincing my higher ups. We'll have an SVN repository in the network drives server and the launcher will manage updating local copies. I still have to make it force multiuser on the second user opening a project someone else has opened. And working with the IT to setup SVN server is impossible.
So question: would multiple machines interacting with the same SVN repository in the same network drive work fine, or is going through an instance of the SVN Server software required to avoid collisions?

potent mist
#

So I know that the Binaries/Intermediate folder should be ignored for p4. However should the Saved folder be ignored as well?

winter ermine
reef oriole
storm sleet
#

Some teams might want to ignore the whole plugins/developers/riderlink folder. It's only useful for the programmers...

#

Btw it won't be useful for us to use the standard ignore.conf since we have our unreal project stored in a subdirectory. Might be a nice feature to search for the repository root and look there for the ignore.conf and use paths from that root

winter ermine
#

Btw, I use Rider, although I do the source control from within UE or from PlasticSCM app

#

Didn't find an (easy) way to connect Rider and Plastic

reef oriole
reef oriole
reef oriole
reef oriole
winter ermine
winter ermine
storm sleet
#

afaik it's only .idea and Plugins/Developers/RiderLink or what it is (the rider link plugin)

#

the plugin will be installed by rider itself, and with UE4 I highly recommend to install it in the engine, but with UE5 it doesn't work

#

so only able to install it in the project

#

imo it's only useful when working with rider, and it's just one button press inside rider, so I recommend to not check it into plastic

#

btw this is our ignore.conf (with some minor adjustments)

/Build
/DerivedDataCache
/Intermediate
/Saved
/.vscode
/.vs
/.idea
/*.VC.db
/*.opensdf
/*.opendb
/*.sdf
/*.sln
/*.suo
/*.xcodeproj
/*.xcworkspace
/Plugins/*/Build
/Plugins/*/Intermediate
*/Thumbs.db
*/.autosave
*/*.blend1
*/*.spp.painter_lock
*/*.pdb
*/*-DebugGame.*
/cloaked.conf
/Plugins/Developer/RiderLink
.idea
*/.mayaSwatches
#

note we have a few ignores for maya, blender, substance painter, etc

winter ermine
#

Would you guys suggest I use branching for a code plugin for the marketplace that I'm working on that will have two versions (Regular and Pro)?
Around 70% of the code will be used for both, and the rest 30% is Pro exclusive, but obviously some UI elements would need to be modified to accomodate for the changes in functionality

#

I've been thinking about the best way to deal with the parallel projects and it just occured to me that branching might be the way to go but I've never used it, so not sure if that's the sort of thing it's used for

vale basin
steel dome
#

Can anyone help me with multi user editing ?

#

I cannot connect to the server for some reason... :/

#

Driving me insane

bitter lark
#

So this 70% of the code that will be same needs to be there at the time of branching out, after that any changes on this 70% part will have to be done on both branches.

#

One solution could be to actually have a branch with just this 70% (common code) and another 2 branches, on for each version you have, this way the updates on this common code would be done there first, and then merged into the other two branches more easily.

winter ermine
ornate willow
jolly fog
#

Generated world partition levels are showing up as blanks on my teammate's PC when I push them on Git.

#

I replicated this on my own PC as well by cloning to a new location.

jolly fog
#

I don't see a WorldDataLayer file in my project directory.

vale basin
#

One file per actor means each level has both the main level file, but also a file for every actor

jolly fog
#

no actor files it would seem

#

and not every level has a _WP version

vale basin
#

There should be a folder called ExternalActors

jolly fog
#

I used this to batch convert:

from subprocess import run
from pathlib import Path

'''
Convert existing levels to World Partition enabled levels.
'''

if __name__ != '__main__':
    pass

for map_path in Path.cwd().glob("*.umap"):
    print(f'{map_path}:')
    run(['C:/Program Files/Epic Games/UE_5.0/Engine/Binaries/Win64/UnrealEditor.exe',
         'C:/devfast/NeosphereInteractive/1971-INF-PC-Project/INF_PC.uproject',
        #  '-ReportOnly',
         '-run=WorldPartitionConvertCommandlet', map_path.name,
         '-AllowCommandletRendering',
         '-ConversionSuffix',
         '-SCCProvider=None'
         '-Verbose'],
        cwd=map_path.parent)
vale basin
#

All of that needs to be committed with world parition

jolly fog
vale basin
jolly fog
#

I'm only concerned about the suffixed versions

vale basin
#

Ok, and are those folders versioned?

#

If they aren't pulling down on your new client, that's your problem

jolly fog
#

why doesn't git detect those?

#

it's not in gitignore either

vale basin
#

It should. But also, with OFPA it's easier to work through the editor integration

jolly fog
#

oh shit they were indeed ignored

#

I think this will solve the issue

#

facing some crashes due to partially loaded actors on some levels?

#
Asset 'C:/devfast/NeosphereInteractive/1971-INF-PC-Project/Content/FoliageTypes/SM_Walnut_02_FoliageType.uasset' cannot be saved as it has only been partially loaded

KERNELBASE
UnrealEditor_Core!ReportAssert() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformCrashContext.cpp:1807]
UnrealEditor_Core!FWindowsErrorOutputDevice::Serialize() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:76]
UnrealEditor_Core!FOutputDevice::LogfImpl() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\OutputDevice.cpp:56]
UnrealEditor_CoreUObject!`anonymous namespace'::ValidatePackage() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:199]
UnrealEditor_CoreUObject!UPackage::Save2() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:2444]
UnrealEditor_CoreUObject!UPackage::Save() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:1789]
UnrealEditor_CoreUObject!UPackage::SavePackage() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:4380]
UnrealEditor_UnrealEd!UWorldPartitionConvertCommandlet::Main() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Commandlets\WorldPartitionConvertCommandlet.cpp:1511]
UnrealEditor!FEngineLoop::PreInitPostStartupScreen() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3659]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:137]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() 
...
vale basin
#

shrugs i think thats more related to how world partition is loading stuff. Might be better for #level-design or something

jolly fog
#

no matter, I hadn't cleaned up all the generated data from my previous runs

#

I deleted em and it's good

jolly fog
#

@vale basin why do some of my levels not convert to _WP?

#

Okay I managed to generate some using the editor internal commandlet interface

vale basin
#

again, not exactly source control related, also i'm no expert on converting levels to WP, maybe #level-design might be more suited

jolly fog
#

got it

warm marten
#

i had connected a git repo to UE, after i created a folder, but its folder doesn't appears in commits

#

why ?

young crest
#

I have git lfs installed and everything

#

why is this happening?

young crest
#

nvm fixed

lapis lintel
ornate willow
#
  • log into https://dev.azure.com/ >
  • make new organization >
  • select your org on the left side >
  • on the right side press the blue + New Project >
  • choose private, give it a name >
  • click project, press Repos on the left >
  • initialize a new Repo, add the UnrealEngine .gitignore (see screenshot), press the Initialize button >
  • on the top right click Clone >
  • click GENERATE GIT CREDENTIALS >
  • save that shit, that will be your username and password login and you can never recover it, you will need to regen it >
  • open sourcetree, try to get through the installation. I remember it was a pain >
  • go back to azure devops and under the CLONE screen where you got the credentials, copy the HTTPS code >
  • in sourcetree, press Clone, paste the HTTPS code under Source Path >
  • at this point it should have you log in with those git credentials. it might have you log in with your microsoft login first, then the git credentials second, or maybe just the git credentials. I dont remember ๐Ÿ˜„ >
  • if successful, set the destination path, clone the repo, then cut and paste your entire unreal project into that folder >
  • go back to sourcetree, press file status, stage all changes, TICK THE BOX AT THE BOTTOM "PUSH CHANGES IMMEADITELY" type a commit message and hit commit, now it's live
  • OPTIONAL RECCOMENDATIONL: dont integrate git with unreal, just go back to sourcetree and stage and commit the changes from there
worthy junco
#

Hello! I have a question about team workflow. We have a level designer that uses many asset packs from the marketplace. And he is connected to source control. Question: How Can he not upload all these assets to version control? He uses only part of them but source control detect new added files and tries to upload them. We need detect files only used in the level

quaint obsidian
#

delete the whole folder but then skip deleting assets with references

loud rock
#

Hey ! Any idea where Unreal save the default values we see when we open the Connect Source Control tab ?

#

this. Thanks !

vale basin
# simple lodge or a few days

Shouldn't take that long. It basically just checks hashes of the files from the server and calculates the hashes of the files locally to check for files that are modified. even for a several gigabyte to tens of gigabyte project should take at most a few minutes

teal bone
#

If there was ever anything to sticky....

lapis lintel
ornate willow
#

I really believe people should give azure lfs repos a try, it's free unlimited storage with minimal headache

lapis lintel
sleek blade
#

My God! How is it that renaming a file starts Source Control update and then crashes because of no Video RAM memory... WTF Unreal...

simple lodge
sharp bane
#

does anyone have a monthly price estimate for a standard perforce ESP installation on microsoft azure for a small team of 4 doing regular work?

pliant salmon
#

Hey guys, trying to follow guide on getting mass community project up -> git clone, followed by git lfs pull, git lfs pull doesn't do anything - any one know why ?

simple lodge
#

cloud is expensive

storm sleet
sleek blade
#

I'm using SVN in one of my local SSD drives

storm sleet
#

Can't really help with that. Iirc it was related to the progress bar being updated a large amount of times per tick, and SRombauts tried to solve it by only sending a progress bar update once every few ticks or so. I don't know what's under the hood, but it could make sense

ornate willow
reef oriole
# sleek blade My God! How is it that renaming a file starts Source Control update and then cra...

It's definitely an Unreal rendering bug; the source control progress bar, that keeps refreshing every frame, is somehow eating all the gpu memory (and the main RAM as well, so depending on your setup you could run out of RAM before you hit the GPU out of memory)
It's something that I should also workaround with Git & Subversion, but in this case I don't know what would be the best fix (simple: remove the progress bar)*

quaint obsidian
fierce torrent
#

Is it a bad idea to make one of my plugins a git submodule or will it work just fine? Also I'd appreciate a hint if this doesn't make sense at all.

long hull
fierce torrent
long hull
fierce torrent
long hull
# fierce torrent what about the --recursivesubmodule flag, i dunno the spelling exactly but i hea...

Yes, some git commands have some submodules flag (like --recurse-submodules for git clone), which works great. Overall, submodules work in Unreal projects just as they would for any project. So depending on what you're doing with the submodules (e.g., fetch, push), there are different ways to get that done. My main Unreal project is a super-repo of hundreds of submodules, and it works just fine, you just have to adapt your workflow to it.

fierce torrent
long hull
hollow cobalt
#

Is there a way to create a filter that would find just the external actors that are checked out/marked for delete/marked for add/etc.? A bit new to perforce and looking for a few tips for efficiency.

woven sluice
#

that looks like a view of an existing submitted change?

#

are you having trouble making sure that you are finding all modified/changed actors before you submit your work or something else maybe?

autumn warren
#

Anyone working with small scale source control, in this case, just have the project content being synced between a stationary and a laptop in another location (working on the project at work in my breaks but only bring it home in the weekends). What is the best way to achieve this? I'm currently just dropping a zipped file in dropbox at the end of the day ,but I often forget to do this, and then can't work on it that evening at home. If recommending dropbox or something like that, is there a way to virtually link it so I don't have to move the project to the dropbox folder?

red geyser
#

SVN over Local Network?

woven sluice
#

you should learn and set up a proper version control system (Perforce, GIT, Plastic, SVN), dropbox/cloud sharing is not source control and not something you should be using

urban crystal
autumn warren
#

Hojo, yeah I know, it was just my temporary easy solution, since it was just for me and my laptop, thats why I was asking. Perforce just feels a bit too much for a simple 1 on 1 syncing ๐Ÿ˜…

#

And no, it's not local network, my laptop is at work, and want to sync it with my work at home.

hollow cobalt
# woven sluice that looks like a view of an existing submitted change?

Yes it's an existing submission. But images get ppls attention faster than just text, hence the image to boost the signal.
I'm looking to make it easier to find the external actor changes as they are added to the default check in list. Curious if there is a way to filter them for easy submissions and changes.

hollow cobalt
woven sluice
# autumn warren Hojo, yeah I know, it was just my temporary easy solution, since it was just for...

well... the important message here is that "1 on 1 syncing" is both unsafe and unhelpful because it implies that you don't have any history availability or capability. If you want to get into this industry, learn at least one of the four major version control systems. it's unavoidable that you will need to learn a couple of them and the sooner you start building skill the better. unfortunately there isn't really a 5th "small scale" option - there's just those pieces of software, pick your poison

#

(before someone Ackchyually 's me, obviously I am ignoring the other lesser used ones like Mercurial and other super obsolete ones)

autumn warren
#

Fair enough, thanks

#

Yeah, I was looking at alternatives, and they all seem to have some bad cons to them

analog tusk
#

hi there

#

wanted to know if there is a good job description for Devops engineers for git maintainer ?

tacit bough
#

CommandMessage Command: Connect, Error: Workspace 'Ericthegreat-dvcs-1660077229' does not map into this project's directory.

#

how i fix this

#

i have the uproject in the directory

#

i can load it from the folder

#

I dunno what the issue is

visual pond
#

Hello, I've been using Perforce P4V locally for a few weeks now, but I don't quite understand what's actually happening. Could someone give me a very simple description of what specifically the root folder, depots and workspaces are and how they interact with each other?

I'd like to get all the latest files of my project and have them in a non Perforce managed folder. How would I do that? Where is my actual project located?

red geyser
sleek turret
#

Hi! Does anyone know how to set up Git for source control in UE5?

#

I've tried to do it but it results in a bunch of errors

#

Do I need to add a .gitignore file somewhere? How do I configure it?

woven sluice
# visual pond Hello, I've been using Perforce P4V locally for a few weeks now, but I don't qui...

a p4d server is a running program that manages all of the perforce server's depots, and it maintains running data on all clients for the server, including info about each clients' workspaces.

a depot is just an area for files to be contained in. each depot goes in a physical folder somewhere as dictated by server settings. depots on the server are not supposed to be human readable, although you actually can browse it and see what the depot contains (it is kind of human readable, but you shouldn't go in there except for committing manual open heart surgery on your server during a dire scenario).

a workspace definition is kind of like an order list. the client (i.e. a developer) can create a workspace with a specific mapping to decide what stuff they want to work on from the server and where the stuff should be placed on their local machine. the workspace can list things from multiple depots, it can just cherry pick certain things from one or more depots, whatever is needed. in other words, the workspace "maps" folders or even individual files from a server path location onto a local computer path location. (modern streams depots and streams workspaces work slightly differently, but the same basic idea applies)

the server and p4 client work together to transfer any files that have been mapped from the server in the client's workspace definition to the actual local folders specified by the workspace mappings.

in order to transfer everything in a depot to a non-perforce managed folder, you would want to create or already have a workspace set up that maps all target files (e.g. a single mapping of a depot root to a local folder path on your PC), and then after running get latest, you could either simply copy the entire folder elsewhere... or simply select all files/folders in windows and remove read-only status and delete the workspace so you don't use it anymore. i don't know why you'd want to do that though.

visual pond
# woven sluice a p4d server is a running program that manages all of the perforce server's depo...

Interesting! That definitely cleared up some of the questions that I had. Thank you so much for the in depth explanations!

For the non perforce managed folder, I just want to have a completely standalone backup file of all the major updates to the project and store them somewhere. Dump them in a backup folder in the cloud and forget about it. Just in case I majorly mess up something. Then I always have an additional layer of backups, that aren't dependent on a system that I don't understand. Probably unnecessary.

Anyways, thanks again for the explanations! ๐Ÿ’ช

red geyser
#

So Perforce is source control, you can always go back to your older revision / version if you mess up

teal bone
#

"always"

red geyser
#

edited ๐Ÿฅฒ

woven sluice
#

yes, that's a bad idea

#

the correct proceess is to regularly back up the perforce server, there are articles online about it, it is a bit complicated

#

relevant keywords are "checkpoint" and "journal" files

#

that said i have been running a server with lightweight usage for like 8 years without backing these up awkward only issue i've had was when i discovered Jenkins has a magical ability to corrupt some stuff when you use it to commit files with parallel sync on ... had to go do the aforementioned open heart surgery after that to replace corrupt files in the depot with other non-corrupt files
(i also don't really care if i lose project histories at my current stage of development, no projects anywhere near release right now)

wispy estuary
#

is there a benefit from going from perforce to github

#

LFS isnt the issue

woven sluice
#

the benefit is that you aren't using perforce anymore and are now using git.

the downside is that you aren't using perforce anymore and are now using git.

pick your poison

#

most people prefer the VCS that they are already familiar with

wispy estuary
#

there is more than 20 of us an im wanting to not have to pay that license fee

#

already am just git seems to fit cause we have a secured box for the repo

#

but i was just wanting know ahead of time if there will be a format issue or if there is a user limitation

storm sleet
#

Formats aren't the issue, but the source control plugins and the matching of the VCS itself. Git isn't great with big binary files (even with LFS) while perforce is better (afaik, no experience here). And (for me very important), perforce plugin is "the epic way", basically, so it'll likely work best among all source control plugins (though SRombauts tries his best to get the plastic plugin to a similar level)

#

(take this with a grain of salt, I have only a little experience with git in combination with Unreal and definitely no experience with p4 whatsoever)

ashen plaza
#

should I use GIT?

#

what would you guys recommend?

#

(intending to get more devs later but I just want to backup files for now)

#

and does source control automatically backup?

teal bone
#

No it doesn't.

#

Git is good for non binary stuff. You can use lfs for binary stuff, but it may or may noy work as intended.

#

Git lfs *

#

Other options... I'm sure others can fill you in. Avoid perforce.

ashen plaza
#

have you used any personally?

#

im not quite sure what using "binary stuffs" means

teal bone
#

Assets. Blueprints, content, etc.

ashen plaza
#

so c++ classes wouldn't work?

teal bone
#

I use git and perforce for work.

ashen plaza
#

or are you implying something else

teal bone
#

Git is great for c++

#

Bad for large, binary files.

ashen plaza
#

what's considered large?

teal bone
#

Any file that is not plain text.

ashen plaza
#

my uproject folder is 2.85gb, it is entirely made of binaries so far

#

oh

#

for now then I will just backup my file manually then look into it again if I need to manually implement DRP in cpp

teal bone
#

No plugin is going to delete all your stuff.

#

But there's other reasons to use source control.

#

In case you fuck up. :P

ashen plaza
#

Yeah I want to eventually have someone else having access to the project aswell

#

speaking of which, if I give that person access could they just quite literally delete all the files?

#

I would think it would be possible but then again no company would be able to function with ue5

lucid stream
#

in a revision control system, "delete" is just another version - one that you can switch to, or not.

#

that said - in git, you can undo pushed commits (assuming no one else has pulled them) and in perforce there is obliterate. curious if anyone's tried dropbox + file versioning for their projects. I assume people can't work directly out of a dropbox folder, but use some sort of script to sync to/from it

teal bone
#

Someone can just delete your project on github or whatever server you use too. If you give out the wrong access.

vale basin
lucid stream
#

I'm just imagining two artists trying to work on a UE project together, and telling them to use a VCS being a near non-starter.

#

My day job involves both Perforce and Github (enterprise) and I'm in them enough to know I don't wish them upon most folks just getting their feet wet in UE with a friend.

vale basin
#

Yeah i get ya, the learning curve for initial setup if you've never done it before feels a bit like a wall.

#

The main problem I perceive there is that cloud options are expensive, so people opt for the free routes which tends to complicate the initial adoption

lucid stream
#

I think there's this delicate over/under balance that can't be overstated enough. UE is fairly complicated to someone who's new to tools like it, and in order to bag enough wins to have the grit to persevere through other seemingly unrelated things (like VCS, CI, builds and distribution), the story that starts with "well, me and three friends want to try making something" has to have a low barrier to entry. it doesn't have to scale to a 1000 person AAA studio development process, but it can't be spend 20 hours doing VCS, to spend 2 hours with UE

vale basin
#

Yeah i hear ya. Unfortunately there just isn't an easier option at the moment. Unity now has plastic for free for small teams. Wonder how long until epic buy p4 and assembla?

#

atleast if you can remove the sys admin overhead of adopting a good version control you then only have the workflow side to learn. I know azure devops has free lfs, but setup isn't exactly user friendly, the azure interface is pretty overwhelming, and lfs (having only used it a few times) still feels brittle and janky

lucid stream
#

i wouldn't wish LFS on even my enemies.

vale basin
#

I think the best "starter" would be something like the old style p4 repos, or subversion. Forget all the branching, and have it purely for revision history and sync'ing, and it'd be the ideal complexity to just learn a lock, modify, commit style workflow, and then as the team grows you could adopt a more complex system. Just have to work out easy hosting

lucid stream
#

the vfx industry has a deep history with massive NAS's and everything-as-a-file unix-like paradigms, and custom built tools to manage the flow of files. i mean, it works if you dev in a linear fashion as that industry tends to be through following shots and scenes. for a very small scope, it'd be kinda interesting to try writing some scripts that could be relatively easy to import, that just follows a linear save->snapshot model. no branching, no merging, everytime you save a snapshot appears, and your friend gets a notification that they're out of date, and then they get the ability to retrieve the new snapshot and incorporate their work in there. it'd likely break, and they could possibly roll back, but eh. it'd be interesting

vale basin
#

Yeah... lets not get onto that. I used to work at an advertising firm that had a post and realtime department. Oof, the workflows from post made me shiver. Forged through many fires to basically invented a limited version control system, but damn.... the resistance to even let my realtime department adopt perforce....

lucid stream
#

i mean, in some ways a limited VCS is kinda what i think makes sense for most people. not everything that perforce or github provides.

#

i'd argue that through the years perforce really hasn't made any reasonable strides for game development in particular, or a world where more of us are distributed and not hunkered up in a studio with a LAN connection to the server.

vale basin
#

Yeah, but i mean, the jank that sync'ing something like that through dropbox would bring in so many problems of it's own. Files coming in before others with dependencies on files not yet retrieved. The solution would be to have some sort of index, but what happens when that file is in contention? You end up going "why don't we just sync a subversion repo" which is just begging for corruption. The issue is still "how do we host a large amount of large files, cheaply?" and there isn't any good answers yet

#

sorry not host, i mean host and sync

lucid stream
#

Yeah, I think some of that could be solved through some careful delineation between where things can change and things become snapshotted (and no longer permitted to change, but can be referenced). Again- it wouldn't be for a real dev team. The target group in my mind is like 5 or less, with decent bandwidth and a "small" project (like, maybe a few GB at most) - just enough for people to get off the ground. Maybe a few dozen snapshots (kept) at most.

#

hopefully there isn't just like, a single uasset encompassing everything (is that even possible?) - i get the need for folks knowing who is working on what since changes aren't mergable, but in small teams it's usually more that you have folks working on something that isn't overlapping with someone else.

red geyser
#

If any team here is looking for Perforce setup and maintenance, Can help you with it

tacit bough
#

@red geyser hello

#

is it normal to take 15 hours or so for p4v to copy the project to the digitalocean droplet?

red geyser
#

depends on project size and internet speed may be

tacit bough
#

hmm its not that big of a project, i wonder if im importing it correvtly

#

or if im exporting the wrong files

#

I think i get like 70mbps up?

storm sleet
#

Let me just remind you how my colleague suggested to just use sharepoint for source control... Because it does versioning

lucid stream
#

Why use unreal engine to build tetris when Excel works

storm sleet
#

Not only that, sharepoint is not reliable when it comes to versioning

#

Sometimes it doesn't create a new version from the old state, and I don't know what happens when two people write a new version simultaneously.

#

Well, it might work as a shared DDC

quaint obsidian
#

imo, git lfs has worked wonderfully for us

tacit bough
#

I get 10 Mbps up

#

Because comcast

red geyser
#

Still 6-7 max

storm sleet
#

I only use git for smaller projects (but well, I only have quite small private projects)

#

plus, we have our own git implementation that works slightly different, but compatible

#

(though we surely don't have a LFS implementation at all)

quaint obsidian
#

you don't have to use git flow when using git, it's often quite inefficient in many contexts

#

many software teams are using a revert on fail based flow with regular manual review upon conclusion of a development cycle, and this works well with game development as well.

wide raven
# ashen plaza should I use GIT?

Avoid git for Unreal, all pain ( because of large binary files and lack of locking ). Perforce is used by a lot of studios because it supports file locking : .uasset files wont get into conflicted states. Plastic looks pretty good too.

ashen plaza
#

Thanks

teal bone
#

Svn is probably easier to set up, though

#

(also supports locking)

storm sleet
#

afaik with git lfs there's some kinda file locking, too, but not that reliable iirc

#

plastic is great (but sadly not free or open source)

red geyser
#

To Build Engineers / Dev Ops here, How do you gain experience with Source Control during initial stage of the career?

storm sleet
#

probably just do it?

#

I can recommend reading the plastic books on devops and branching and stuff, but it's good to have a little experience before that

#

if you have luck and can work for a bigger company with a dedicated team for that you can try learning from seniors etc

red geyser
#

makes sense. Thought I could find teams who need help with Source Control / Build Stuffs here. But kinda hard to find

storm sleet
#

if they are like us, there's not enough money for dedicated IT stuff

red geyser
woven sluice
red geyser
#

naah, I wanna get experience with maintaining Perforce and Making Builds and improvise on that

ashen plaza
teal bone
#

Not sure. Nobody really uses it any more because of perforce. But perforce is icky.

red geyser
#

Perforce is not that complicated but costly

lucid stream
#

I'd say Perforce complexity is related to your studio size, rate of change, geographical distribution, the variance in skills/roles, whether you're building from source / maintaining a fork, depot size and branch/stream management - coupled with your outsourcing patterns, permissions granularity, dependency management between games/services/libraries/etc and then some.

#

If you're a 5 person team who sees maybe 20 submits a week, a workspace size of a few GB, rate of change in the MB, equal permissions for everyone - yeah, it can be pretty simple if it was setup reasonably well from the get go (typemaps, case sensitivity, maybe some triggers, naming/structure, etc). Access via public internet - no VPNs or anything.

teal bone
#

It's not about the complexity of perforce. It's just about how shit it is.

lucid stream
#

I'd say Perforce is kind of like driving on rainbow road. you gotta build the guardrails yourself.

lucid stream
teal bone
#

Well, I use Epic's one for my job.

woven sluice
#

the only thing you can totally rag about against perforce without any contest is its pathetic licensing/cost repercussions for indies. beyond that most complaints stem from ignorance or are based on 15 year old experiences with it. i'd complain about stuff i experienced in GIT 15 years ago too.

teal bone
#

By now means am I saying anything else is better. Just perforce is poop.

woven sluice
#

by this metric, we all are. we are all poop.

red geyser
#

Perforce is poop. But why? You need a reason to hate it. Why ?

lucid stream
#

So, we're moving to dropbox boys. pack it up

teal bone
#

This is entirely possible.

#

I either have a massive misconfiguration with parallel executions, or the p4v client is terrible (taking hours to do things) - the p4 cl client is better, but it's still not great.

lucid stream
#

so, parallel sync is not great.

#

but if you're on Epic Perforce - why aren't you using UGS?

#

Unless you mean you're consuming from the public licensee endpoint.

woven sluice
#

i mean, sure it's annoying that parallel sync doesn't have a progress bar, but ... ?

teal bone
#

What I mean, hojo, is that, even for several hundred thousand files, it should not take 40m to compare "does this file exist?"

woven sluice
#

you mean during a manual reconcile?

teal bone
#

It's not about a lack of progress bar, it's just the sheer time it takes.

#

No.

#

Sync and clean.

lucid stream
#

clean is just a form of reconcile.

teal bone
#

Well, yeah.

woven sluice
#

why are you cleaning so much then, sounds like a you problem

teal bone
#

Because if I don't, the engine often fails to compile.

lucid stream
#

"my workspace is dirty", fix it perforce.

teal bone
#

Pretty much.

woven sluice
#

why would the engine fail to compile, what kind of horse pr0n do you store in your cpp files

teal bone
#

Because perforce is shit at syncing and often leaves behind files it shouldn't.

red geyser
red geyser
woven sluice
#

it really isn't shit at this. like really isn't. but maybe some plugins in 3rd party software are (3rd party from perforce's perspective)

teal bone
#

I'm not using any 3rd party software with perforce (that affects a sync command)

quaint obsidian
#

imo, Perforce's model for revisions is just broken

woven sluice
#

i think all of this is just you complaining that it's slow at reconciling/finding junk that you added to your folder (which, actually, I'll admit it is for large codebases with a remote server). i don't have enough XP with source build usage to understand or know why you would be getting into this situation

quaint obsidian
#

Git is far superior with snapshot based revisions

#

also, no bisection built in

#

branching/streams are cumbersome and don't eagerly meet needs

lucid stream
#

vanilla reconcile for hundreds of thousands of files takes as long time cause it has to hash all the files and compare to the server. there's a flag that just compares file mod time that goes faster. and then i've seen some folks write utilities that basically fully use the crap out of an nvme drive and go wicked fast - that should be native in Perforce fwiw.

teal bone
#

This does not happen 100%.

quaint obsidian
#

history migration is nontrivial in Perforce

#

Perforce server side operations are slow, and connections can routinely expire/drop out

#

Git is much, much faster

lucid stream
#

i'm not so sure. try using git with a large game repo and it can feel slow as shit even on a powerful desktop. i had to interact with a ~120GB unity game repo with 700k files and i wanted to gouge my eyes out everytime i had to do random git commands against it (like, um, git status)

#

don't get me wrong - all of my iac/cac is in git and i use it daily for that stuff. i wouldn't touch it for AAA game dev

woven sluice
# teal bone This _does not happen_ 100%.

well... if a tracked file was marked for delete on the server, it's getting deleted from your workspace when you Get Latest. anything otherwise is a problem that you should not be having, because it's not a problem that perforce has. i have not experienced what you're describing even a single time in about a decade of use. something else is at fault

quaint obsidian
#

How long ago was this? Were you using LFS?

lucid stream
#

Perforce hasn't really caught up in a world where client machines can be as powerful as a server. Giving up some ability for client side caching is a good thing. UGS does some stuff on that front.

#

~2 years or so. yep, LFS backed by an internally hosted LFS repo host

quaint obsidian
#

Because Microsoft have invested a lot of improvements to Git so that they could host the Windows repo on it

#

so it's very strange that you encountered these issues

lucid stream
#

yeah but like no one really can use it. are you using vfs?

quaint obsidian
#

We are using standard Git, VFS isn't the only optimization they've done

#

multipack, threaded index, threaded checkout, commit graph, loose pack maintenance, etc

#

most commands are instant irrespective of repo size

teal bone
quaint obsidian
#

We have a 100GB with over 100k files, afaik. And we did not experience a single noticeable slowdown in anything

#

in UE4

#

Granted we do use custom tooling that we made and anyone can use. It sets things up to be optimal and handles edge cases

lucid stream
#

That team's game I'm referring to also had to build custom tooling - a custom workflow tool for the basic sync/branch/submit with most of the things figured out for non-technical folks. no one used it via command line at that point except a handful of engineers.

woven sluice
#

curious if there's any other engine licensees using epic's perforce on here who could back up these complaints :\

lucid stream
#

I've witnessed some of those issues personally. The problem sometimes occurs with: an unreliable network connection (particularly during a sync), a program open that prevents files from updating correctly, and the unfortunate reality with very large projects that sometimes workspace drift isn't problematic, until it is and it isn't clear at what point how it got that way to begin with. The only thing you can do is run a reconcile to figure out what the heck is different, and then wonder why perforce didn't remove certain files (that it thought you no longer had), or didn't give you files (because it thought you already had them). The challenge really is other tools, I feel like, and Perforce client simultaneously not being efficiently paranoid enough about workspace distrust to identify and rectify things in real time.

#

Perhaps Perforce's "Helix Sync" daemon tool can implement a sort of Facebook/watchman style watcher to constantly monitor for file changes that happen outside of the p4 client.

#

UGS is pretty good about this - it keeps a local md5 cache of what files you have, will check the server for checksums, and do git-like things to help rectify somewhat (and force sync when necessary)

woven sluice
#

that's weird. perforce syncs have always been reliably atomic for me. i've never gone above a 5-digit filecount though.

lucid stream
#

The problem is, you really do need an impartial tool to watch the file system and catch people on their bullshit. Sometimes people will just go in and modify a file to writeable because the server is slow in the moment and then wonder why sync freaks out.

#

Yeah, Perforce is pretty easy at small repos. It gets trickier with both quantity and complicated integration history

#

half the issues i'd say are sort of self-inflicted with people wanting and needing to do more complicated workflows, without really understanding what the longer term ramifications of them are. :\

teal bone
#

I would hope the people at Epic do, though.

mighty light
#

does anyone know why the perforce plugin for vs keeps prompting me to check out the latest version of my .sln file every time i load it? it was checked in at one point but its been removed for ages and is even on the ignore file

jolly patrol
#

Daily reminder to save your source in UTF-8 without BOM. A project I'm on had encodings in UTF-16LE, UTF-16BE, and UTF-8, some with BOM some without, and it broke Git diffs for a lot of files which made a big branch merge miserable

storm sleet
#

Daily reminder that utf8 does never need a bom by design. Only the other utf versions need it.

red geyser
#

as far as I saw, it took 9 hours to create a branch. So its slow tbh

vale basin
#

Streams shouldn't take that long. As far as I know old style depots were incredibly slow to branch though

woven sluice
#

Dev streams actually should and do take that long, because unlike most other "popular" systems they are actually creating a full standalone copy of everything upon creation

IIRC task streams act more like how most people expect branching to work (only creating file copies for modified files), though I've never timed/compared them the same way because we are still on alpha and just do mainline dev

past valley
#

hey folks. I have been using perforce for some time, and while I know the general workflow, I have some questions I hope more experienced users are able to answer:

  1. Is there a way to have p4 automatically detect changes to source/binaries files without using the P4 Visual Studio plugin? (The plugin tends to make visual studio extremely slow for me). Maybe there is a way to point to specific folders and tell p4 to keep checking changes in the files? (Also, P4VS plugin apparently only works for VS 2022 which at the moment is causing some issues with our project, so we're using 2019).
  2. When you create a new workspace and pull things they become read-only by default, which is annoying. I know there is a flag to turn this off (Allwrite) when editing the workspace, but is there a way to make this default behavior on the Depot-level?
  3. Is there a way to have some files be submitted to P4 (so we can keep the version history) but only accessible to the person that submitted it? We want to keep submitting /Developer/ content to p4 so we can keep the version history, but we do not want users to pull each other's Developer content.
  4. Let's say we have 2 separate projects in different Streams, and we want to create a shared code library or plugin that sits in a third Stream. Is there a way to make both projects A and B streams to also pull from the shared code library? As in, the user goes to stream A, hits Get Latest, and they will get the latest files from stream A + stream Shared. If this is possible, is it also possible to prevent changes to the shared stream unless your workspace is in that stream?

Thanks!

lucid stream
# past valley hey folks. I have been using perforce for some time, and while I know the genera...
  1. Can't speak for them personally, but there's other plugins out there. https://github.com/rlabrecque/SimpleP4VS/ is one I've heard of.
  2. You'd have to create a form-out trigger that sets that option to make it a default. https://www.perforce.com/manuals/p4sag/Content/P4SAG/scripting.triggers.forms.html If you're new to triggers in general, it may seem like a bit of a hurdle.
  3. You'd have to do this with customized rules in the protect table, and every user having their own path. e.g. UserA is the only one with r/w permissions to //Developer/UserA/...
  4. Yeah, this is via something called stream views, particularly import (there's more, but import sounds like the only you're looking for). The newest versions of Perforce have permissions specific to who can modify stream views, so you could get granular on who can edit them.
woven sluice
#
  1. sidenote - import does not permit submitting changes to the imported/shared stream but import+ does
lucid stream
#

gotta love it when folks push changes to a shared dependency (through an import+), mute their pager and disappear for the weekend while everything else depending on that dep breaks heh

hushed granite
#

I am going to look at PlasticSCM looks to be very cool

ashen plaza
teal bone
#

Think they're all free?

#

It's the hosting that gets you.

mighty light
#

Just get a nas a host it yourself. Sort of /s but not really since it's a perfectly valid solution and you can get a small nas or ex Soho hardware for cheap

#

Or just use an old pc if you have one laying around. Not sure how something like an rpi would work but considerably older desktop hardware should be more than enough

red geyser
#

Perforce is free upto 5 users

merry verge
#
  • the cost of hosting it
urban crystal
digital talon
#

Apologies if this has been asked before, but does anyone have an ironed out solution for code reviewing Pull Requests online for Unreal? I'm coming from the Unity side, so it's much easier to code review C# code right on Github.

But am I correct that there's no way to view Blueprint graphs outside of the Unreal editor? I'm ideally looking for a way to add comments and see side-by-side Blueprint file changes. But even without that, just being able to view a Blueprint file online or 3rd party would be better than nothing.

storm sleet
#

afaik there's some "offline" blueprint diff tool, but you can't comment etc, only view the diffs. the tool is part of unreal, but I never got it working

#

i only got it working from inside the project (with an already-open editor)

digital talon
#

interesting, thanks for the fast response! I think I found what you're talking about. https://github.com/TheZoc/UE4DiffAssistTool ?

The main sticking point for my team is that we work in a lot of different software. So the hope is that we don't all need to install Unreal, and manage editor versions and whatnot. The person code reviewing would ideally be able to view diffs at a glance without needing the editor at all

digital talon
#

A friend told me about this, for at least viewing Blueprints outside of the editor. There's still some functionality I'm wanting here, but at least I can open this side-by-side to vaguely point out diffs. Wanted to share it here too, in case anyone was looking for a similar thing. https://blueprintue.com/

storm sleet
#

That last one is pretty well known at this point. I think that the epic games dev portal also allows you to paste in blueprints etc.

I think the first tool is not what I'm talking about, but the ones you get by diffing with source control using the standard Unreal editor.

merry verge
#

The diff and merge tools: #source-control message
Ignore the fact that I'm talking about p4v, it's source control agnostic.

#

It's built into the engine. The tools kind of suck, though.

pearl grotto
#

Hi there, I'm just starting using perforce by following this blog https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
I wonder that is UE5 Source (from Github) needed to be upload. Can I just upload the project file (Launcher build) and let 2 person code c++ on this?

runic summit
#

I had a heck of a time figuring out that a file was missing from one workspace - I was hitting get revision and nothing was happening, and I had to use force get file - it works and the file immediately appeared in my content browser, so hooray, but I'd like to understand a little more what caused this?

#

Like, is there a way I can view what perforce thought it was in my workspace and why it didn't try to actually send the file that was missing?

urban crystal
pulsar parcel
#

I would suggest putting your project in a subdirectory from the workspace root though, will make switching to a source build easier later

#

also that allar guide is not the best, it doesn't even go through creating a stream depot, instead just using the default //depot/... depot

pearl grotto
#

Is there any other good guide to follow?

#

So far I found Allar, Perforce (official), and some other youtube video

pulsar parcel
#

well creating a stream depot rather than using the class //depot/... depot is a start

#

which you can do from p4admin

pearl grotto
#

Ah I see, I think I found some youtubes that do it different from Allar guide. I'll keep that in mind. Thanks again then.

woven sluice
#

it's super important when working with a perforce controlled project to always run file management through things that support perforce - e.g. so that deleting a file in some program will mark the file for delete for you as well in a changelist

hollow brook
#

We are trying to build a Linux dedicated server on a Windows build machine and we are getting the following compile errors. It looks like a character encoding issue, but its P4CHARSET=none which is the same thing on my desktop and laptop when neither have a problem. Any ideas?

vale basin
#

I know git does, P4 isn't messing with line endings is it? EOL characters are different on windows and linux

hollow brook
#

It may based on the P4CHARSET I suppose? Since a value of none just attempts to auto detect the setting.

cyan jay
#

Also, would be worth checking the file in hexeditor for nulls at the start

reef oriole
storm sleet
#

I know, but I never really got it working

reef oriole
#

mm, "interesting", I know remember that I wasn't able to configure the new GUI
I'll first check from the command line
I'll double check my setup with my current Plastic GUI & UE5.0

quaint obsidian
#

afaik, someone had a working set up here to create Blueprint images on PR

#

but I forgot where it was

devout blade
#

Hello, we made a fresh git repo with unreal template project but whenever I submit a change, my friend cant see the exclamation mark icon on the remotely changed files (cant see the files have been changed). Also clicking Sync crashes the editor if there are any remote changes. We are dumbfounded how basic Git workflow goes with UE. Any help please? (We are using the default Git plugin in Unreal. We are also open to use something different than git that's better for source controlling uassets)

hollow brook
cyan jay
hollow brook
#

Yea

#

I tested all the commands to run on my local desktop and laptop, both compile fine. The when the build server attempts to do so, it fails with those null character errors

cyan jay
#

ok, the only thing that comes to mind is a p4 bug I found recently which was causing build errors on our build machine due to some locale thing. Turns out the latest p4 command line was the problem, and rolling back to an earlier version fixed it.

#

I uninstalled the standalone p4 client and installed the one that comes with the latest version of the Helix Core Apps installer [p4 reports Version 2021.2/2273812 (2022/04/14)].

#

this was from the help ticket I had with Perforce

#

this version of p4 was able to sync the problem file correctly

hollow brook
#

Oh interesting, I'll definitely try to compare the p4 versions. Thanks for the tip!

reef oriole
# sleek blade My God! How is it that renaming a file starts Source Control update and then cra...

As stated earlier, it was a long-standing rendering bug in Unreal Editor Source Control, related to the introduction of modern renderers like DX12 RHI
I submitted a PR with a fix (and e-mailed one of my Epic Games contact)
https://github.com/EpicGames/UnrealEngine/pull/9492 [UE-100291][UE-160299] Fix source control progress bar crashing out of video memory in case of long-running operation
Fixes:

reef oriole
# devout blade Hello, we made a fresh git repo with unreal template project but whenever I subm...

You most likely need a better version of the git plugin that will handle also the push/pull, try the most maintained one from ProjectBorealis from @ mcoms
https://github.com/ProjectBorealis/UEGitPlugin

GitHub

Unreal Engine Git Source Control Plugin (refactored) - GitHub - ProjectBorealis/UEGitPlugin: Unreal Engine Git Source Control Plugin (refactored)

bitter island
#

Using Perforce; Anyone know the best way to have the Engine Source and your Project's Source in separate streams, but add the project back to the engine so UnrealGameSync works?
Currently, I have a paths rule import+ ProjectGame/... //ProjectGame/Main/... on my Engine Source's 'Main' stream, but when developers create development streams for the project, there's no way for those to know where the engine source is and work with UnrealGameSync

ashen plaza
#

what do I put here?

#

tag please

#

all i did was set up the perforce server and now I am admin, I am not really sure what to do now

red geyser
#

You gotta create a workspace in client first

worldly sun
#

Hello guys i m looking in to setting up a server for my project, i was looking in to Vultr and DigitalOcean but i tested their speed and it downloads with 1.5 Mb/s that seems slow to me is there faster solution ? But for similar price amount ๐Ÿ˜Š

#

To mention that i want storage 20GB+ and there will be up to 5 people i think, so if there is someone to recommend something, i would appreciate it

woven sluice
#

1.5 Mb/s is pitifully slow, i would question if your test results/method is accurate

#

though I don't have any XP with either of those, I just don't think anyone would use them if they were that bad

worldly sun
#

i went to their page and test a file download

#

of 1GB

woven sluice
#

and it took ~90 minutes?

worldly sun
#

i have 150/150 MB/s internet speeds

woven sluice
#

well that's 12 Mbps not 1.5, still seems kinda oddly slow to me but who knows. uh, I'm hosting a VPS through Gandi.net and i can get 100 Mbps

worldly sun
#

yes that is why i said 1.5 Mb/s not Mbps

woven sluice
#

MB/s

worldly sun
#

it is kinda slow 12Mbps for me

woven sluice
#

definitely agree with that, there should be better options out there. I pay around $20-30/mo for a linux vps running a small perforce server, like I said it delivers 100 Mbps with parallel sync enabled, and that's real speed when pulling my project down, not a speed test.

worldly sun
#

that sounds nice buddy

#

i would pay up to 20$ month for speeds like that

#

i didnt see on Vultr and DigitalOcean offering servers with better speed, is that a thing ?

worldly sun
#

I think i will rephrase my question and explain bit better

I need i small advice for source control server. I have used Assemla, Perforce and GitHub in the past but i was never the one who set them up or buy, so now i need it for a project with up to 5 people and at least of 20GB project storage. Any advice for a decent price and good internet speeds you can give me ?

I have looked at Vultr and DigitalOcean for the server but the speed test on them show kinda low imo
https://i.imgur.com/JVvTQd0.png
https://i.imgur.com/oDyfpbo.png

cyan jay
worldly sun
#

is there option to pay for faster transfers ? i dont get it

cyan jay
#

No speed option AFAIK. Is the server you're using in the same geographical area?

worldly sun
#

the closest server was around 2k kilometers from my destination who i tested

#

i did test others just in case but slightly were slower

cyan jay
#

34MB/s for me for London server, pretty much max for my 350mb/s connection. But if it's not good for you then you need to find one that is ๐Ÿ™‚

#

idk where you are but maybe one of the big data centre operators like Aws/Azure might be better if they have closer servers available?

worldly sun
#

i m usualy ok for all eu regions with speed and latency. i m located in north macedonia the ballkan territory

#

next to bulgaria and greece

worldly sun
#

i m going with Voltr

cyan jay
worldly sun
#

is there difference in performance ?

cyan jay
#

The only thing is you might need a higher spec VM to run Windows. But if you've never used Linux before I'd suggest going with what you know.

worldly sun
#

i think i would go with Linux cause it wont make any difference i have never worked with code

#

i know some basics in UE with blueprints lol

cyan jay
#

good luck to you then ๐Ÿ˜›

worldly sun
#

lol

cyan jay
#

you know what I'd suggest, download VirtualBox and install a small linux VM locally. Try setting up perforce on that before getting a cloud host.

#

once you figure out the steps it will be better to install it from scratch on the cloud vm

worldly sun
#

i m exploring tutorials but most are for DigitalOcean unfortunately

cyan jay
#

the actual provider doesn't matter really

worldly sun
#

ok that's helpful thx ๐Ÿ™‚

#

i once set up git with LFS so i guess i will make this work

#

or not ๐Ÿ˜›

cyan jay
worldly sun
cyan jay
#

nps - Perforce is great but it's not beginner friendly.

worldly sun
#

i have used most of source control softwares in teams but i was never the one who set them up so it is time to learn i guess ๐Ÿ™‚

cyan jay
#

๐Ÿ’ช Level up your skills

heavy yarrow
#

apologies ๐Ÿ™‚

#

so I just change it to this and it'll set me up with the delta?

#

(first time building from source if its not painfully obvious)

wind gazelle
#
  1. change origin
  2. open git bash on repo folder
  3. git checkout origin/ue5-main --track
  4. git pull --rebase
heavy yarrow
#

sorry, I'm tech artist not a linux guru

#

I don't even know what git bash is

wind gazelle
#

if you installed git for windows you would have it

#

in context menu

heavy yarrow
#

I have git desktop here, can I just use the link here:

#

aight so I need to install git for windows

wind gazelle
#

never used it so idk

#

search

heavy yarrow
#

yep

wind gazelle
#

just open that github for desktop and look what it has to offer in menus

heavy yarrow
#

swear word swear word swear word swear word swear word

#

here's me thinking I pulled it off without it trying to claw my face off

wind gazelle
heavy yarrow
#

how come when I look at ue5-main page on github, it says releases Unreal Engine 5.0.3 on the right?

wind gazelle
#

?

heavy yarrow
#

I use sourcetree for my projects, and fork for my work

#

I meant doing it in command line

wind gazelle
#

then just use sourcetree

#

just any git frontend

heavy yarrow
#

mmm

#

aight, well, I won't keep hassling you guys here, I obviously need to go and learn more about doing this right before attempting something at this level

#

still think it's a bit cruel that the instructions say fork from UE5-main but when you do it gives you 5.0.3

wind gazelle
#

it is not, you got entire repo when getched

#

just need to change branch

#

and pull latest from origiin

heavy yarrow
#

ok, I know enough to know what that means

#

and on the right it's saying this:

#

and here in git desktop (now that we've modified the origin it's saying this:

#

doesn't that mean it's still trying to do 5.0.3?

heavy yarrow
#

ok i know rtfm

inland sapphire
#

also github desktop is lame

#

use git extensions or something

#

or even the raw shell if you are brave enough

heavy yarrow
#

I'm choking down my hatred for being forced to use command line and learning to do it properly via git bash

wind gazelle
#

just get any git frontend, tortoise, sourcetree,smartgit or hundreds of others

#

just things typing in console sometimes much easier than clicking menus

teal bone
#

None of them will do everything you ever need.

#

And knowing a bit of CL will help you when you actually need to use it to sort something they can't do.

woven sluice
#

You said you already use sourcetree so why aren't you using sourcetree??

jolly fog
#

what is the cheapest hosting solution for perforce?

red geyser
#

host a VPS

jolly fog
red geyser
#

I dont think there is any other method. Get a cheap VPS and host

#

Or get a dedicated IP from ur ISP, and host on ur local PC

jolly fog
#

aws education acc. perhaps?

red geyser
#

again its complicated

red geyser
woven sluice
woven sluice
#

wat

#

anyway, yes, rent a VPS and run it yourself if you want long term savings, great if you can use an edu account!

robust bluff
#

I'm creating a plugin, we'll call it "Big Plugin". This plugin has a few modules. One of them is a type of "Core" module that all modules reference. Well, now I want to have a module from that plugin, and the core module also be their own separate plugin, we'll call it "Small Plugin". So 2 plugins, 1 plugin is just 2 modules extracted from the big plugin. My question is, is there a good way to do this with source control? What if I'm working on the big plugin and I make improvements to the modules that are used in the small plugin and vice versa. See the problem I'm facing? How do I handle this? I'm currently using github for my plugins

heavy yarrow
#

Aight... so I'm continuing my misadventures trying to install ue5-main as a git noob

#

I'm in git bash, I'm following this tute:
https://www.youtube.com/watch?v=wGq-XK8mffg&t=240s

In episode 2 of the UE5 game development series, we'll look at setting up access to the Unreal Engine source code on GitHub, cloning the repo, checking out a version to build with git, and compiling it using Visual Studio.

Previous Videos - https://www.youtube.com/playlist?list=PLLIn4osBl0FsKVoxTF0Xi8tvO34XALuNP
Github Project - https://github....

โ–ถ Play video
#

I've typed:
git checkout --track origin/ue5-main
and... nothing is happening ๐Ÿ˜ฆ
what have I misunderstood this time?

#

ok ok, it's kicked in minutes later

woven sluice
#

but why aren't you just using source tree if you already know how to use it

heavy yarrow
#

because whenever I try to do anything outside of my normal worn track it doesn't work, and then I don't know how to fix it because I don't understand the stuff going on behind the scenes.

#

and when I ask for help it just pisses everyone off because they give me a linux word salad and I don't know what any of it means

#

so, I'm ditching UI and going full command line

#

(learning it that is)

heavy yarrow
#

just out of paranoia, what happens if my net connection drops out in the middle of updating dependencies?

#

If I reconnect straight away will it pickup again automatically?

limber dew
#

Showing All Messages
ERROR: Couldn't find target rules file for target 'ShaderCompileWorker' in rules assembly 'UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

#

i am getting this error in xcode

#

anyone who knows how to fix this issue

ruby hornet
#

Hey all, does anyone know how best to deal with fixing up redirectors in a multi-branch project (using Plastic SCM)? We know that they're causing issues with missing files and they should get fixed up, but I'm just wondering if that should be done once in a merged branch, or done in each branch separately before we merge.

idle vortex
ruby hornet
#

Ok that's what I was thinking. Thanks!

idle vortex
#

It may cause some of your edited files on the branch to need resolution (I used perforce so verbiage may differ)

#

i.e. P4 couldn't diff the files and thought the fixup on the mainline was an edit

#

so there were quite a few reconciliations that were superfluous

ruby hornet
#

Oh for sure, Plastic will definitely require checking in all the fixups since it will see them as file deletes. My guess is that it will put them in the 'conflicts that no longer require resolution' category though, as we merge each branch.

idle vortex
#

if your branch is mostly adds and not edits then it's less of a concern

#

exactly

#

but references that are fixed up are the problem

#

not the redirectors themselves

ruby hornet
#

Right... BP and C++ references

#

We have a big demo tomorrow so I think I'll hold off doing this until after that

#

I don't want to risk messing any references up now

idle vortex
#

i.e. if you edit a file in your branch that references a redirected asset then it will almost certainly show a merge conflict

#

even if there were no edits to the main

#

(other than the fixup)

ruby hornet
#

Right... I don't think that should be the case, it's more likely that older BPs' references get broken and cause compile issues, even though they weren't edited in months

#

Probably better to deal with those later, and for now just hope there aren't any redirector-specific issues we've had in the past.

#

Thanks again, @idle vortex very helpful

idle vortex
#

np

heavy yarrow
#

I'm getting this error message:
UnrealBuildTool has banned the MSVC 14.33.31629-14.33.99999 toolchains due to compiler issues. Please install a different toolchain such as 14.32.31326 from the Visual Studio installer.

#

It feels like it's saying I should have used 2019 but I'm pretty green at this

#

p.s. I done checked out ue5-main after learning enough about what that meant

#

aight, found a thing on the forum

#

So... this person says they fixed the above error like this:
https://forums.unrealengine.com/t/unrealbuildtool-has-banned-the-msvc-toolchain/556715

#

but when I go to do that I get this:

#

Now this is unchecked:

#

So I try to turn it back on and only turn off the "bad" MSVC toolchain and I get this:

#

Aaand, this is stupid, I'm out <facepalm>

See you next year when they release 5.1 properly

reef oriole
# idle vortex Assuming the fixup is consistent in each branch, doing them individually first i...

Ouch, I would be interested in knowing more; my understanding of redirectors is that they certainly shouldn't be fixed on individual branches!

  1. Redirectors are added by the Editor only if you use source control, so that if someone else is working on the affected assets, they can still work with them and submit without problems (even if it's in only a few days)
    They are there to solve "big team problems" where:
    1.a. you cannot always fix all the assets because some might get locked by other people
    1.b. if you can fix all the assets, but someone has a new asset locally that reference the one you moved/renamed, it will be broken after you submit/merge
  2. Redirectors should therefore only fixed-up later (when you have the guaranty nobody holds a reference to them), on main, ideally when nobody is holding any locks (eg at nights/weekend if you have a policy to not go on weekend with assets checkedout)
reef oriole
storm sleet
#

how about this: when trying to fix up the redirector, first try to check out all affected assets, then fix the reference only in the checked out (=locked) assets and place a warning that the redirector is still there because there are still locked assets?

quaint obsidian
#

@heavy yarrow this isn't the right channel but you dont have to uninstall the new one, just install the old one and it'll select it

dense ginkgo
#

Hi, I'm trying to set up git for my already existing project. I believe a git repo must be empty when created? Would it be better for me to just copy/cut and paste my whole project into the git repo after it's been created? Is this risky?

#

Or is there a way for me to create the git repo within my project folder and commit everything (build/config/content/source)

reef oriole
reef oriole
# reef oriole That's exactly what is done automatically under the hood, Unreal only fix the re...

But it doesn't change anything from the high-level goal of redirectors & workflow:

  1. running it on a task branch will make the branch more "heavy", changing assets that would not need to for the task, and more akin to merge conflicts
  2. it might fail or be incomplete, so it will still need to be done later
  3. running it in parallel in multiple branches might fixup the same redirectors on all of them, potentially doing a similar change on a series of assets that will end-up "binary different", so in conflicts
reef oriole
reef oriole
dense ginkgo
#

great thanks i'll try that!

storm sleet
#

does Resave All also fix up redirectors automatically?

dense ginkgo
# reef oriole You can and you should totally just "git init" from within your existing project...

Looks like I was able to git init and commit just in git bash and github desktop. I set up the gitignore and LFS myself and it seems to have worked.
I was unable to do it from the engine as I'm rebuilding the engine from source right now and I thought while I wait I'd finally get around to starting using source control, a few years late but better late than never haha.

Thanks for the help!

reef oriole
storm sleet
#

makes sense

lofty warren
#

so in p4v, I unshelved some files I want to submit

#

and when I go to submit them it says they must be unshelved or deleted

#

but the only reason they are in my CL in the firstplace is because I unshelved them

#

what does p4 want from me?

#

ok seems moving unshelved files to new CL sorted things

urban crystal
lofty warren
#

thanks, yes that is correct

torn latch
#

Anyone know what may be causing a perforce server to start prompting all users for a password constantly out of the blue (including super users and admin groups that have unlimited timeout)?

P4V is suddenly triggering p4 login -a in the log every 15-30 seconds or less for all users today.

I have tried rebooting the server without any change laughingcrying

urban crystal
torn latch
#

says the ticket expires in 135056 hours and 13 minutes

#

but P4V still prompting me for a PW every few seconds

#

same for everyone else

#

Been running the Perforce server for 2 years without any issue like this ๐Ÿ˜ฆ

storm sleet
# robust bluff bump ๐Ÿ™‚

This is not really a source control question and if it is, there's not enough details to answer it. For example, you can have one big repository with all those plugins and maintain both plugins inside one project inside one repository. Source control-wise there's no special handling then.

If you want to split it, you have the options the specific VCS tools provide, e.g submodules in git, xlinks in plastic. However, there's probably some extra work you don't necessarily want.

urban crystal
torn latch
#

oddly enough it seems to have stopped doing it for me out of the blue...

#

but I will see if I can find anything in the logs that stands out

jolly fog
#

how many vcpus and ram for helix core?

urban crystal
jolly fog
#

8gb ram? what the... 8gb ram just for source control?

#

@urban crystal

urban crystal
#

have fun with these then

jolly fog
#

but why do you say 8gb ram for simple source control?

#

thats what i am wondering

robust bluff
storm sleet
#

Well, I guess you want to work with submodules then. The big plugin with the fancy module and the core module as a submodule, and the small plugin with only the core module as a submodule

#

Or just reference the core plugin

reef oriole
# jolly fog 10,000 files will require 10 MB of RAM and so on. https://p1community.force.com...

The first things to note with their estimate of 1.5KB per file is that;

  1. this is only for the server to be able to load the whole history of the repository in memory in order to server any query without paging; this is the very bare minimum quality of services
  2. you have to count all the revisions of all the files, including all the copies for streams/branches; so this can grow fast, eg with an average game project of 50k assets you could well end with millions of revisions (so on the GB already)
  3. then you want memory for caching the file content themselves! you certainly don't want all sync operations to need to use the SSD every time, so at least a few GB of cache to hold all the last day's submit will definitely help
  4. and you also need the rest of the OS to breathe, so on Linux, a server could go with only 1GB (but if you install a desktop it's already 4GB)
    All that factor in that 8GB would certainly be the minimum
reef oriole
storm sleet
#

"old desktop computer" "8GB"... I wish I had your scale of "old"

vale basin
#

If you are working a full-time job somewhere, or your SO or a team member, make friends with the IT department. Computers get refreshed every 2-3 years, you can usually pickup some old stock from them cheap or even free

#

Easy way to get yourself a small server, build box, etc

reef oriole
#

(Off topic) I have been playing with my 2016 VR desktop PC for 6+ years... with 32GB of DDR3 already!
And this was replacing my 10y old Core2duo from 2006 that had 8GB or DDR2.
I have not been in companies where they would refresh PCs every 2-3 years, but every 5 years definitely

vale basin
#

A lot of bigger non-games companies I've been at lease PC's so they refresh pretty regularly due to the lease expiry.

jolly fog
urban crystal
#

do as you please but don't complain if performance is sub-par with your setup

jolly fog
#

i can always switch from 1 to 2 gb ๐Ÿ˜„

storm sleet
#

also consider external actors. each actor is a unique file...

jolly fog
#

yeeeees. i managed to setup azure lol
: 1gb ram for helix core XD lets see if that is enough

storm sleet
#

External actors or one file per actor

jolly fog
#

ehm... i dont understand what you mean with that

#

is internal actors then a thing too?

#

one file per actor means only i can edit a mesh or a c++ file if i am checked in? but external actors?

#

@storm sleet

long hull
#

External actors means level store each of their actor as one file on disk. So if you have 10k actors in your levels, you have 10k files on disk. Internal actors means all actors are stored in the level file (umap).

woven sluice
# jolly fog my game will have much less assets than 50k. so 1gb ram should be fine

my team has only a few devs working part time... ~30-40 GB of depot files, probably something like 25,000 file total. using a ubuntu VPS with 512 MB of ram and it is completely fine. I actually upgraded it from 1 core 256 RAM to 2 cores and 512 RAM just to future proof it, and there was absolutely no difference, it went from fast before to just as fast after. just make sure you can upgrade if you need to (as you have already mentioned). my guess is that slowdowns might happen if you have multiple people doing operations at the same time but smaller teams usually don't run into much of that.

jolly fog
#

HI

helixcore@helixcore:/etc/apt/sources.list.d$ $ sudo /opt/perforce/sbin/configure-helix-p4d.sh -h
$: command not found
helixcore@helixcore:/etc/apt/sources.list.d$ $ sudo /opt/perforce/sbin/configure-helix-p4d.sh
$: command not found
^ both do not work

perforce.list:
deb http://package.perforce.com/apt/ubuntu focal release

this is installed:
helix-cli-base/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-cli/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d-base-22.1/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d-base/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d/focal,now 2022.1-2305383~focal amd64 [installed]
helix-p4dctl/focal,now 2022.1-2305383~focal amd64 [installed,automatic]

jolly fog
#

ok. issue was root wasnt enabled. thus is restarted the whole setup process.
now i stuck at this:
root@helixcore:/# $ sudo su /opt/perforce/sbin/configure-helix-p4d.sh
$: command not found

jolly fog
#

root@helixcore:/home/helixcore# p4d +h
Perforce server error:
Usage: p4d -h for usage.
Unexpected arguments.

cyan jay
cyan jay
#

Sorry I don't know how they have setup perforce in the video

#

But you should start from scratch and follow the official docs IMO

lapis needle
#

git causes my ue5 to run out of VRAM KEKW

neat arch
#

Hi, I am currently working on an UE5 school project with my team and we have set up a git repo on GitHub but realize that it takes so long to push a commit or pull from the repo if there are changes that include asset downloaded like metahuman models or Quixel assets, is there a way to speed up the process or is there any other way for us to work on the project together? Thanks for any answer.
p.s We have the unreal gitignore set up already

crimson coral
#

Hey guys. I've run into a problem that I've already spent more than a week on.

I created an E2 VPS at Amazon and installed a Perforce server there.
The download speed is very slow. 13 megabits per second...
I'm in Bulgaria, server in Frankfurt. Although I have 1 gigabit internet.

I understand that the distance is quite large, but I did not think it would be so slow.
Maybe I'm doing something wrong? What can affect download speed in perforce, PC or aws?

I will be grateful for any information!

teal bone
#

Are you transferring lots of small files?

crimson coral
teal bone
#

A lot of people have that kind of performance with perforce ๐Ÿ˜ฆ

#

I'm sure it's a configuration issue, but still.

jolly fog
#

data, metadata and log

woven sluice
#

do you have a progress bar that actually gives % complete when syncing -- if you do, then parallel sync is not on

crimson coral
woven sluice
jolly fog
#

Hey, how can I keep my binaries unlocked and keep them unsubmitable to repo at Perforce?

crimson coral
#

@woven sluice Thanks, this helped a lot. I also activated the AWS Global Accelerator service. As a result, the speed increased from 13 Mbps to 600. The ping dropped from 77 to 10 ๐Ÿ˜ณ

ebon hound
#

Hello people. I've been reading messages on this channel for an hour but I guess I still want to ask. I've always used Git + LFS. I've heard that Perforce is the first choice in the game industry, but I've never tried it myself. I may be able to expand the team to 10 people soon, but before that, I need to decide what to use. (Currently using the Git service provided by Azure)

The Helix Core software is free for up to five people. I read somewhere that you can share seats. Is this really a thing though? Is it legally possible to use a shared seat in order not to reach the limit?

With a team of 10 and a project size close to 100GB, what would be the estimated monthly cost for me using Helix Core? (Cloud expenses)

Does it make sense to go with Perforce or should I keep going with the Git service that Azure provides? I would really like to hear your opinions. Thanks!

woven sluice
woven sluice
vale basin
#

Lol. Really? That's the ballpark? That's same price as creative cloud per user. It's made out to be 3 house mortgages

woven sluice
#

like 3x the price of creative cloud... but also where do you live, i want to live somewhere where i can afford 3 houses on $1 per day ๐Ÿ˜„

vale basin
#

That's my point. It's like nothing when are at the scale of paying 5 developers.

merry verge
#

Perforce is the kind of software sold to enterprises and it's why their sales model is so opaque. It sucks for individuals, but it's unfortunately common for the kind of software it is.

vale basin
#

5+*

merry verge
#

See also: Visual Studio (or even worse, MSDN) when you have more than 5 devs.

woven sluice
#

oh, i understand what you meant now haha

vale basin
#

Yeah. Obviously the jump is a shock, but on the grand scheme of things, people are still far and away more significant costs. When you look at the time saved by this software, it's a no brainer.

merry verge
#

That's fair, I think some of the whining about price comes from the fact that a number of people here are just doing stuff in their spare time and not seriously building a business.

#

And of course people being used to tools being free.

vale basin
#

Yeah, and that's a reasonable viewpoint for a hobby project, but few hobby projects would exceed 5 people. I've heard an 80-100 person company complain about getting it for the 20 people in the realtime department. I had no idea it was in that ballpark, the complaints made it sound 10x that. The amount of money wasted elsewhere but the scrutiny for perforce... mind blowing

vague whale
#

Hi, I am thinking about using perforce

#

is it worth hosting it myself or using a managed service like github

vale basin
#

GitHub only hosts git-lfs, not perforce. Pricing is a bit strange on that with data packs. There's a hosted perforce service called assembla. I've not used it, but I understand it means you don't have to worry about the sys admin side of perforce. You can also host on just normal vps/cloud services. Doesn't have to be on-prem. If you are somewhat familiar with sys admin stuff, the basic server setup shouldnt take too long, but there's some stuff to look into such as backups and rotating the journals.

vague whale
#

assembla that is what i was after

#

yikes its way more expensive than github

#

i think self hosted might be an option

vale basin
#

Yeah imo the assembla route only makes sense for very particular circumstances. Teams up to around 20 that don't have sufficient sys admin experience, or shorter term projects. Otherwise I think it makes a lot more sense to self host

pulsar parcel
#

assembla isn't a good option for cloud hosted perforce unfortunately

#

recently perforce did send a survey to me which seems to be asking customers what they would want from managed cloud hosting

#

if they did it and it wasn't that much more expensive than hosting on AWS I would do it in a heartbeat

vague whale
#

Hello, i am setting up perforce, i was wondering if anyone knows if i should enable unicode mode, i assume i must else i can't use UTF-8

dusky pivot
#

Hey!
I'm trying to submit a 60Gb project
I have 100Gb free space on the AWS server
In the middle of the process I'm getting this error:

The filesystem has only 40.4G free, but the command estimates it needs at least 60.3G available.

Why perforce wants more space than the project needs? And how can I fix that?

iron bronze
dusky pivot
iron bronze
dusky pivot
vague whale
#

I am migrating to my self hosted perforce, i was using git and i have git submodules, should i delete the .git dir and simply update by dropping in a new release?

floral owl
#

How do you guys manage LFS files being read by git? We managed to add the files there but git keeps reading them as changes whenever an LFS pull happens. Junior devs are struggling working with this issue.

high spoke
#

I've been working on a solution for automating devops (starting with perforce). Thoughts and suggestions on what you think is most important features you would want? Web-based ui for managing infrastructure or automating disasters recovery or something else?

Here is a demo to what I've made so far. Source code in the description.
https://www.youtube.com/watch?v=864MNv4vqtI

Game Studio on AWS
https://github.com/zytalus/game-studio

My project is available on GitHub and covered under an MIT license.

When I started working on game development I wanted to use industry standard tools but, I never found a solution that seemed to link all of these tools together into a clean package for easy use. If I wanted to work on ...

โ–ถ Play video
fallen lynx
#

anyone know how to resolve HTTP 413 errors when uploading code using git lfs to Azure Devops?

dusky pivot
#

Hello!
I am getting this error in the perforce server log every second (Hosted on AWS), what is the reason for this?

Perforce server error:
  Date 2022/08/28 08:19:57:
  Pid 5160
  Connection from 15.177.2.97:63626 broken.
  Partner exited unexpectedly.```
I would be grateful for any advice!
fallen lynx
#

I've already done git config http.version HTTP/1.1 BTW

crystal prawn
#

guys I wanna ask i have c++ game project and my folder was too big maybe 14gb and its really smal.. also .git folder was big about 7 gb and i wanna create new git folder and upload it from start I just wanna know if I can use this gitignore i found https://github.com/MOZGIII/ue5-gitignore

GitHub

A git setup example with git-lfs for Unreal Engine 5 (and 4) projects. - GitHub - MOZGIII/ue5-gitignore: A git setup example with git-lfs for Unreal Engine 5 (and 4) projects.

#

will be all important files uploaded ?

fallen lynx
#

just do git lfs install then make a .gitattributes/.gitignore file and add all that stuff from the .gitattributes/.gitignore file into yours. After type git lfs track and then do your normal git commit/push. @crystal prawn and yeah that gitignore should work

crystal prawn
#

Guys can I also ask how I can input git credentials from AWS git ? in GitHub desktop

crystal prawn
#

guys I have problem with pushing my repository its cloned and i have also aws git credentials for it but it was no asking me for credentials... i have no idea where to put it

crystal prawn
#

guys I uploaded my project to google disc and downloaded here on my laptop and when I try to open it in visual studio everything is red....what can be problem ?

vale basin
high spoke
high spoke
robust bluff
#

I have a git hub repository that I want to be used as a submodule. So the content looks like this

- SubmoduleRepoName
    -Directory1
    -Directory2

When I use this as a submodule, I just want to pull the Directory1 and Directory2 straight into the project. So instead of

-PrimaryRepoName
    -DirectoryA
    -SubmoduleRepoName
        -Directory1
        -Directory2

I want it to look like this:

-PrimaryRepoName
    -DirectoryA   
    -Directory1
    -Directory2

is this possible?

crystal prawn
spark dust
#

Help me , my git ignore not works ๐Ÿ˜ฆ

vocal beacon
#

I also use this git lfs setup

spark dust
#

I was using github but I got a quota exceeded error for lfs files, then I switched to bitbucket and I got the same thing. I am using heavy assets of about 500mb or more, which remote repository do you recommend?

crystal prawn
#

it's till same

#

what it can be?

high spoke
#

Could it have something to do with it being a lfs

#

Like committing larger files is special permissions?

crystal prawn
#

i am trying to clone and this is third time i am getting this

#

i dnt understand i tried wifi and data and same

high spoke
# crystal prawn i am trying to clone and this is third time i am getting this
reef oriole
spark dust
#

I have consumed all my github bandwidth, what can I do to avoid this in the future? I am saving in the repository, the environment and the assets downloaded from the marketplace, is it correct or should I save it somewhere else so it does not consume so much bandwidth?

dusk moon
#

hi, sorry to double post my question and be annoying, but could someone direct me to a page to set up access to a project on multiple computers, id prefer to be able to work on my project from my laptop and still have it open on my rig but i also dont mind just having file access

#

again, super sorry for asking twice.

radiant musk
#

when it tells me I need to check a file out ,does that mean that the changes wont be saved ?

molten marsh
#

After accepting to check it out.

radiant musk
#

not sure what they are

molten marsh
#

Those are OFPA (One File Per Actor) generated files.

radiant musk
#

so it's fine ?

molten marsh
radiant musk
#

I tried to save the map and I get this again

reef oriole
# radiant musk I tried to save the map and I get this again

yes, that's a warning that you didn't Check Out the file, so it's not "locked" (to prevent others to also make changes) and you cannot Submit it to source control
you have to right click on the map in the Content Browser -> Source Control context menu -> Checkout

radiant musk
reef oriole
#

Yes, that's the workflow with Perforce ; it's meant for team work, to prevent multiple developers to work on the same binary assets that wouldn't be mergrable afterward

reef oriole
radiant musk
#

currently Im working alone on this project, so nobody else is getting the files

reef oriole
reef oriole
#

I have released a new version https://github.com/PlasticSCM/UEPlasticPlugin/releases/tag/1.6.2 of the Plastic SCM plugin, with additional polish to the support of Changelists for Unreal Engine 5.x
But more importantly, this version has been accepted and integrated (https://github.com/EpicGames/UnrealEngine/pull/9414) into ue5-main for their upcoming Unreal Engine 5.1 release ๐ŸŽ‰

GitHub

1.6.2 release with more bugfixes and polish for Changelists and upcoming UE 5.1
This version has been accepted upstream (as PR #9414on Github) and integrated by Epic Games into ue5-main for upcomin...

vale basin
#

Gonna have to give plastic a go one of these days

pulsar parcel
#

then you get frustrated at the bugs that have existed for over 5 years

crystal prawn
#

guys can i get advice why this is uploading on git when i have it in gitignore ?

#

I added it as whole file

#

i mean gitignore

#

but i try delete it commit push

#

and then paste gitignore again

#

maybe

#

and push

visual pond
#

Hello, I'm using Perforce locally and have a workspace that has my project folder in it. I just finished a new update and want to copy the Perforce workspace contents to a separate folder that isn't managed by Perforce. I want to do that so that I can package the project and then archive it as a whole so that I can store that specific update somewhere else.

I tried copy pasting the workspace contents to a new folder and disabled source control from within the project, but all files still seem to be connected or altered by perforce somehow. If I make and save any changes, unreal asks me to check out the related files out of perforce.

Could someone tell me how to properly do this please? I'd really appreciate it! ๐Ÿ˜„

woven sluice
#

what's the point of this? anyway, if you want to you should be able to 1) copy it, 2) remove read-only status from all files, 3) disable source control settings... or maybe delete the Saved folder to brute force return editor settings to default, might also work @visual pond

visual pond
# woven sluice what's the point of this? anyway, if you want to you should be able to 1) copy i...

I just want to store each major update in a zip file that isn't dependent on things like perforce or anything else. No particular reason other than being able to visit old updates on any PC whenever I want to.

It's a long term project so it's kinda cool to be able to jump between all the different stages in the future. Also, it's just another (probably redundant) layer of backups that I can store on an external drive or similar.

I figured out that even tho unreal asks me to check out the files from the copied project, I can just click on the "make writeable" button and that decouples it I guess. Do you know how I could remove the read-only status from all files at once?

jolly patrol
twin gust
#

does anyone use Helix Swarm? ๐Ÿค” does it have any notable adoption across Unreal developers?

wind gazelle
#

It is not like you choosing compiler

#

Add speific things later if needed, like if you have local solution caches enabled or smth else specific

short briar
#

Hi, guys hope you are doing good. Got a question I am using perforce and downloading a project from there. it has been 3 days of continues download and It has still downloaded about 3 - 6 % of the project. Tested my network connection its fine I have about 45 Mbps download and 50Mbps of upload but can figure out where the problem is.
can any one guide me

jolly patrol
#

Maybe the server is slow? Does Perforce tell you the download rate, or only progress? I know Git tells you the download speed

jolly patrol
lethal cedar
#

sorry, this is probably a noob question.
I canโ€™t get the maps to update with changes of another user in UE5 source control. In this case, making a cube red.

World partition streaming is off.
One File Per Actor is off. (on both users)
Automatically Checkout on Asset Modification ON. (on both users)

However, the Level asset doesnโ€™t seem to check itself out when I modify actors inside the level.
When I manually check out the Level, change cube material, move the cam, save, check it back in... then the Levelโ€™s camera position will update on the other userโ€™s machine when synced. But the cubes remain all blue.

Iโ€™ve had the same thing with Perforce and with Plastic SCM, so itโ€™s probably something Iโ€™m just not understanding about the workflow.
Other, non-level assets work as expected.

vague whale
#

Hello, i am looking at p4vs and opening my project, the strange thing is, the .sln file doesn't show, i guess that is because i have it ignored?

jolly patrol
#

Does anyone know the name of that Git GUI that's made specifically to be friendly for artists to use?

#

I can't find it in my bookmarks coolcry

neat grotto
jolly patrol
neat grotto
jolly patrol
#

Oh nice that's a good sign. I'm too poor to afford it for our game jam maybe if I write them they will have pity on us and let us use a trial or something ๐Ÿ˜„

merry verge
#

Damn, someone finally made an artist-focused git client?

#

That's been one of my big problems with git for any sort of large team. Most clients suck for non-technical users.

neat grotto
#

Anchor seems geared toward film/media teams, but it still looks promising for artist use in general.