JT Unity Plugin for JT Open Program members

The JT Unity Plugin is a new tool for JT Open Program members. With the JT Unity plugin developers can dynamically load .jt files into a Unity game while the game is running. The plugin also supports creation of JT Prefabs that can abe dynamiclly loaded or packaged with the app.

The JT for Unity plugin is a Unity Custom Package consisting of C# scripts and plugin libraries that allows users to load native JT files in applications created with Unity. The plugin extracts product structure, tessellated geometry representations, tessellated PMI representations and properties directly from a .jt file into a Unity scene. The plugin also creates a mesh collider from the Mesh attached to the JTModelLoader enabled GameObject.

The JT for Unity plugin supports two options for working with JT content;

  1. Dynamic loading of a .jt into an active Unity application. In this scenario the JT file is loaded from disk when the application is launched. The JT content remains in its native form on disk. For more information see the “Loading JT Content” section in the user documentatoin. Dynamic loading only works in applications created for the Windows desktop and Windows UWP platforms.

  2. Creation of Prefabs. JT models loaded into an active scene using the dynamic load capability can be saved as Prefabs using the provided scripts. Prefabs created with the JT for Unity plugin have additional information associated with them that is not available when using the built in Unity Prefab creation feature. These Prefabs can be used in Unity applications on any platform. Prefabs created with the plugin must be included at compile time.

Because the JT for Unity plugin makes use of the JT Open Toolkit to extract content from .jt files, the plugin must be enabled with a valid JT Open Toolkit license key when using the JTLoader and JTLoaderLogger scripts.

(view in My Videos)


10 thoughts on “JT Unity Plugin for JT Open Program members
  • jasong

    Where can i get this plugin?

  • zinkm

    Hi Jason,

    JT Open Program members can download the JT for Unity package from the GTAC FTP site. If you don’t have access there you can download the JT Open Toolkit trial pacakage. The plugin is included with the trial.

    More information on the  JT Open Program can be found on http://www.jtopen.com

  • rajesh_msen

    Hi zinkm,


    not able to find the Unity plugin package in JT Open Toolkit trail package. Downloaded from your reference link.

    is there any documentation about it?



  • samirs

    Hi @zinkm 


    Does the JT for Unity toolkit also support reading PLM XML files and their data? 


    Sorry if this is an elementary question – I’m only getting started with JT and PLM XML.



  • zinkm

    Hi Samirs,

    No, the plugin is for JT files only

  • samirs

    Thanks @zinkm . Any plans for PLM XML support in Unity? 

  • zinkm

    No, we are not looking at that at this time.


    Mike Z.

  • patbre94

    Hi, very nice plugin! But i have a problem in Unity 2019.1.3f1… If i try to import a model, i get an Missing Method Exception for bool UnityEngine.Texture2D.LoadImage(byte[]) Is this an well known problem and do you have an solution for that? With Unity 5.6, it works fine…

  • timokhinvs

    The model is only partially loaded, not fully loaded.
    I used JTTK105_JTUtils125_JTUnityPlugin1_3.
    As an example, I took the scene “JT Scene 1 model” and for “JT File Settings > Path To Load” set “butterflyvalve.jt”.

    The following components did not load:
    1. valve_sub_assy > screw_5_x_375
    2. valve_body_sub_assy > screw_10_x_75

    I generated JSON using jt2bod.exe.
    Now look at both screws.

    “title”: “screw_5_x_375”,
    “psId”: 226,
    “xform”: [ 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, -0.0645, -0.8125 ],
    “children”: [
    “title”: “screw_5_x_375_SOLID_SOLIDS”,
    “b64data”: “UExNQk9ECABTQcIHAAAAAAAAA….”,
    “psId”: 237

    “title”: “screw_5_x_375”,
    “psId”: 320,
    “instanceId”: 226,
    “xform”: [ 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, -0.0645, -1.8125 ]

    There is a node “children” for the screw with coordinates (0, -0.0645, -0.8125) . Inside this node, a body is defined in the b64data field.
    There is no node “children” for the screw with coordinates (0, -0.0645, -0.8125). And there is only a link to the instance “instanceID: 226”.
    For the first screw: “psId: 226”.

    I think the problem is inside JTParser.dll. Maybe he does not know how to work with component instances (where instanceID is used instead of b64data)?

  • canovas.jose43

    This plugin works very well with the 2017 version of Unity. But with the 2019 version it doesn’t matter how it should. Better support is expected for the Unity 2019 version?

Leave a Reply