{{description>"Expand Curvy Splines with custom controller functions, UI extensions, unique shape templates, and custom generator modules. Learn more here!"}} {{indexmenu_n>6}} ====== Extending Curvy Splines ====== Curvy Splines offers a lot of ready-made scripts you can drop on your GameObjects and be happy. However, there always will be **the** one feature you or your game designers are missing. Knowing that we not just offer you the full source code of Curvy Splines, but designed many aspects with extensibility in mind. ===== Preface ===== Extending Curvy Splines can be complex, but that highly depends on what you're after. Sometimes you just need to create a custom controller and override a single function to add the feature you want while other extensions require a solid knowledge of Curvy Splines mechanics. * First, read the [[apigeneral]] * Second, you should read the docs and thoroughly examine the provided examples. If you stuck, feel free to ask at the [[https://forum.curvyeditor.com|forum]] * Use the source, Luke! Examine classes that provide similar functionality and see how it's done! ==== Where to store custom code ==== Obviously, you shouldn't create any custom code inside Curvy Splines' main folders. In case of custom shape templates and CG modules you can leave the files where the corresponding wizard created them, but like with custom controllers, toolbar items etc. you can save them anywhere in your project. ===== Creating custom Controllers ==== * [[createcontrollersadvanced]] ===== Extending the UI ====== * [[createtoolbaritems|Adding toolbar items]] ===== Creating custom Shapes ===== Curvy Shapes offers a quick way of create Spline Shapes. Of course you can add your own shape templates: [[createshapes]] ===== Extending Curvy Generator ===== Extending the Curvy Generator is the most sophisticated way to extend Curvy Splines, but the most fun part, too! Though not rocket science, you'll need a good understanding of the Generator internals to successfully write quality modules. A simple wizard will help you create a module's skeleton at Project's window->Create->Curvy->CG Module.