GS CurveTools Workflow and Functions Tutorials

Tutorial / 09 February 2024

GS CurveTools Workflow and Functions Tutorials

Workflow Tutorial:

This video will cover the fundamentals of GS CurveTools plug-in for Autodesk Maya. Creating new cards, setting the textures, adjusting the UVs, using layers and more...

Full Tutorial:

This video will cover most of the functions in GS CurveTools plug-in for Autodesk Maya. From creating cards to using more advanced features like Orient to Normal...


How to install GS CurveTools and GS Toolbox!

Tutorial / 09 November 2023

GS CurveTools and GS Toolbox installation steps:



1. Download the provided archive (for example from the email or "My Library" page in your Profile.

2. Unpack it anywhere you like.

3. Open the unpacked folder and search for your Maya version (NOTE: only for Personal Edition, Studio users have only one folder).

4. Find Maya scripts folder (NOTE: {Maya_Version} is your maya version, for example 2024):

    a. For Windows it is located here: 


    b. For Mac it is located here (NOTE: the folder might be hidden in your system):


5. Copy the gs_curvetools (or gs_toolbox) folder for your version of Maya from the unpacked folder and paste it to the scripts folder that you located in the step 4.

6. Run Maya and Copy and paste this code to Python Command Field at the bottom (switch from MEL by clicking on it) or to the script editor and press Run:

GS CurveTools:

import gs_curvetools.init as ct_init;from imp import reload;reload(ct_init);ct_init.Init();

GS Toolbox:

import gs_toolbox.init as tb_init;from imp import reload;reload(tb_init);tb_init.Init();

7. Congratulations! There will be three buttons in your shelf now:

    1. Run the UI (CT UI or TB UI)
    2. Reset the UI (CT or TB with a circular arrow)
    3. Stop the script completely (CT DEL or TB DEL)

Most common installation issues:

- Bad Magic Number error - you chose the wrong variant of the plug-in for your Maya version.

- ModuleNotFoundError: No module named 'gs_curvetools.init' error - you pasted the plug-in folder to the wrong scripts folder. Use only version specific scripts folder.


GS CurveTools Geometry Deformation During Bind

Tutorial / 22 May 2023

GS CurveTools geometry deformation during Bind

In the latest version (v1.3) of GS CurveTools and introduction of Auto refine mode there were some changes to the default attributes. This can affect geometry that was attached to a curve using Bind. Geometry might appear distorted (see video below) and same goes for the textures.

This will only happen if you are using very low resolution curves (4-5 CVs) as a base for Bind and can be resolved by rebuilding the curve (using Rebuild slider) to higher CV count or by simply increasing the SamplAcc value in the Curve Control Window -> Other.

Alternatively, you can disable Auto mode and change the Refine value manually. This might significantly decrease curve responsiveness when dragging CVs (or when modifying multiple curves at a time), so use it only if you really need it.

So to recap, if you notice any unusual geometry deformations when using Bind (or Warp Cards/Tubes) on lower CV counts - increase the SamplAcc or use manual Refine.


GS CurveTools Trailer/Quick Overview

Tutorial / 29 August 2022

GS CurveTools Trailer/Quick Overview

Just a quick overview video for new users of GS CurveTools:


GS CurveTools v1.1 Major Update Released! Free Update and New Features!

Tutorial / 10 March 2020

GS CurveTools v1.1 Major Update

Hello everyone and welcome to this quick overview of the new features of GS CurveTools v1.1!

Plug-in is available on my ArtStation page. Update is free for all the previous customers (ArtStation -> Purchases -> My Library)

Update Video:

Warp Mode:

In this major update I've added a brand new mode for curves and tubes - Warp Mode.

This mode mirrors the functionality of the old "Extrude" mode (it creates, converts and adds cards/tubes), but it creates new type of cards and tubes - Warp Card and Warp Tube.

Maybe one of the most anticipated features of Warp Mode - twist at any point of the curve! 

Yes, you can now not only twist uniformly but also choose where to twist your cards!

Same control graph is available for Width. You can now change width along the curve with any number of control points.

You can also unlock length of the geometry and it will no longer stretch with the curve:

These new cards and tubes are fully compatible with all the previous functions and have some additional controls available.

Warp Function:

This new button expands upon warp functionality by allowing you to attach (bind) any geometry AND any number of curves to a single cuve.

Original geometry and even curves will keep their shape, so you can create braids or clumps of hair cards and then control them with a single curve. 

This single curve will have twisting, scaling, orientation and much more options available.

Attaching Geometry:

Attaching Curves:

Editing Already Attached Curves:

*This function should not be confused with the old "Control Curve" function. Control Curve had no control over twisting/orientation and was, in general, very limited.

Extract Selected or Extract All:

You can quickly extract geometry from selected curves or even extract and combine all the geometry from all the layers in one click.

New Layer Filters:

You can now quickly show/hide any component of the card in all layers!

Colorize Layers and Check UVs:

You can now switch between original texture and checker texture in one click:

New Online Documentation:

And much more!

You can see all the old features in this Full Tutorial Video from v1.0:


GS CurveTools v1.0 Full Tutorial (Livestreamed and Edited)

Tutorial / 02 December 2019

► Plug-in Available Here: STORE

► Livestreamed on Twitch: Twitch Channel


GS CurveTools v1.0 for Maya - Tutorial

Tutorial / 08 October 2019

GS CurveTools


GS CurveTools is a plug-in focused on creating Hair Cards, Tubes, Pipes, Braids and other similar tasks involving nurbs curves.

This tutorial covers only the basics of this plugin, however, it is more than enough to start using it correctly and discover other features on your own. For more in-depth information, refer to the Online Documentation.

Here is a quick tutorial covering some of the main features of GS CurveTools plug-in for Maya:


GS CurveTools UI consists of three Shelf Buttons and a dockable menu that holds all the functional buttons as well as Options, Help and About menus.

CT UI - will open and close the main menu

CT Reset - will reset the menu to its default state

CT Del - will delete the menu and stop all the background activities


You can quickly create curve cards or tubes using "New Card" and "New Tube" buttons. Curve card is a procedural geometry controlled by a single nurbs curve.

In curve cards or tubes there are a bunch of procedural settings that are available for you. You can find those settings in Channel Box in Maya or by opening "Curve Control Window" in the plugin itself.

With these controls you can change divisions, twist & orient, change width, taper of the procedural geometry and more... You can also procedurally control already existing UVs on the generated geometry. This allows for quick alignment of UVs to hair card textures or cable textures.

Solidify option will allow you do add thickness to your cards/tubes.

All the options are fully procedural, so you can change them at any time*

*complex procedural constructs (later) can have some limitations on geometry divisions change


In Hair Cards workflow (or if rendering Pipes or Tubes) it is important to quickly assign textures to your Hair Cards, as well as move UVs in a correct spot to capture the right part of texture.

The easiest way to quickly assign texture to Curve Card or Tube:

  • Select the entire Curve Group (Press UP on your keyboard when Path Curve is selected), 
  • Click the RMB in the viewport
  • Press Assign New Material or Assign Existing Material

In GS CurveTools plugin, all the created geometry already has the correct UVs for this task. All you need to do is move them using MoveU, MoveV, Rotate UV, Scale U and Scale V sliders (or attributes in the Channel Box).

Warning: Do not move UVs manually in the UV editor, only use parameters in your Channel Box or Curve Control Window or you will loose procedural UVs for this curve.

Assign the texture and try moving MoveU, MoveV, Rotate UV, Scale U and Scale V sliders (or parameters in the Channel Box). See how texture is moving with them. 

You can then transfer these UVs to any other Card or Tube using "Transfer UVs" button.

  • Select Card or Tube from which you want to transfer the UVs
  • Select any number of Cards or Tubes to which you want to transfer UVs
  • Click Transfer UVs button in the GS CurveTools menu


If you already have some curves in your scene, or you accidentally deleted the procedural geometry, it is very easy to convert already existing curves back to Curve Cards/Tubes.

Just select any number of curves in your scene and click "Curve Card" or "Curve Tube" button. This will create fully functional procedural Curve Cards and Tubes that you can then control just like any other Curve Cards or Tube.

WARNING: Do not use Curve Card/Curve Tube on instanced curves, it will have limited functionality or it will not work at all. Only real curves supported right now.


You can easily add new curve cards/tubes between already existing cards by using "Add Cards" or "Add Tubes" buttons.

This will not only create new cards/tubes, it will also smoothly blend curve paths between already existing curves as well as it will blend any attributes between those curves. This creates a natural transition between curves that is very useful when dealing with Hair Cards.

You can easily select the number of added cards/tubes with a simple "Add" slider.

Added Curve Cards/Tubes are fully functional and can be used as any other Curve Card or Tube.


When creating Hair Cards it is important to keep things organized. You can, of course, use outliner for this but in GS CurveTools there is a better way to organize your work.

Every curve card/tube must have a layer when it is created.

By default, all curves go to the layer 0. You can select between 20 layers by simply clicking on them before you create a new curve or you can transfer curves from layer to layer later, using marking menu.

Layer Controls:

  • LMB click - select layer. This will Select layer for further curve creation
  • Shift + LMB click on multiple layers - additively select curves. This will additively select curves in the selected layers
  • Ctrl + LMB click replace selection. This will select only the curves in the selected layer
  • Hold RMB on layer - Marking Menu with more options:
    • Add Selection to Layer - will add any selected curves to this layer. Layers are exclusive so curve can only be in one layer at a time
    • Select Curves/Geometry - will select curve or geometry component of all the Curve Cards/Tubes in the layer
    • Toggle Layer/Curve/Geometry Visibility - self explanatory
    • Toggle Geometry Edit - this option allows for selection and edition of the Curve Card/Tube geometry component
    • Extract Geometry - will hide original geometry and add a group with extracted geometry without curves. You can then export it or edit further.
    • Delete Groups and Curves - this option will completely delete anything in the layer and the layer itself. Be careful.  


You can easily convert any number of edge groups (unconnected edges) to curves using "Edge to Curve" option. This feature is fully procedural and keeps the construction history. This means you can use this feature to create even more complex curves, like braids:

  • Select any number of edge groups
  • Click Edge to Curve

To make a procedural braid:

  • Create a Curve Tube in Layer 0
  • Change Length Divisions to at least 100 and Width Divisions to 5
  • Change Curve Refine to at least 100
  • Enable Geo Editing for layer 0 (marking menu)
  • Select four edges that go with the curve and expand selection to loop
  • Click Edge to Curve

Warning, do not change Length or Width division of the original curve from this point.

  • Disable Geo Editing for layer 0
  • In layer 1 Create Curve Tubes using newly created curves
  • Change Length and Width Divisions to something like 200 and 12. Change Curve Refine to 200.
  • You can now adjust Curve Width X and Z to remove intersections
  • Select the original curve tube (layer 0) and change the twist value to taste (you can manually type more than 360 degrees)
  • You can additionally hide the original geometry from the layer 0 and curve from the layer 1 for ease of control.

Release Tutorial v1.1:

Update Tutorial v1.1:

You can find more detailed info in the Documentation


GS Toolbox v1.0 for Maya - Tutorial

Tutorial / 07 October 2019

GS Toolbox


GS Toolbox is primarily a hard surface modeling plug-in but it can also be used in other workflows as well.

This tutorial covers only the basics of this plugin, however, it is more than enough to start using it correctly and discover other features on your own. For more in-depth information, refer to the User Manual.

My name is George Sladkovsky and here is a quick tutorial covering some of the main features of GS Toolbox plug-in for Maya:


GS Toolbox UI consists of three Shelf Buttons and a dockable menu that holds all the functional buttons as well as Options, Help and About menus.

TB UI - will open and close the main menu

TB Reset - will reset the menu to its default state

TB Del - will delete the menu and stop all the background activities


GS Toolbox makes selecting edges an easy task. Using interactive slider or just typing in the angle value and clicking one button.

  • Select your mesh (or faces)
  • Click on "Angle" button for interactive preview of the selected edges (optional)
  • Confirm selection using "Select Edges" button. Works on multiple meshes as well

Creasing by Angle:

  • Select your mesh (or faces)
  • Click on "Angle" button to enable interactive preview (optional)
  • Confirm the crease using "Crease+" button. You can select crease level and subdivision level using provided SubD and Crs sliders

Select Edges, Crease+ and Bevel+ buttons are context sensitive, which means that they will react on different selections differently. If you select Object they will look on all the edges in that object. If you select part of the object (using face selection) it will only look for edges in this selected part.

You can also change any creased edges by creating crease sets right from the menu:

  • Hold RMB on "Crease+" button to access the marking menu.
  • Move your mouse to "Create Crease Sets from Mesh" button and release.
  • After you edited your creases, apply the edits by repeating the procedure but selecting the "Bake Crease Sets to Mesh" button.

Beveling workflow expands on all the previous workflows by adding the ability to convert creases to bevels and bevel by angle feature. To convert creases to bevels:

  • Hold RMB on "Crease+" button to access the marking menu.
  • Move your mouse to "Convert Creases to Bevels" button and release.

Bevel by angle works similar to Crease by Angle.

When you activate Interactive selection (Angle button, near the Angle Slider) you can notice that some of the buttons have changed colors from default to orange. This indicates that you can finish interactive selection using one of those buttons.


Sometimes it is necessary to quickly save selected components or objects to then return to this selection.

Quick Groups allow you to quickly add any selection to a special set that can be accessed later.

Select part of your model or entire objects and then click with LMB on any of the 20 quick groups to save the selection. The group will change color from default grey to orange. Subsequent clicks on that group will select any stored components and objects. 

Here are some group commands you can use:

  • Select Objects or Components
  • LMB on empty group will add selection to this group. LMB on orange (active) group will select any stored components and objects.
  • Shift + LMB on multiple orange groups will additively select their contents.
  • Ctrl + LMB will quickly hide any grouped components or objects (group will turn light grey to indicate hidden components).
  • Hold RMB to access marking menu:
    • Merge to this group - exclusively add selection to this group. If it was in any other group before, it will remove it from those group.
    • Toggle Group Visibility acts as Ctrl + LMB option
    • Toggle Group Reference - disables viewport selectability of a group.
    • Add/Remove Selection From Group - will add or remove selected objects/components from selected group
    • Clear Group will empty the group but will not delete any geometry.


The ability to quickly mirror and instance objects is very important in Maya because of its lack of global modifiers. 

In GS Toolbox mirroring, instancing, flipping and cutting geometry is done in the Mirror Menu.

In this menu you have all the mirroring, instancing and cutting features available with advanced matrix transformations for Flip and Instance and more. 

  • XYZ and -XYZ buttons control the direction of mirror.
  • Radio Buttons (selectors) below XYZ buttons control the combination of settings for mirror.
    • For example: To Instance something, simply select "Instance" button and click XYZ or -XYZ

Multiple selected objects are supported for every mirror feature.


  • Select Base Object and then any Cutters you want.
  • Bool +, Bool - and Bool = will run the Union, Difference or Intersection Boolean command
  • Booleans are grouped in one group for every object. Every subsequent cutters will go into the same group
  • You can Edit Cutter Objects after you Boolean. Just treat it as normal geometry
  • Hide/show and select cutters using Buttons "Toggle Group, Show Cutters, Select Cutters"
  • Delete, bypass and change operation of any Boolean cutter using "Delete Bool Cutter" button and options in the Channel Box
  • Apply Booleans using "Apply Booleans" button


GS Toolbox has a simple yet powerful material management menu. Using 12 material slots, that can quickly apply materials, select meshes with this material, save/load scene independent presets, create MatCaps (Material Capture shaders) using any user image and selecting a global shader (applied to any newly created meshes).

  • To access marking menu, Hold RMB on any of the 12 material slots:
    • Add From Scene Materials will open a window where you can add any existing materials to quick slots.
    • Create MatCap Material will create MatCap materials (material capture) from any user image and put it in selected slot
    • Save Preset allows you to save any material (and its shading network) from quick materials to preset manager (scene independent)
    • Manage Presets will open a material management window where all your presets can be found  (scene independent)


There are even more features to discover in GS Toolbox. Here is just a small part of additional functions:

  • Straighten will straighten selected edge groups (unconnected edges) from first to last vertex
    • Shift + Straighten will also equalize the lengths of selected edges
  • Interpolate will smoothly interpolate selected edge groups (unconnected edges) using first, middle and last vertex as guides
  • Snap to Poly will snap any selected objects to any selected faces
    • In marking menu you can select between simple snap and snap with instance. This function will match the number of selected faces with number of automatically created instances and snap the (see screenshot)
  • Combine, Separate, Duplicate and Extract act similar to regular Maya functions but they will not create any unnecessary groups in the outliner. History is preserved.
  • Snapshot - create a fast duplicate of the selected object, hides it and moves it in a special group.
    • Shift + Snapshot will also delete history on the original object after snapshot was created.
  • Delete Node - will delete any selected node in the Channel Box (or Attribute Editor).
    • Shift + Delete Node will delete the Latest node in the history stack of the selected object.
  • Store Edits - will store any unsaved vertex transformations on the object (see documentation for more advanced explanation)
  • Instance+ - will create a special instance that is compatible with Booleans and can use nodes as modifiers.

You can find more detailed info in the DOCUMENTATION