Master Class: Intro to C++ Game Programming
Tutorial info  
Difficulty Beginner
Updated July 22, 2022
cryengine 5.x
visual studio

Our latest Master Class, conducted by Alex Klinger, provides an introduction to CRYENGINE 5.6 for C++ programmers and game designers.

Start      Topic
0:00:00 Introduction
0:00:22 About the speaker
0:00:32 Agenda
0:01:39 The game Plug-In
0:02:02 Implementing a game plug-in: initialization
0:03:44 Game plug-in: system events
0:04:45 Game plug-in: updates
0:05:49 Entities: what is an entity?
0:07:21 Entity links - logical
0:08:53 Entity linking - physical (parent-child)
0:09:34 IEntity class
0:10:23 Entity GUID
0:11:34 Entities: creating entities
0:12:34 Entities: members, functions, slots/components
0:12:54 Entities: global and local transforms
0:13:26 Entities: flags
0:14:14 Entity component system
0:17:28 Writing a custom component
0:19:43 How to use the entity system: query entities
0:20:14 Creating entities through code
0:20:39 Finding entities without knowing their GUID
0:20:49 Removing entities through code
0:21:05 Working with entities by layer
0:21:43 Handling input through Action Maps
0:23:34 The input component in player.h
0:24:54 Adding a new mapping to the defaultprofile.xml
0:25:25 Physics: physicalizing entities
0:25:40 Physics: the resting property
0:26:41 Physics: rigid vs. static types
0:27:10 Physics: buoyancy
0:27:28 Physics: simulation parameters
0:28:25 Physics: collider components
0:29:25 Physics: render vs collider meshes
0:31:10 Physics: constraint components
0:31:33 Physics: point constraint component
0:31:51 Physics: line constraints component
0:33:49 Physics: plane constraint component
0:38:36 Physics: setting parameters with pe_action
0:39:16 Physics: querying status of entities
0:40:27 Physics: controlling entities en masse through pPhysicalWorld
0:41:13 Physics: raycasting using RayTraceEntity
0:42:06 Areas
0:45:07 Overview of using areas through custom Flow Graph nodes
0:46:25 Console variables
0:48:27 Creating and using custom cVars
0:49:57 Debugging and drawing
0:52:01 Logging with CryLog
0:52:54 Finding the saved editor.log file
0:53:27 Debugging and drawing helpers
0:54:13 Debug drawing: the pAuxGeomRenderer
0:54:44 Practical lessons
0:54:54 Creating a solution
0:55:18 Creating a new project from Launcher
0:55:54 Finding a project home folder from the Sandbox
0:56:20 Generating a solution for a new project
0:57:15 Setting the startup project in Visual Studio
0:57:39 Compiling the project for the first time
0:58:13 Confirming a successful build
0:58:36 Launching the project in Sandbox from Visual Studio
0:58:50 Running multiple instances of the editor
0:59:04 First test of a project in Sandbox
1:00:03 Moving the camera to an entity even when you can't see it
1:00:23 Visual Studio navigation basics
1:01:15 Adding code to the gamePlugin.cpp file
1:01:29 Coding a custom cVar (Console Variable) to GamePlugin.cpp
1:03:51 Including needed header (.h) files
1:04:30 Making use of a custom cVar
1:05:13 Compiling the modified code and launching the editor
1:06:04 Assigning logic to a custom cVar in player.cpp
1:07:15 Retrieiving the current value of a custom cVar
1:10:03 Coding a custom entity component
1:18:43 Adding logic to your custom entity component
1:22:26 Summary
1:22:55 Going further and community help

YouTube Channel

All video tutorials are available on the CRYENGINE YouTube channel.

Documentation tutorials

Further tutorial content can be found on our Documentation pages.


Join discussions and provide feedback on a wide range of topics.

Asset database

A wide range of assets, ready to use in your CRYENGINE projects.