UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
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
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Content Migration

You can upgrade content of your project to UNIGINE 2.10 in the automatic or manual mode.

Warning
You cannot migrate the project that contains assets with a version higher than the project version.

Automatic Upgrade#

Automatic upgrade of the project's content can be performed via UNIGINE SDK Browser.

Notice
By default, the automatic mode is used to upgrade only binary executable files and content stored in the project's data folder. If you have content stored outside the data folder or in the additional data folders, you will have to upgrade it manually.

In the result, the binary executable and configuration files, meshes, terrains, worlds, nodes, splines, materials, properties, tracks, settings files will be upgraded to new formats (if any). The <unigine_project>/migration.log.html log file will be opened in the web browser. However, you can uncheck Migrate Content during automatic upgrading and perform content upgrading manually. In this case, only binary executable files will be upgraded.

Notice
The migration results depend on the version of UNIGINE SDK, from which you are going to migrate.

Manual Upgrade#

This mode should be used to upgrade content stored outside the project's data folder (such as mount points):

To upgrade the project's content in the manual mode, do the following:

  1. Put the binary executable <UnigineSDK>/bin/usc_x64.exe to the <UnigineSDK>/utils/upgrade folder that contains the upgrade script.
    Notice
    Use usc_x64.exe from the SDK version you are migrating to.
  2. In the command prompt, run the upgrade.usc with the required options:
    Shell commands
    usc_x64.exe upgrade.usc path/to/additional_content_1 path/to/additional_content_2 ...
    If you have unchecked Migrate Content during automatic upgrading, add the path to the project's data folder to the list of arguments passed to the upgrade script. For example:
    Shell commands
    usc_x64.exe upgrade.usc <unigine_project>/data path/to/additional_content_1 path/to/additional_content_2 ...
    Here:
    • path/to/additional_content_* - paths to folders with content stored outside the data folder.
As a result, you will get your meshes, terrains, worlds, nodes, splines, materials, properties, tracks, configuration and settings files upgraded.

Notice
The migration results depend on the version of UNIGINE SDK, from which you are going to migrate.

As soon as migration is completed, run the Editor to have the project assets "indexed".

Object Terrain Migration#

Legacy ObjectTerrain (which was considered as deprecated since 2.7) is finally removed with this release. The same is true for the WorldOccluderTerrain. After migration each of them shall be converted to a NodeDummy. After migration you'll be able to re-create your terrain as the Landscape Terrain object using the assets you had used for ObjectTerrain.

Materials Migration#

There were a number of changes introduced to the material file format. In case your project uses custom base and manual materials the following modifications are required.

Parameter definition has changed with the <parameter/> tag replaced by a set of type-specific tags to be used instead:

  • <float/>
  • <float2/>
  • <float3/>
  • <float4/>
  • <int/>
  • <int2/>
  • <int3/>
  • <int4/>
  • <combiner/>

Both color and slider types were removed, now each of them can be used as a type alias to define a parameter of a certain type with the corresponding widget:

2.9 2.10
Source code (XML)
<parameter name="name" type="slider">1.0</parameter>
Source code (XML)
<slider name="name">1.0</slider>

The list of available type aliases includes the following:

  • mask24 (type = int, widget = mask24)
  • mask32 (type = int, widget = mask32)
  • uv (type = float4, widget = uv)
  • color(type = float4, widget = color)
  • slider(type = float, widget = slider)
2.9 2.10
Source code (XML)
<parameter name="name" type="slider">1.0</float>
Source code (XML)
<slider name="name">1.0</slider>

Now all parameters can be controlled via expressions (UnigineScript), so a new expression argument was added replacing the expression type used before. All parameters having the deprecated expression type should be replaced with float4 type in combination with the expression argument as follows:

Source code (XML)
<float name="name" expression="1">time</float>
2.9 2.10
Source code (XML)
<parameter name="name" type="expression">
	vec4(time, 0,0,1)
</parameter>
Source code (XML)
<float4 name="name" expression="1">
	vec4(time, 0,0,1)
</float4>

The flags argument was removed, with the following new separate arguments added instead: min_expand, max_expand, expand.

2.9 2.10
Source code (XML)
<parameter name="name" type="slider" flags="max_expand">
	0.5
</parameter>
Source code (XML)
<slider name="name" max_expand="1">
	0.5
</slider>
Last update: 2020-01-23