Game Engine Requirements

Start by setting up Helix Core and Helix Visual Client (P4V) with default options. You also need to download P4Admin. This tool will allow you to configure Helix Core.

To use Helix Core with a game engine, you are going to need a lot of storage space. We recommend at least 150 GB. If you plan on storying engine builds, you would want 300+ GB available. To save on space, store only the latest binary version. You can easily rebuild older version from the stored source code.

Configure Helix Core

Use the following instructions to create a superuser account, configure Helix Core, create a workspace, and set up file mappings for your game engine.

Create a Superuser Account

To start setting up your account to work with a game engine, you need to be a super user.

  1. Open a connection to the Helix Core server. Enter in an IP address or hostname. This will create a reachable connection to your client machine.
  2. Enter your server's hostname or IP address in the server field. Include your port number (default:1666) to connect to your client.
  3. Click New to create your user account.
  4. Enter your new user details. Click Save.
  5. The new username should populate in the user field. If not, type it in. Enter a password and click OK.
  6. If you are prompted with a wizard, close it by selecting Do Not Use Wizard or Close Wizard
  7. Now you should be in P4V. Navigate to Tools > Administration to login as a superuser. Click Yes to confirm.

Configure Security For Helix Core

You need to configure your server to ensure that no one else can create a user account. 

  1. To reinforce your security, open P4Admin and navigate to Administration > Password Security Level. Select Security Level 3. Click OK.
  2. If you get errors, your password is not strong enough. Navigate to the User & Groups tab. Right-click on the user and choose Change Password.
  3. Next you need to disable public user account creation. Navigate to the command line. Click to open. Alternatively, use the Windows Key + R, type in cmd, then click enter.
  4. In the new command line prompt, type the following and click enter.
    p4 configure set dm.user.noautocreate=2

    The following text should display:

    For server 'any', configuration variable 'dm.user.noautocreate'set to '2'

    If you do not see this text, check your spelling and try again.

  5. Run the following command to disable unauthorized viewing of your Perforce user list:
    p4 configure set run.users.authorize=1

    The following text should display:

    For server 'any', configuration variable 'run.users.authorize'set to '1'

    If you do not see this text, check your spelling and try again.

  6. Run the following command to disable unauthorized viewing of your Perforce config settings:
    p4 configure set dm.keys.hide=2

    The following text should display:

    For server 'any', configuration variable 'dm.keys.hide'set to '2'
  7. You are done configuring Helix Core. If you do not see this text, check your spelling and try again.

Create a Workspace

Workspaces in Helix Core create a local copy of your project that you can work on. Then you can pull and push changes from your Helix Core server.

  1. Open P4V, select New Workspace from the Workspace drop-down. You need to adjust the settings to work with your game engine. Note: Your workspace can be used with either Unreal or Unity. You will need to create a folder and file mapping specific to your game engine — but this will happen later.
  2. In the New Workspace window, create a workspace name. You want it to be short and simple.
  3. Create a Workspace Root. This should also be short and map to a depot. Your default depot will be name “depot”.
  4. Click the Advanced Tab.
  5. Leave all settings as default but make sure to select the following:
    • Modtime: set file modification times to what they were in the submitter’s workdpace
    • Rmdir: delete workspace directories when empty
    • On submit: Revert unchanged files
  6. Click Okay.
  7. In the Add Files Wizard, click Cancel. This will come later.

Set Up File Mappings

In Helix Core, files are treated differently based on their extension. For example, code files that are marked as text files and any files Helix Core does not recognize are usually treated as binary files. Only one person can check out and modify these files a time.

To work with either Unreal or Unity, you need to set up file mappings so that Helix Core knows how to handle them correctly. File mappings are unique to the game engine, so ensure you are using the right file mapping for your game engine.

  1. Click the Start Icon and navigate to the command line. Click to open. Alternatively, use the Windows Key + R, type in cmd, then click enter.
  2. In the new command line prompt, type the following and click enter.
    p4 typemap

    The text editor should load with a file.

  3. Replace the contents of that file with the correct file mappings for your game engine. If you set up your Helix Core server with a different depot name, replace dept references with your depot name.
  4. For Unity:
    TypeMap:
        text //....js
        text //....cs
        text //...shader
        text //....meta
        text+l //....cm
        text+l //....proc
        text+l //....md5mesh
        text+l //....md5anim
        text+l //....ma
        binary //....dll
        binary //....exe
        binary //....response
        binary //....lib
        binary //....pdb
        binary //....u
        binary //....ini
        binary //....stub
        binary //....ip
        binary+l //....prefab
        binary+l //....mb
        binary+l //....mat
        binary+l //....psb
        binary+l //....mp3
        binary+l //....fbx
        binary+l //....unity
        binary+l //....asset
        binary+l //....aas
        binary+l //....tga
        binary+l //....jpg
        binary+l //....lwo
        binary+l //....wav
        binary+l //....ogg
        binary+l //....demo
        binary+l //....roq
        binary+l //....doc
        binary+l //....xls
        binary+l //....celtx
        binary+l //....pdf
        binary+l //....odt
        binary+l //....ods
        binary+l //....ppt
        binary+l //....skp
        binary+lS //....dds
        binary+lS //....bnk
        binary+lS //....light
        binary+lS //....shadow
        binary+lS //....ibl
        binary+lS //....bik
        binary+lS //....upk
  5. For Unreal:
    TypeMap:
        binary+S2w //depot/....exe
        binary+S2w //depot/....dll
        binary+S2w //depot/....lib
        binary+S2w //depot/....app
        binary+S2w //depot/....dylib
        binary+S2w //depot/....stub
        binary+S2w //depot/....ipa
        binary //depot/....bmp
        text //depot/....ini
        text //depot/....config
        text //depot/....cpp
        text //depot/....h
        text //depot/....c
        text //depot/....cs
        text //depot/....m
        text //depot/....mm
        text //depot/....py
        binary+l //depot/....uasset
        binary+l //depot/....umap
        binary+l //depot/....upk
        binary+l //depot/....udk
        binary+S2w //depot/....exe
        binary+S2w //depot/....dll
        binary+S2w //depot/....lib
        binary+S2w //depot/....app
        binary+S2w //depot/....dylib
        binary+S2w //depot/....stub
        binary+S2w //depot/....ipa
        binary //depot/....bmp
        text //depot/....ini
        text //depot/....config
        text //depot/....cpp
        text //depot/....h
        text //depot/....c
        text //depot/....cs
        text //depot/....m
        text //depot/....mm
        text //depot/....py
        binary+l //depot/....uasset
        binary+l //depot/....umap
        binary+l //depot/....upk
        binary+l //depot/....udk
  6. You should see TypeMap Saved. Close the text file.

Set Up Helix Core to Ignore Files

By default, Helix Core wants to version all of your files. But for game engine builds, you need Helix Core to ignore the files. Use the following instructions to create the ignore file, set up Helix Core to ignore files, and then submit the ignore file.

Create the Ignore File

  1. To create a .p4ignore file, open up your notepad and save a blank file with name .p4ignore inside your workspace root folder. For example:
    C:\Users\Administrator\Perforce\root_EXAMPLE
  2. In the notepad, copy and paste the following text and save it:
    Saved/
    Intermediate/
    DerivedDataCache/
    *.pbd
    obj/
    *.vcxproj
    *.sln
    *-Debug.*
    FileOpenOrder/
  3. If you know you would like to keep .pdb files in Helix Core, remove *.pdb from the ignore text above.

Set Up Helix Core to Ignore Files

  1. Click the Start Icon and navigate to the command line.
  2. In the new command line prompt, navigate to your workspace root. For example, enter the following command:
    cd d:\depot
  3. If your workspace root is not on C, replace d with your workspace drive letter.
  4. Run the following command:
    p4 set P4IGNORE=.p4ignore

    If successful, there will be no output. If you receive an error, review and try again.

Submit the Ignore File

  1. Open P4V. Right-click on file in your workspace and select Mark for Add... This will add this ignore file to a default changelist.
    Note: In Helix Core, changelists include a list of changes that are made locally that have not been submitted to the Helix Core server yet.
  2. Locate the default changelist in the Pending Changelists tab. If you do not see the Pending Changelists tab, navigate to View > Pending Changelists.
  3. Right-click on the changelist and click Submit.
  4. Enter a changelist description. For example, 'Submitting Ignore File.' Click Submit. This ignore file is now in Helix Core.

Build With Helix Core + Game Engine

Now that you have configured Helix Core to work with your Unreal or Unity game engine, and set up your ignore file, you can start building.

Submit Builds to Helix Core

  1. In P4V, move your game engine project to your workspace. 
  2. Test your ignore file. Right-click on the Engine\Saved folder in your workspace. Click Reconcile Offline Work...
  3. A prompt should display that no files need to be reconciled. This means your ignore file is working properly. If you have files that need to be reconciled, go back and try setting up the ignore file again. Click OK to continue.
  4. To submit a file, right-click your workspace root and click Mark for Add.
    Note: Game engine files are large and can take a lot of time to add them to your changelist. If the Ignored Files Warning displays, dismiss it. This ensures your ignore file is working properly.
  5. There are several files in a build that contain wildcards. You want to Add Files With Wildcards. Then, click Continue.
  6. Once the files are added, right-click on the default changelist.
  7. Add in a changelist description. For example, ‘Add engine files.'
  8. Click Submit to push all of the engine files to Helix Core. Depending on your connection and Helix Core setup, this could take some time.

Connect Your Game Engine to Helix Core

Now you are ready to connect to Helix Core with your game engine.

  1. Open up Unreal or Unity. Example screenshots are using Unreal. Navigate to Source Control. Click Connect.
    Connect Your Game Engine to Helix Core 1
  2. Enter in your workspace information. Click Accept.
    Connect Your Game Engine to Helix Core 2
  3. For this example, we are changing the color of the environment.
    Connect Your Game Engine to Helix Core 3
  4. Navigate to Source Control and select Submit to Source Control.
    Connect Your Game Engine to Helix Core 4
  5. Check out the assets from source control.
    Connect Your Game Engine to Helix Core 5
  6. Enter in a change description. Click Submit.
    Connect Your Game Engine to Helix Core 6
  7. Open P4V. You should be able to see your newly submitted changelist.
    Connect Your Game Engine to Helix Core 7

Want Help Setting Up Perforce + Game Engine?

Contact our professional services team to talk with our experts. They can optimize your Helix Core servers for top performance.

Do More With P4V

Setting Perforce is easy with our P4V cheat sheet.

Read the Docs

Get step-by-step instructions on how to install, administer, optimize, and use Helix Core.