[Game of Purpose] Day 16

[Game of Purpose] Day 16

Today I completed watching tutorial about integrating Perforce in Unreal Engine.

I learned about World Partitioning where by default in a level all the items are stored in 1 file. It means that only 1 person can edit it at once. This makes it counter-productive in bigger levels.

In World Settings you can enable “Use External Actors” to make Unreal store all the instances in a level in separate files

You can see in a file tree that all the objects in a level are stored as separate files in “__ExternalActors__” and “__ExternalObjects__” folders.

In deciding what to use: Git or Perforce I was really hesitating. I knew git and it would have been way faster for me to use. However, I decided to take time making friends with Perforce. I read it’s a standard in Gaming Industry the same as Git is in Programming Industry and I wanted to know why. What are its pros and cons.

Overall, I am pretty satisfied I spend a couple of hours learning Perforce. The major difference between Git is that Perforce makes sure only 1 person can edit a file at a time, since there is no way of resolving conflicts. “Depot” is a Git repository. “Stream” is a Git branch. “Submitting a changelist” is pushing a Git commit.

I am convinced I will use Perforce for my projects in Unreal Engine. It’s free for up to 5 people, but the server cost is higher than Git ones. I currently use a 16$/month droplet with 1vCPU, 2GB of RAM and 70GB of SSD storage with 2TB free fransfer. The power of this server is not a problem, since I am the only person to use it. It has a CPU bottleneck when I upload heavy files, but I’ll probably do it once in a while, so I can live with that. The problem is storage. Additional 100GB cost 10$/month. That’ll be 26$/month and I’m not sure if this strategy is sustainable in the long term. Anyway, for now I’ll probably leave this setup as it is, because I want to focus on Unreal Engine and not how to store its files.