What’s New
Getting Started

Projects (.nproject)

Last Updated: November 1, 20240.7 min read

Overview

The .nproject file represents the configuration of a project running on an arbitrary engine version. Inside it, we specify the name of the project, version and more. In the same regard as with the engine configuration file, we also expose the paths for assets and binary directories.
The .eduproject file’s location determines the root folder of the project, and can be anywhere on disk – unrelated from where the engine is located. Any paths specified inside the .eduproject are relative to the location of the file itself.
Copy to Clipboard

Project Config Metadata

Entry Name

Description

  • version

    This project's version number in the format of ...

  • name

    This project's human readable name

  • guid

    This project's unique identifier.

  • engine

    The unique identifier of the engine used by this project.

  • asset_directory

    The directory in which the project assets are contained.

  • binary_directory

    The directory in which the project's binaries are output.

  • library_directory

    The directory in which the engine's libraries are output.

  • plugins

    An array containing unique identifiers of the plug-ins used by this project. Any plug-ins references here (as well as their dependencies) will be automatically loaded on project startup. See Plug-ins for more information.

  • thumbnail_guid

    The unique asset identifier of the thumbnail texture to use for this project.

  • default_scene

    The unique asset identifier of the scene to load at startup of this project. If none is specified an empty scene created.

  • repository

    Source control path to this project's repository.

  • settings

    Dictionary of settings entries applied for this project. Note that these are per-project settings and not per-user.

Available Shell Menu Actions

Name

Description

  • Launch Project

    Launches the project executable

  • Launch Editor

    Launches the editor with this project loaded

  • Package

    Packages this project for the current platform

  • Generate Asset Database

    Traverses the project's asset directory and registers all .nasset files found into the project's

  • Compile Assets

    Compiles all project assets contained inside its asset database

  • Reconcile Assets

    Generates the project asset database, compiles all detected assets and does the same for the engine and all plug-ins referenced by the project.

  • Register Project

    Registers the project in the local Project Database

  • Render Thumbnail

    Starts an engine instance with the project loaded, renders the loaded scene and saves it to disk.

  • Create Plug-in

    Creates a new plug-in and adds it to this project's dependencies.

  • Generate Solution

    Generates a C++ solution used to build the project

Project Database

The project database is a local JSON config file referencing all known projects and their latest known absolute file paths on disk. It is used to update the ngine Home Screen with known projects present on the local machine.

Feedback

Please be sure to submit issues or feature requests through the embedded feedback form. In the event it is a major issue please contact us directly through Discord.