A JSON schema for CRYENGINE projects (.cryproj files)
- How is this project implemented?
This project is based on gulp.
- Is this an official project?
No, it's not. It's just a random project born because editing .cryproj files is annoying as you wouldn't get suggestions in any code editor. With a JSON schema, you will get them.
- How can I use it in my projects?
There are several ways to do it. If you are using Visual Studio Code, you can download this extension. Otherwise you have to add the following line of code to the root of your
.cryproj
file (after the opening curly bracket)"$schema": "http://json.schemastore.org/cryproj"
- Can I generate the schema by myself?
- Can I use this project to generate schemas for a custom version of CRYENGINE?
Yes. Check this out
- Why using the .all version it gives some errors?
It could be that you are using, for example, a CVAR that in the engine version you are using was defined but that has been removed with a following update. To overcome this issue, use the appropriate schema
To generate a JSON schema you will need to follow these steps:
- Install all dependencies by running
npm install
- Create a folder called
in
- Place in it the file called
consolecommandsandvars.txt
generated by CRYENGINE running in the console the commandDumpCommandsVars
- Rename the generated file to
consolecommandsandvars.VERSION.txt
, where VERSION is the engine version used to generate it, without the dot between the numbers that identify the major and minor version (for example: if you are using CRYENGINE 5.4, rename the generated file to consolecommandsandvars.54.txt) - Finally generate the schema running the command
npm run gulp
. The output will be in the folderout
- Firstly, you need to follow the first four steps of this guide.
- After that you will need to modify the
gulpfile.js
and adding the identifier of your engine in theengineVersions
array (if you don't care about other versions, you can always delete them). - Finally you can generate the schema running the command
npm run gulp
. The output will be in the folderout