Git SCM
From the perspective of a C++ developer, Git is indisputably the superior source control system.
It works great for small, technical teams, where everyone can compile their own Project and/or Engine.
When the team size grows large and/or non-technical people need access to the repository, and/or simultaneous modifications are being made to Blueprints, for example, Git ceases to be as good an option for the larger team, and thus Perforce is used internally at Epic.
If your team uses Git for your project, here is how I recommend to do it.
How To: Set up a Lyra Project Source Repo
See this detailed PowerShell procedure for the exact commands necessary to create and initialize a new Lyra Project Git repository.
Overview:
- Create
lyra-main
branch (import from Epic#NoChanges
)- This is an exact mirror of Epic’s Source Control.
- Never make any changes directly to this branch.
- Create
lyra-xist
branch based onlyra-main
(applyLYRAGAME_API
updates,virtual
overrides, etc)- See the Overview of
lyra-xist
for more details - This is your custom Lyra. Base your new games on this branch.
- See the Overview of
- Create
xist-game
branch based onlyra-xist
- This is your game branch. Build your game here.
- To get updates from the parent
lyra-xist
, mergelyra-xist
intoxist-game
- When you make Game commits that you want to propagate up to
lyra-xist
to share with other games, cherry-pick specific atomic commits
How To: Merge Epic Updates into a Lyra Project Source Repo
See this detailed PowerShell procedure for the exact commands necessary to merge new updates from Epic into an existing Lyra Project Git repository.