Using VS2017’s Open Folder for Amazon Lumberyard

It’s been awhile, but I’m back! Just kidding, I’m actually away.

Check out my video on this subject here: https://youtu.be/13unzByn3xs

As promised, here are all the config files mentioned in the video

VSWorkspaceSettings.json
Remember this goes in the .vs folder.

{
  "ExcludedItems": [
    "*.sln",
    "CMakeLists.txt",
    "CrashDB",
    "LyzardConfig.xml",
    "system_BuildShaderPak_GL4.cfg",
    "BuildDBAs.bat",
    "DetermineRCandAP.bat",
    "MultiplayerSample",
    "system_ios_ios.cfg",
    ".p4ignore",
    "BuildMultiplayerSample_Paks_PC.bat",
    "Editor",
    "MultiplayerSample_CreateGameLiftPackage.sh",
    "system_linux_pc.cfg",
    "BuildMultiplayerSample_Paks_PC_dedicated.bat",
    "MultiplayerSample_LinuxPacker.bat",
    "system_osx_osx_gl.cfg",
    "2018-04-13-23.log",
    "BuildSamplesProject_Paks_iOS.bat",
    "Engine",
    "ProjectConfiguratorConfig.xml",
    "system_windows_pc.cfg",
    "2018-04-14-00.log",
    "BuildSamplesProject_Paks_PC.bat",
    "engine.json",
    "ProjectTemplates",
    "Tools",
    "2018-04-14-02.log",
    "BuildShaderPak_DX11.bat",
    "engineroot.txt",
    "2018-04-15-17.log",
    "BuildShaderPak_ES3.bat",
    "external_manifest.txt",
    "P�2018-04-16-00.log",
    "VisualCode",
    "@devassets@",
    "BuildShaderPak_ES3.sh",
    "SamplesProject",
    "waf_branch_spec.py",
    "AssetProcessorPlatformConfig.ini",
    "BuildShaderPak_GL4.bat",
    "lmbr_aws.cmd",
    "SetupAssistantConfig.json",
    "waf_branch_spec.pyc",
    "AssetProcessorTemp",
    "BuildShaderPak_Metal.bat",
    "lmbr_pak_shaders.bat",
    "SetupAssistantUserPreferences.iniwscript",
    "Bin64",
    "BuildShaderPak_Metal.sh",
    "lmbr_pak_shaders.sh",
    "shadercachegen.cfg",
    "_WAF_",
    "Bin64vc120",
    "build_metrics_reporter.log",
    "lmbr_test.cmd",
    "Solutions",
    "Bin64vc120.Debug",
    "Cache",
    "lmbr_test.sh",
    "StarterGame",
    "Bin64vc140",
    "CloudGemSamples",
    "lmbr_test_blacklist.txt",
    "system_android_es3.cfg",
    "Bin64vc140.Debug",
    "system_appletv_ios.cfg",
    "BinTemp",
    "lmbr_waf.sh",
    "system_BuildShaderPak_DX11.cfg",
    "*.log",
    "Bin64*",
    "SDKs"
  ] 
}

CppProperties.json
This goes in the folder that you opened (in my case, dev)

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}/ProtoD2/Gem/Code/Source",
                "${workspaceRoot}/ProtoD2/Gem/Code/Include",
                "${workspaceRoot}/Code/CryEngine/CryCommon",
                "${workspaceRoot}/Code/CryEngine/CryAction",
                "${workspaceRoot}/Code/Framework/AzGameFramework",
                "${workspaceRoot}/Gems/LmbrCentral/Code/include",
                "${workspaceRoot}/Gems/LightningArc/Code/include",
                "${workspaceRoot}/Gems/PrototypingBase/Code/include",
                "${workspaceRoot}/Gems/PrototypingBase/Code/Source",
                "${workspaceRoot}/Gems/ProtoBuilding/Code/include",
                "${workspaceRoot}/Gems/ProtoBuilding/Code/Source",
                "${workspaceRoot}/Gems/Multiplayer/Code/include",
                "${workspaceRoot}/Gems/MultiplayerCloseAllNetworkPeers/Code/include",
                "${workspaceRoot}/Code/Framework/AzFramework",
                "${workspaceRoot}/Code/Framework/GFxFramework",
                "${workspaceRoot}/Code/Framework/GridMate",
                "${workspaceRoot}/Code/Framework/AzCore",
                "${workspaceRoot}/Code/Framework/AzTest",
                "${workspaceRoot}/Code/Framework/AzToolsFramework",
                "${workspaceRoot}/Code/SDKs/GoogleMock/include",
                "${workspaceRoot}/Gems/LyShine/Code/Include",
                "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/INCLUDE",
                "C:/Program Files (x86)/Windows Kits/10/include/10.0.10586.0/ucrt",
                "C:/Program Files (x86)/Windows Kits/10/include/10.0.10586.0/um",
                "C:/Program Files (x86)/Windows Kits/10/include/10.0.10586.0/shared",
                "${workspaceRoot}/Code/CryEngine"
            ],
            "defines": [
                "_WIN32",
                "_WIN64",
                "NOMINMAX",
                "CODE_BASE_FOLDER=\"d:/w/UR/dev/Code/\"",
                "_DEBUG",
                "BINFOLDER_NAME=\"Bin64vc140\"",
                "PLATFORM_SUPPORTS_AWS_NATIVE_SDK",
                "LY_BUILD=532402",
                "_MT",
                "_DLL",
                "SCRIPTCANVAS_ERRORS_ENABLED"
            ],
            "intelliSenseMode": "windows-msvc-x64",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 3
}

tasks.vs.json
Keep in mind that most of this you probably don’t need. Take what is useful and just delete the rest. Especially remember to delete the dedicated server references if you don’t have multiplayer yet.

Remember you can run anything from here, including the game, but unless it’s in the launch.vs.json file, it will not attach the debugger.

Remember this goes in the .vs folder

{
  "version": "0.2.1",
  "tasks": [
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "Bin64vc140/Editor.exe",
          "args": [],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "launchOption": "None",
      "contextType": "custom",
      "taskName": "Run Editor Profile",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_profile",
            "-p",
            "game",
            "&&",
            "lmbr_waf",
            "build_win_x64_vs2015_profile_dedicated",
            "-p",
            "game"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "contextType": "build",
      "taskName": "Build Profile Client and Server",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_profile",
            "-p",
            "all",
            "&&",
            "lmbr_waf",
            "build_win_x64_vs2015_profile_dedicated",
            "-p",
            "all"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "contextType": "build",
      "taskName": "Build Profile Everything",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_profile",
            "-p",
            "all",
            "&&",
            "lmbr_waf",
            "build_win_x64_vs2015_profile_dedicated",
            "-p",
            "all"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "contextType": "rebuild",
      "taskName": "Build All Profile Client and Server",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_debug",
            "-p",
            "game",
            "&&",
            "lmbr_waf",
            "build_win_x64_vs2015_debug_dedicated",
            "-p",
            "game"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "taskName": "Build Debug Client and Dedicated",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_debug",
            "-p",
            "game"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "taskName": "Build Debug Game",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_debug",
            "-p",
            "all"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "taskName": "Build Debug All",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "build_win_x64_vs2015_profile",
            "-p",
            "all"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "taskName": "Build Profile All",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": "lmbr_waf",
          "args": [
            "configure"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "taskName": "Configure",
      "type": "launch"
    },
    {
      "taskName": "task-gems",
      "appliesTo": "Principia/gems.json",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": ".\\Bin64vc140.Dedicated\\ProtoD2Launcher_Server.exe",
          "args": [
            "+map",
            "basebuilding",
            "+mphost"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "contextType": "custom",
      "taskName": "Run Dedicated Server Profile",
      "type": "launch"
    },
    {
      "appliesTo": "*",
      "commands": [
        {
          "command": ".\\Bin64vc140\\ProtoD2Launcher.exe",
          "args": [
            "+mpjoin"
          ],
          "workingDirectory": "${workspaceRoot}"
        }
      ],
      "contextType": "custom",
      "taskName": "Run Client Profile",
      "type": "launch"
    }
  ]
}

launch.vs.json
These are the ones you want to run and attach the debugger on.

Again, .vs folder for this one.

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "Bin64vc140\\ProtoD2Launcher.exe",
      "args": [ "+mpjoin" ],
      "name": "_Principia Launcher Profile"
    },
    {
      "project": "Bin64vc140.Dedicated\\ProtoD2Launcher_Server.exe",
      "args": [
        "+map",
        "basebuilding",
        "+mphost"
      ],
      "type": "default",
      "name": "_Principia Server"
    },
    {
      "type": "default",
      "project": "Bin64vc140.Debug\\ProtoD2Launcher.exe",
      "name": "_Principia Launcher Debug",
      "args": []
    },
    {
      "type": "default",
      "project": "Bin64vc140\\Editor.exe",
      "name": "_Editor"
    }
  ]
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s