Basics: TargetProfiles

ShiVa Target Profiles define several versions of your assets

Table of Contents

Target Profiles in ShiVa 2.0

In ShiVa 1.9.2, a profile was a set of restrictions bound to one or several platforms. This concept has completely changed in ShiVa 2.0, as profiles no longer have anything to do with the target platform. Instead, you have to think of profiles as versions of your assets. Any ShiVa resource, scene or model can have overrides. At any time, you can duplicate the default file to create an override and then modify it.

Creating a Profile

Before you can start working with target profiles, you have to create a new one besides the Default profile that is already installed. You can access the profile manager through the Edit menu of the Project Explorer or the shelf.

blue profile shelf

In this dialog you can add, remove and change the texture, video and audio restrictions.

blue profile

File Overrides

One of the main ways that Target Profiles are implemented in ShiVa 2.0 is through file overrides. This means you can import multiple versions of the same file under the same name into a different target profile, which will group them together automatically.

Texture Import

Once you have created a new profile, you can select it in the Texture Import Dialog.

blue profile import

Now the texture "Foliage" will have 2 versions. The green texture will be the default, but the blue texture will override it when the "Blue" profile is used.

blue profile list

Profile Switching

To review and playtest different profiles, you have to switch between them through the combo box next toe the playback controls.

blue profile green

If you are viewing a texture with an override, the Properties module will tell you so and give you the option to remove the override.

blue profile blue


Upon export, you can decide which profile to use. Given our example from above, the default profile will give you a green texture, while the blue profile will give you a blue one.

Assets can have both file restrictions through the target profile as well as platform restrictions through the Authoring module. The ShiVa exporter will choose the more restrictive options if an asset has both profile and export restrictions. In other words, if a texture file has a max width of 1024 but the profile is set to 512, the runtime texture will be 512.


Texture Prescale is a factor used to scale the texture just before building the runtime version. The original texture stays the same size, we resize it in a temporary file instead. This allows you to have better quality and still use compression:

512x512 compressed 
Example: 512x512 texture with 1/2 prescale, Android limitation set to 256 max texture size

The prescale factor is the first operation made to compute the destination size. The order of the other resizing texture operations is:

- prescale
- max width
- max height
- "less than 8" check
- "power of 2" check
- "need square texture" check
- "more than 4096" check

Result: The Android texture will be 256x256 and not 128x128, since prescale is applied before the Platform restrictions.