UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

Building a Project

Before your project can be distributed to users, it must be properly built. Building a project ensures that all content and code, including all necessary libraries, is up to date, in the proper format, and placed to a proper location to run on the desired target platform.

To build your project via UnigineEditor, perform the following:

  1. In UnigineEditor, click File -> Create Build. The Create Build window will open.

  2. Specify the required settings and click Create Build.

For building C# Component System projects, Component System should be initialized successfully.

Notice
If a project fails to build, check the UnigineEditor console for more details.

Build Content#

By default, the build includes the following:

  • Binaries
  • core.ung and scripts.ung
  • *.cache files
  • Plugins added via SDK browser
    Notice
    If plugins are added via code, they should be added to the build as user files.
  • All assets and their runtimes from the data/ folder and from all mount points
    Notice
    Runtimes are copied together with their *.meta (json) files.
  • Texture cache from the data/.cache_textures folder
  • guids.db file stored in the data/ folder
  • Sound library
  • Launcher file or files
  • Main executable files
  • Files added by user

Build Settings#

Common Settings#

Build Type Type of the build that defines which binaries are compiled:
  • Development — development and debug binaries
  • Release — only release binaries
Notice
If the project's SDK is unavailable, this option is unavailable, as well. In this case, Build Type is defined by the build of UNIGINE Engine selected at the project creation.
Project Name Name of the output executable or .bat/.sh file
Build Folder Path to the output folder where the build is going to be stored
Warning
You shouldn't create this folder inside your project folder, as it may significantly increase its size.
Notice
Build folder should be empty. Otherwise, its contents will be deleted.
Default World The world that is loaded when the application is started (optional)
Precompile Shaders If enabled, generates shaders for the current Video API.
Notice
You may require forced shader compilation in specific cases.

Launcher Default Settings#

These settings are used as default (pre-selected) launcher settings.

GUI-based launcher
Type Type of the launcher:
  • GUI-based — executable file with the name <project_name> is created. Running this file opens the GUI with the default launcher settings. These settings are stored in the <project_name>.lconfig JSON file.
  • Script — <project_name>.bat (or .sh for Linux) file is created that contains the default launcher settings.
    In case of the Development build with the project's SDK available, two types of files are created: <project_name>_development.bat (or .sh for Linux) and <project_name>_debug.bat (or .sh for Linux).
Banner Image The image to be displayed in the launcher. Available for GUI-based launcher only.
Notice
Only PNG images can be used.
VR Mode VR emulation mode:
  • Disable
  • OpenVR
  • Oculus (for Windows only)
Resolution The resolution of the application screen
Fullscreen If enabled, the application is run in the Fullscreen mode.
Binary Type of the binary to be launched for the Development build type:
  • Development — release binaries with Microprofile enabled for testing the project
  • Debug — for debugging the project
Available for the GUI-based launcher only.
Video Debug Toggling the debug context of the Graphics API. Available for the Development build type only.
Release App / Development App / Debug App Path to the corresponding binary to be run. The binary depends on the type of build. If the binary remains located in the bin/ folder, it is defined automatically. If it has been moved elsewhere, the path to the file shall be set manually.

UnigineEditor creates the <project_name>.lconfig file that Launcher uses to run the app. If a user changes any parameters and runs the app, the changes are saved in <project_name>.lconfig. Closing Launcher without running it discards any changes.

Copy User Files#

The rules for adding user files to the build folder:

  • From — an absolute path to a folder, file, or folder using wildcard.
  • To — path to the destination folder that is relative of the Build Folder. It can be a folder name where the file or files are copied to, or a folder and a file name, i.e. the copied file can be renamed as well.

    In this case, file_1.png will be renamed to picture.png stored in the <Build_Folder_Name>/Pictures folder.
    However, if the target file extension is written incorrectly (differs from the actual file extension), a new folder with such name will be created instead. For example, if we try to rename a file as follows:

    the file would not be renamed — it would be saved as <Build_Folder_Name>/Pictures/picture.pmg/file_1.png.

When files with the same name are copied to one folder, their content is checked. If it's the same file, it would be copied once without any warning. However, if names are the same but the files are different, the dialog window will pop up to request which file should be copied.

Warning
If a user file has the same name as a engine-related file, the engine-related file is copied to the Build folder with the corresponding warning in the console. The user file should be renamed manually.

Rules for copying user files can be defined with the help of wildcards.

Notice
On Linux, do not use the backslash symbol for defining paths.

Encryption#

Project files can be encrypted using the UNIGINE-native UNG archive format. UNG files are transparent to the engine, and their content is handled as not packed. To save your files in UNG format, use the Archiver tool.

Notice
  • Data streaming doesn't work for UNG/ZIP contents.
  • The maximum size of the archive is 2 GB.
Last update: 2019-12-02