# What's New

Many new features have been added to the release of **Incari Studio** 2023.2. Here is a list of the features you need to know.

## Figma Importer and New Objects

Exciting news for *Figma* users! With the new [**Figma Importer**](/incari-studio/2023.2/modules/figma-importer.md), **Incari Studio** maximizes its reach like never before, acting as a bridge that allows designers to combine the best of both platforms.

![Figma Importer Example.](/files/TshTnapsFxyKKGNZS9oL)

By integrating *Figma* creations into **Incari**, users can enhance their *Figma* projects with the powerful tools and capabilities that **Incari Studio** offers, trading in previous limitations for a more fluid and dynamic creative process.

This comes with support of several aspects of *Figma*, like *stroke*, *fill*, *masking*, and *blending*. Several **Objects** also see an upgrade with this integration:

* [**Vector**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma.md)
  * [**Boolean Operation**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmabooleanoperation.md)
  * [**Ellipse**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmaellipse.md)
  * [**Line**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmaline.md)
  * [**Rectangle**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmarectangle.md)
  * [**Text**](/incari-studio/2023.2/objects-and-types/scene2d-objects/figma/figmatext.md)

In order to incoporate these new *Figma* features properly in the **Logic**, there are also several new **Nodes** which add functionality:

* [**Object 2D**](/incari-studio/2023.2/toolbox/incari/object2d.md)
  * [**Get Paint**](/incari-studio/2023.2/toolbox/incari/object2d/getpaint.md)
  * [**Get Paint Opacity**](/incari-studio/2023.2/toolbox/incari/object2d/getpaintopacity.md)
  * [**Get Stroke Width**](/incari-studio/2023.2/toolbox/incari/object2d/getstrokewidth.md)
  * [**Set Blend Mode**](/incari-studio/2023.2/toolbox/incari/object2d/setblendmode.md)
  * [**Set Paint**](/incari-studio/2023.2/toolbox/incari/object2d/setpaint.md)
  * [**Set Paint Opacity**](/incari-studio/2023.2/toolbox/incari/object2d/setpaintopacity.md)
  * [**Set Stroke Width**](/incari-studio/2023.2/toolbox/incari/object2d/setstrokewidth.md)

## Introducing Incari INNA - AI Generation

Breaking into a new field of *HMI* design, we at **Incari** are excited to introduce **Incari INNA**, an **AI Logic Generator** in its beta phase. It is masterfully crafted to elevate the efficiency and intuitiveness of **Logic** construction, keeping in mind the needs of both novices and experienced creators alike.

While an exciting new development, it is still in its beta phase and is expected to grow in the coming releases. Give your feedback to help us improve it!

![AI (beta) Prompt.](/files/yemmal2fk6CCpRNJzJw2)

![AI (beta) Example Output.](/files/lZe39f0UCXd97uSc8Hyg)

## Texture and 3D Object Importer

The [**Asset Manager**](/incari-studio/2023.2/modules/asset-manager.md) sees a new update with the addition of the [**Texture Importer**](/incari-studio/2023.2/modules/asset-manager.md#texture-importer) and [**3D Object Importer**](/incari-studio/2023.2/modules/asset-manager.md#3d-object-importer).

A new accompanying workflow acts as the base: when an **Asset** is imported and used somewhere in a **Project**, a `.ktx2` file (for **Images** and **Image Sequences**) or `.glb` file (for **Meshes**) is created in an internal folder. By converting **Assets** into their binary formats, the **Project's** loading time is significantly sped up.

The **Texture** and **3D Object Importers** allow the user to control certain properties of each file type. This gives more power to the user over their **Assets**.

## Prefabs Update

**Prefabs** in **Scenes** remain an integral facet of **Incari Studio**. **Logic** in **Prefabs** has changed slightly with the introduction of two new **Nodes**:

* [**On Creation**](/incari-studio/2023.2/objects-and-types/prefabs/logic-prefabs.md#nodes): Initializing a **Prefab** in **Incari Studio** is easier than ever with the **On Creation Node**. This intelligent feature automatically configures any **Prefabs** as they are added to a **Project**, taking care of all initial settings and technical groundwork.
* [**On Destruction**](/incari-studio/2023.2/objects-and-types/prefabs/logic-prefabs.md#nodes): Removing a **Prefab** is as smooth as introducing one, thanks to the **On Destruction Node**. It handles the disassembly of **Prefabs** from a **Project**, ensuring there's no leftover data to clutter a user's workspace.

In addition, the [**Variables** of a **Prefab**](/incari-studio/2023.2/objects-and-types/prefabs/logic-prefabs.md#variables) are now exposed in the **Attribute Editor**. Here, the user can change the default values of the local variable.

## Material Editor Update

Several small updates add up to a better user experience. The **Material Editor** now allows the user to [get the name](/incari-studio/2023.2/modules/material-editor.md) of any **Shading Model's** property, copy it, and paste it. This is especially useful for the **Custom Shading Model**, as it allows the user to integrate any of its properties into corresponding **Logic** with no fuss.

![Hovering over Names.](/files/wVRGiFBCpPJPJyPyFCuR)

![Copying a Name.](/files/6q1DODBFJByFkYNnJAAB)

This requires the use of two new **Nodes**:

* [**Get Material Property**](/incari-studio/2023.2/toolbox/incari/material/getmaterialproperty.md)
* [**Set Material Property**](/incari-studio/2023.2/toolbox/incari/material/setmaterialproperty.md)

It is also now possible to use shaders from [*ShaderToy*](https://www.shadertoy.com/), expanding the capabilities of design within **Incari Studio**. The process to do so is described [here](/incari-studio/2023.2/modules/material-editor/customshadingmodel.md#fragment-shader) towards the bottom of the section.

## Exporter Update

The [**Exporter**](/incari-studio/2023.2/modules/exporter.md) now allows the user to export a **Project** to *Android*. This makes it easy to deploy an **Incari Project** onto *Android* devices, extending the ways an **Incari Studio** user can reach their audience. A step by step is available to make [exporting to *Android*](/incari-studio/2023.2/modules/exporter.md#android) easy.

![Exporter with Android.](/files/s0QgnENUfKyJDMUrhwzY)

## Communication Update

**Incari** has added to the different communication protocols it supports. These are:

* [**Bluetooth**](/incari-studio/2023.2/toolbox/communication/bluetooth.md). *Bluetooth* allows for communication between wireless and fixed devices in the short range, like when a car connects to a mobile phone. Besides new **Nodes**, this includes an update to [**Plugins**](/incari-studio/2023.2/modules/plugins/communication/bluetooth.md).
  * [**Events**](/incari-studio/2023.2/toolbox/communication/bluetooth/events.md)
    * [**On Bluetooth Device Paired**](/incari-studio/2023.2/toolbox/communication/bluetooth/events/onbluetoothdevicepaired.md)
    * [**On Bluetooth Device Unpaired**](/incari-studio/2023.2/toolbox/communication/bluetooth/events/onbluetoothdeviceunpaired.md)
  * [**Is Bluetooth Device Paired**](/incari-studio/2023.2/toolbox/communication/bluetooth/ispaired.md)
  * [**Pair Bluetooth Device**](/incari-studio/2023.2/toolbox/communication/bluetooth/pairbluetoothdevices.md)
  * [**Retrieve Call History**](/incari-studio/2023.2/toolbox/communication/bluetooth/retrievecalhistory.md)
  * [**Retrieve Phonebook**](/incari-studio/2023.2/toolbox/communication/bluetooth/retrievephonebook.md)
  * [**Scan For Bluetooth Devices**](/incari-studio/2023.2/toolbox/communication/bluetooth/scanforbluetoothdevices.md)
  * [**Unpair Bluetooth Device**](/incari-studio/2023.2/toolbox/communication/bluetooth/unpairbluetoothdevices.md)
* [**WebSocket**](/incari-studio/2023.2/toolbox/communication/websocket.md). *WebSocket* is a communication protocol that provides full-duplex, bidirectional communication channels over a single *TCP* connection. Besides new **Nodes**, this includes an update to both [**Plugins**](/incari-studio/2023.2/modules/plugins/communication/bluetooth.md) and [**Project Settings**](/incari-studio/2023.2/modules/project-settings/websocket.md).
  * [**Events**](/incari-studio/2023.2/toolbox/communication/websocket/events.md)
    * [**On WebSocket Error**](/incari-studio/2023.2/toolbox/communication/websocket/events/onwebsocketerror.md)
    * [**On WebSocket Receive**](/incari-studio/2023.2/toolbox/communication/websocket/events/onwebsocketreceive.md)
    * [**On WebSocket Start**](/incari-studio/2023.2/toolbox/communication/websocket/events/onwebsocketstart.md)
    * [**On WebSocket Stop**](/incari-studio/2023.2/toolbox/communication/websocket/events/onwebsocketstop.md)
  * [**WebSocket Client Send**](/incari-studio/2023.2/toolbox/communication/websocket/websocketsend.md)
  * [**WebSocket Client Start**](/incari-studio/2023.2/toolbox/communication/websocket/websocketstart.md)
  * [**WebSocket Client Stop**](/incari-studio/2023.2/toolbox/communication/websocket/websocketstop.md)

## Incari Hub Update

A user's subscriptions now appear directly in the **Incari Hub** `Settings` and can be activated there, creating a smoother process for managing access to **Incari Studio**.

## **New Nodes and Node Updates**

Besides the **Nodes** related to new features that are specified above, several new **Nodes** have been introduced with this release. The list is given below:

New **Nodes**:

* [**Media**](/incari-studio/2023.2/toolbox/incari/media.md):
  * [**Get Media**](/incari-studio/2023.2/toolbox/incari/media/getmedia.md)
  * [**Get Media Length**](/incari-studio/2023.2/toolbox/incari/media/getmedialength.md)
  * [**Get Media Loop**](/incari-studio/2023.2/toolbox/incari/media/getmedialoop.md)
  * [**Get Media Progress**](/incari-studio/2023.2/toolbox/incari/media/getmediaprogress.md)
  * [**Set Media**](/incari-studio/2023.2/toolbox/incari/media/setmedia.md)
  * [**Set Media Loop**](/incari-studio/2023.2/toolbox/incari/media/setmedialoop.md)
  * [**Set Media Progress**](/incari-studio/2023.2/toolbox/incari/media/setmediaprogress.md)
* [**Screen**](/incari-studio/2023.2/toolbox/incari/screen.md):
  * [**Load Scene**](/incari-studio/2023.2/toolbox/incari/screen/loadscene.md)
  * [**Set Background**](/incari-studio/2023.2/toolbox/incari/screen/setbackground.md)
  * [**Unload Scene**](/incari-studio/2023.2/toolbox/incari/screen/unloadscene.md)
* [**Scene**](/incari-studio/2023.2/toolbox/events/scene.md)
  * [**On Scene Loaded**](/incari-studio/2023.2/toolbox/events/scene/onsceneloaded.md)
* [**Binary**](/incari-studio/2023.2/toolbox/binary.md)
  * [**Binary To Byte Array**](/incari-studio/2023.2/toolbox/binary/binarytobytearray.md)
  * [**Verify Checksum**](/incari-studio/2023.2/toolbox/binary/verifychecksum.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.incari.com/incari-studio/2023.2/getting-started/whats-new-20232.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
