How does Amazon Lumberyard work with Perforce Helix?
What do I need to work with Amazon Lumberyard?
How do I configure Lumberyard for Perforce?
- Perforce/Helix support is built into Amazon Lumberyard.
- As you make changes to your game in Lumberyard, the integration will check files out or add them for you, transparently while you work in the editor.
- Later, you will need to submit these changes using an external tool, probably P4V.
- The Amazon Lumberyard integration is not officially supported by Perforce software, although we are happy to provide general advice to our customers who decide to use it.
- This is the Lumberyard Support page: https://aws.amazon.com/lumberyard/support/ Amazon encourages use of the GameDev Forums or pay for AWS support.
The Perforce integration is available in Lumberyard by default, you can find a “P4” icon which launches the Perforce settings dialog in the bottom right Corner of the screen:
You will need to enter the Server, User, Workspace and Password values in the dialog,
also Check the “Work Online” checkbox.
Once configured, Lumberyard will track user activity in the Editor, and automatically check files out from Perforce as they are modified.
Setting up a Perforce Helix Server
To use Perforce successfully you will need to create and maintain a Perforce server which will store your assets. This document assumes that you are hosting your own server. Note that if you are using a cable provider for you internet, you may need to request a static IP from your ISP to allow your server to be accessible by remote users.
I suggest reviewing the document “Planning Your Perforce Server Installation”
Note! Since you will be using Windows as a Lumberyard client, it is strongly suggested that you configure your server to be case-insensitive. This will happen by default if your server is on windows. Here are instructions for installing the Perforce Server on Windows.
If your server is on Linux, you can use the Perforce Installation Packages.
On Linux your server should be configured to run in case-insensitive mode.
Here is the Perforce Downloads Page. Please download the “Helix Server”
which matches your operating system and architecture.
If you are unfamiliar with the Perforce server, please review the
“Introduction to Perforce” guide and the “Getting Started with P4V” guide
If you have more then 5 users on your team, you will need to purchase a Perforce license to enable your server. Please contact Perforce Sales from the licensing page.
Setting up each Perforce client.
Each user will need to have Perforce client software installed in order to manage their Perforce resources and maintain a consistent asset state for development. Although Lumberyard will create changes for you,
You will need to use a Perforce client when you decide to check-in changes or decide to Sync another developers resources.
Our recommended client is P4V, It can be downloaded from the Perforce Downloads Page. If you are unfamiliar with P4V, please review the Getting started with P4V guide.
Once you have the server and client available, Create a dedicated Perforce Administrator account with local Administrator rights, and log in as this account before setting up Users, Workspaces and Filetypes. P4Admin is a tool provided with P4V which can help you with the Administration chores.
Ignoring Files (setting up p4ignore)
Some Lumberyard files should not be stored in Perforce, please use a .p4ignore file to make sure these files remain uncontrolled.
See Lumberyard Upgrading Excluded Files.
You can find a working .p4ignore file in the lumberyard source at \\Amazon
You must set the P4IGNORE environment variable for .p4ignore files to be active.
Here is the P4IGNORE man page:
Configuring Filetypes (setting up the typemap)
Perforce Filetype Options
It is important to differentiate “binary” vs text file formats.
As an administrator, run “p4 typemap” and update the file with the following block of text.
Setting up each User and Workspace
Once a user has P4V installed, they will then need to create a “Workspace” which is a location on their local machine, which will contain their Lumberyard
Make sure that this workspace contains the directory containing your Lumberyard files.
Setting up Workspaces in P4V
Typical Developer Workflow
- Update Workspace
- Every each developer can choose to update their local files (workspace) at a time which is convenient for them. There are several options:
- Do not update your workspace (too much stuff might break if you sync now), continue development using your existing assets.
- Grab a fresh build every day to have all the latest assets and code which was compiled overnight. Good for testers.
- Grab the latest changes your colleagues have made. Look for recent “Submitted Changes” in P4V. You can see what portions of the project have changed and decide to “sync” them to your local workspace or not.
- Reconcile Differences - If your update has any conflicting changes (between other developers and your own changes) you may need to resolve the Differences in P4V.
- Modify Assets - As files are changed in Lumberyard will they become writable and are added into the default pending change.
- Submit Changes - When your feature is complete, go to P4V to Submit your pending changes. You may wish to break your changes into Multiple change sets, and submit each change set with a different set of files and description.
- Repeat (Back to Update Workspace)