This is a fork of the SpatialOS CRYENGINE integration that uses the new SpatialOS flexible project layout.
sdk
contains the C++ files to be included in your CRYENGINE project to
integrate with SpatialOS.
tools
contains the project ComponentGenerator
, which is used to generate
CRYENGINE Entity Components to mirror your SpatialOS components for use
within CRYENGINE from C++ and/or Schematyc.
This is a simple third-person shooter game template produced using the integration. There are two workers:
GameWorker
in thetps-example/game-worker
directory.TPSClient
in thetps-example/tps-client
directory.
Unlike in previous version of the project layout, the workers no longer
need to be under workers
directory - the location of each worker
directory is defined in the spatialos.json
file instead. See the
SpatialOS flexible project example
for more details.
- Ensure CryENGINE 5.4 or later and
spatial
are installed - Run
build-all.sh
from thetps-example
directory. This will:- Download dependencies (download-dependencies.sh).
- Generate code from schema (codegen.sh).
- Generate the solution for
tps-client
by right-clickingGame.cryproject
- Build
tps-example/tps-client/solutions/Game.sln
solution in Visual Studio to provide thetps-client
worker. (See below section for more information) - Build
tps-example/game-worker/CsharpWorker.sln
solution in Visual Studio to provide thegame-worker
worker. - Run
spatial local launch
from thetps-example
directory - Run any number of clients by right-clicking
Game.cryproject
and selectingRun Game
(or the exe generated from thePackage Build
option)
tps-client
should only be built in the Profile or Release build
configuration - linking in the Debug configuration currently fails.