Unity Splines

Welcome to the Splines discussion thread. You can use this thread to ask for help, share feedback, and have discussions about the Splines package.

Introduction
Splines provides a shared solution for path-based tooling, meaning:

  • As an artist, you now have built-in ability to

  • Animate cameras, characters, particles or anything else along a path!

  • Create fences, walls, paths and other details that require placing many objects along a path

  • Easily build and modify tubes, wiring, and similar objects

  • As an artist, you can expect same basic visuals, shortcuts, and tooling when working with any Spline-based features - no need to learn and re-learn

  • As a tool/feature developer, you can use Splines as a base for your own solutions (for yourself, the Asset Store, etc)

Resources

Requirements

  • The minimum required Unity version is 2022.1

Getting started

  • Download Unity 2022.1 or newer through the Hub.
  • Open your project in Unity and go to Project Settings > Package Manager
  • Go to Window > Package Manager.
  • Search for “Splines” and install
  • Use “GameObject > Spline > Draw Spline Tool …” to begin creating your first Spline

Current state

Splines 2.0 is the currently available release, with numerous improvements vs 1.x:

  • Ability to draw connected and disconnected branches
  • More tangent controls and modes
  • Ability to select and edit multiple spline elements simultaneously
  • Default components for Animating, Instantiating, and Extruding along a Spline
  • Improved element visuals and interaction
  • API, bug fixes, and more - see the Changelog for details

What’s next
Splines 2.1 (coming soon) is landing soon with more artist-focused features and general polish. Future releases will be bug fixing and maintenance - no new features are currently planned.

Feedback
In terms of feedback, we’re especially looking for:

  • Can you think of any use cases that are not covered yet?

  • Are there any workflows that are unclear or missing?

  • Is there anything that is unclear or that you don’t understand?

  • Are there any issues or unclear parts in the documentation?

Please share your feedback in this thread.

How to report bugs
Ideally, we’d like any bugs reported through the built-in bug reporter tool, as that will automatically provide us with some relevant context. When reporting bugs, please:

  • Attach a (stripped) project when there are issues with X.

  • Attach X files when there are issues with X.

Have a look at this page for more information and best practices around bug reporting.

Once you have submitted a bug report through the bug reporter, please feel free to start a discussion about it in this thread.

Thank you for your interest, we’re looking forward to your feedback!

12 Likes

Any plans for spline system integration with the terrain?

1 Like

Small feedback: circle spline in create menu is not so circle. See how it looks compared to sphere collider

3 Likes

I would really like being able to repeat and bend decals along a spline.

2 Likes

That’s up to the Terrain Team! :slight_smile: Lots of good uses there, for sure.

2 Likes

Uho … could you file a bug report? Thanks!

Sure, that could certainly be done by an Asset Store/custom solution. Spline is open to all for use, we’re excited to see what everyone starts building with this :slight_smile:

1 Like

So I am in Unity 2022.1.6f1 with the package manager updated today and it does not show the Spline 2 package. Current version and only one installed is 1.01. Even tried to include preview packages.

It shows up in 2022.2b by default. Note, there are compiler errors with the Samples you may have downloaded so those need deleted when upgrading.

1 Like

Ok, done CASE IN-19005

1 Like
  • Spline subdivision: Subdivide a spline, preferrably not the entire spline, but a range of knots
  • Knot reduction: Un-subdivide a spline and reduce the knot count
  • Convex and concave hull: Have a spline created a round a set of points (or gameobject positions) to create a closed spline area
  • Selection API: the selection API is currently closed, there’s no way I could access selected knots and eg subdivide between them myself
  • Center the transform’s pivot: There should be a button for that
  • Extending an existing spline is totally unclear. I only found out by accident how that works. Preferrably the tooltip on the “Add Knot” toolbar button should be extended by that information.

Feature request:

  • new splines should be set to Auto, currently it’s Bezier. nobody wants to mess with Bezier when they start with splines
2 Likes

On a general note: The Splines are good, but they lack feedback from users. I toyed around with the spline widths that Jason implemented for MicroVerse. Personally I feel some simple API calls are missing. Like eg I have a spline with 2 knots, start and end knot. Then inbetween 3 spline data which define the width.

Rough example just to visualize this:

For one I had to figure out how to access the knots at all via script. In the Splines API t is mixed up and used as knot index and normalized value. That’s rather confusing. Then I needed to get all width positions and width values. That’s not possible currently, not in a straightforward way. I had to create a list of normalized t values of the spline data including the bezier knot positions at start and end, then go through that list and evaluate the positions and widths relative to [0,1] including the points that actually don’t exist as bezier knot.

That could be easily added to the spline utils. And should be. Things like that.

In other words: Spline is good, but lacks polish. Don’t stop developing it before the goal. Go the extra mile please :slight_smile:

7 Likes

Why are Unity stopping development on this before anyone’s had a chance to use it on a real production? Insanity. Such a crucial tool, development should be going on indefinitely.

3 Likes

Did they ?

In the OP
“Future releases will be bug fixing and maintenance - no new features are currently planned.”

I only knew because the MicroVerse dev has been highlighting some of its limitations.

1 Like

Hey folks! This is somewhat of a misunderstanding. As the starting post here says, we’re actually still working on features and improvements right now, for the 2.1 release. Some of the most exciting updates, especially for artists, coming there!

After 2.1, yes we’re stepping back to let the system gain adoption, get heaps of real-world data, and figure out what comes next for Splines. That step-back also allows us to shift our team’s primary feature focus to our next big ticket item, native greyboxing tools - basically the “make ProBuilder really good, make it default” that’s been asked for 5 years since Karl and I joined Unity. So that’s super exciting … and yes, it should make heavy use of Splines, too!

13 Likes

Is there anything you can share about 2.1, ie which features will be in? Just for planning ahead.

In that regard with ProBuilder: Will you guys implement mesh creation with spline crossings, eg a road network?

1 Like

2.1 - sure! It’s mainly artist tooling and experience items. The best one is a “direct manipulation”, similar to 2D solutions, so you can click-drag on an element to move it, like you would for box collider handles/etc. For this iteration, it’s always in the item’s local space, and only does the move action - again, very much like 2D, very simple, designed to match expectations for folks coming from those type of apps (Figma, Photoshop, Illustrator, etc). However, this is something we’re thinking will also be critical to fast, intuitive greyboxing tools, so a generic, 3D solution could land with those tools. Very excited for that.

Visual improvements, tons of bug fixes, and many API improvements are also there. Should be finalized soon, so I can share specifics then!

Also, a big, big focus of Splines is Asset Store or other external use, so when we say “support and maintenance”, there’s still room (and desire) to consider API work. Especially as we find potential blockers, ie the editor selection business you pointed out.

2 Likes

ProBuilder - probably nothing as specific as a road network (because every game/project would need something very different), but it’s all research at this stage. Definitely make your thoughts known over in the thread, thanks!!
Official - Survey and Discussion - Built-in Mesh and Greyboxing Tools (ProBuilder) - Unity Forum

Are there plans to release a module that allows us to morph a mesh along a spline? E.g. a cliff face which we can bend, something like what we see here?

5 Likes