For those watching in 2020 who are wondering why they cannot see 'Forward Axis' or 'Static Mesh' in the Details panel in the game editor; You need to set the variables to public/editable on each instance. To do this, go into the Blueprint editor and press the Eye icon next to both of the variables you created.
This is a pretty straight forward, very good tutorial. In 2016, older versions of unreal engine had some problems with Edit Spline so this was pretty useful but now, edit spline tool in UE4 is so much better to use so we don't need to do this anymore. 1 tip, only create this if you are going to continue to add more to the blueprint to make it more interesting and advanced to add additional of whatever you want it to do, events included :).
Great tutorial, 10/10. Some people use spline component to make rivers also and I will try this. As you said, it's one of the most important components on UE4. Very useful.
I really like, that you explained it rather fast and on point. This is rather rare on youtube these days, most make such things to an 1 hour tutorial. I would like to see more :).
@@osakanone create a location offset (in x-axis for example) while updating and incrementing player rotation at each tick (each frame) for example : if ( isOnthePipe( ) ) { // offset location // update rotation // isOnthePipe ( ) could be implemented using collision event handlers Hope this helps
Everything what you need to do is just updating your mesh/character position using GetLocationAtDistanceAlongSpline. So you simply add little distance when ticking.
First of all great video, very well explained. Just one thing i think is worth to clarify, i followed the exact set up of this video and my meshes from the splines didn´t produced static lighting, even when the option for "static" was set on the "set static mesh" node options and the static mesh itself. I investigated a little and in fact, merging the spline with the root component is not necesary at all, and by doing that, the mesh lighting will be dynamic only for some reason. So, you just have to create a new scene component within the root and set it to static, put the spline within the new scene component, then drag the new scene component in to the root to replace it. And last, connect the "Parent" input of the "attachComponent" node to the scene component insead of the spline, this way the meshes form the spline will cast static lighing. I don´t kow if there´s an easier way to do it or just missed something but this solved my problem. Again great video, and keep the good work.
3:00 but what if the "Set Forward Axis" node is no longer called that or no longer exists? I can't find the node... I'm searching for it, in Construction Script...
Hello, thank you very much for your excellent training, I have a question, I would be grateful if you could answer it, I want to make a hose with a spline and I made it with blue print, now I want to connect the beginning and end vertex of the spline to two different objects, and when I move the objects so that the hose moves realistically
TO so much!!!, This worked great, and you used hardly any promote to variable compared to others, therefore this BP was much faster and easier to do and grasp. Worked like a charm. :_))))happy dance.
It's very simple, you check position and rotation at Distance Along Spline docs.unrealengine.com/4.26/en-US/BlueprintAPI/Spline/GetLocationatDistanceAlongSpline/ and update character position.
@@UnrealTefel thank you so much for the reply! Okay, I’m on the right track then. I had sent an email too, so thank you. I’m struggling with where exactly to put this as well as which nodes to utilize though. I tried casting to the first person character to set the location, but that’s not compiling correctly.
Super awesome tutorial man... I was able to make my first blueprint watching it... Never understood any other tutorial regarding this spline thing... Thanks alot
If you use Spline Mesh Component it's for stretching and bending mesh. It's good if you want to do quick deformation. For repeating the mesh I would simply use InstanceStaticMesh or HierarchicalInstanceStaticMesh in conjunction with Spline.
How can i make a little overlap? With some mesh it would be nice if the second one spawned a little back not on the very end so it would be overlapped by the first one. Without overlap the mesh that i wanna use with spline looks like it's not connected properly. .
Hi Tefel, in the tutorial, I noticed that your player character can jump onto any position on the spline and then follow its path from that position where it landed to the end of the spline. Do you possibly know a good tutorial that can help me set that up please? I can make the player follow the spline from its origin to its end, but not from the position where he landed on it. Tx!
Hi Tefel ! :D These days, I'm developing a 3D action game with the Unreal Engine, but I'm having a problem with the fight system. I would like to ensure that each movement of the mouse (joystick, or even mushroom of a controller) is linked to a specific fight animation. Let me explain : Let's say that by pressing F, the "combat mode" is activated, and that each movement of the mouse corresponds to a particular animation. For example, if the mouse has a rectilinear motion, the character will execute a "direct" punch. If the mouse has a curved trajectory, the character will execute a hook. If the mouse describes a perfect circle, the character will perform an aerial circular kick. Finally, if the mouse goes towards "the back", the character executes an elbow strike turned, etc ... First, I thought of using an IK system with an animation adaptation, according to the directions taken by the capsules (which are moved by the mouse or the joystick) relative to the hands of the character, but it seems very complicated, and I doubt that this is the most relevant method ... Do you have specific tutorials to advise me? Blueprint, C ++ does not matter, the objective is to make this game more immersive to the 3rd person. It seems to be very difficult to programm it or to build it with blueprints, so I ask a pro ;) Thank you in advance ps : Sorry for my bad english, I'm french.
So if anyone's getting issues with this Blueprint, I figured out what worked for me. In the ForLoop, set First Index to 1, and the subtraction off your Return number of Spline Points to 1. Then, as opposed to +1 for your second set of Get Location/Tangent values, set it to -1. No problem!
Hi, Thank you for your guide ! I follow the steps by when i add a part with ALT key the new meshe is not blend with the first when there is a curve... I can see a space bettwen the 2 and the curve is not smooth. Any idea ? Sorry fot my english ;-)
Hi Tefel, nice tutorial... I would like to know What functions did you use make the character move along the spline? Did you attached and added an impulse/force/velocity with a tick or is there another way to make it constantly move?
If you select whole mesh it will rotate mesh, but when select second time - just one point it will rotate only spline point. There are point (cubes) across the spline.
Tried this in 4.19 and it just doesn't seem to work. Dragging out doesn't extend the mesh for me. I can create the spline points fine, but there are no meshes on anything except for the fist point, and the mesh can't even be extended. Been through the tutorial numerous times now to see where I may have made a mistake and am struggling to find it.
I run the Version 4.10.4 They deleted the location for the Forward Axis which you changed to Z. I cannot find this option. Please help me everything works only the direction is incorrect please help.
awesome tutorial, when i had to learn it i watched Epic's tutorial that was like 40 minutes, this is short and spot on, good job, also as an idea : you could make another one about how to interact with splines, and by that i mean something like your train example, i had some annoying problems with rotation and stuff anyway, good job on the tutorial
Thanks! Yeah this is a very good idea. I have 2nd series "tutorials" where I do longer stuff about 20-30 minutes so I can just make the train tutorial. I try to keep every guide as short as possible, explaining everything about one case and not being too boring
Mine wasnt working but then i realized I hadnt connected my white arrows together to complete the order of operations. Make sure all of your execute arrows are connected all the way through the chain :)
Great Tutorial.. I created the spline step by step as you showed.. everything works fine... but when i "alt click" at the end on spline point to extend and add another point, that new point comes in between the two points, not in the end.
does work anymore 4.21.1 :( Step 3:20 I cant connect Return Value to Target from AttachToComponent .. >> Spline Mesh Component Object is not compatible with Actor Object Reference.
is there a way to split splines? so if I have a spline with 3 points and my player collides with it the split splits down the middle (kind of like a finish line rope).
thank you this is what im looking for, for my network and power cabling. edit: my cables arent bending whenever it hit the corner. its all straight. edit2: i forgot to subdivide the faces of my cables. lol now its working fine. :)
hello great video btw, but i want to make the character follow the spline when on. But he does not explaine it in the video can someone help me on that? and i have 0 background on programming thanks in advance
This is created all sorts of problems. My model is coming in the wrong direction and squished. when it extending it just breaks. I am spending more time scrumming through this video to check my steps because of how fast it was slowing down is always better. Just not 40 mins long. There is definitely a sweet spot for this.
The default pannel isn`t showing in the editor so i can't attach a mesh to the spline, any clue while this is (using 4.12.2)? (advanced options enabled/ variables set to editable)
very nice tutorial. Could you please follow this up with how you forced the player to move along a spline? This would be amazing for ziplines, climbing ropes, etc
I have a question that I want to ask. Is it possible to make it so that the player can adjust a spline component while the game is running? If it is possible how do you do it?
Hey good day, thanks for the tutorial first of all, but i need some help. My road mesh isn't aligned correctly. It actually needs a 90 degree turn. Currently when i expand its length it creates the duplicate along the side of the mesh instead of the front. Please advise, thank you.
Do you have any information how importing collision on models to be used with the spline mesh? I can't keep the tessellation / divisions in my collision mesh when I import.
thank you very much you don"t know how much this just helped me. You learned things on you tube that they probably never taught in school shameful but it is what it is again thank you you just got a subscribe from me
i would like to ask you sir on how to make a spline tube where you can run your actor inside it without glitch.? i wish you would create a tutorial on how to do it. :)
For those watching in 2020 who are wondering why they cannot see 'Forward Axis' or 'Static Mesh' in the Details panel in the game editor; You need to set the variables to public/editable on each instance. To do this, go into the Blueprint editor and press the Eye icon next to both of the variables you created.
Thank you in behalf of regular env artist xD
I have no idea what I just did, but it works. Cool tutorial. You go at a great pace. Most tutorials I've been watching have been pretty slow.
Thanks a bunch for this. I figured this could be done once I saw the spline mesh component, but it was reassuring to see it executed so simply.
This is a pretty straight forward, very good tutorial. In 2016, older versions of unreal engine had some problems with Edit Spline so this was pretty useful but now, edit spline tool in UE4 is so much better to use so we don't need to do this anymore. 1 tip, only create this if you are going to continue to add more to the blueprint to make it more interesting and advanced to add additional of whatever you want it to do, events included :).
Thanks so much! This is probably about the 3rd time I've watched this!
Dude i am new at this but i think your videos will make my life much more easier.
Thanks a lot.
Great tutorial, 10/10. Some people use spline component to make rivers also and I will try this. As you said, it's one of the most important components on UE4. Very useful.
this is freaking useful! Entirely a fundamental knowledge in UE! Thanks for the tutorial :)
I really like, that you explained it rather fast and on point. This is rather rare on youtube these days, most make such things to an 1 hour tutorial. I would like to see more :).
There are more tutorials, just after 2 years :)
How do you make it that the character follows and rotates to the direction of the object?
I also want to know this.
@@osakanone create a location offset (in x-axis for example) while updating and incrementing player rotation at each tick (each frame)
for example :
if ( isOnthePipe( ) ) {
// offset location
// update rotation
// isOnthePipe ( ) could be implemented using collision event handlers
Hope this helps
@@osakanone Try this- th-cam.com/video/UK_GBLmuas4/w-d-xo.html
@@khisrowhashimi each tick is not a good idea on performance better to use timers
Everything what you need to do is just updating your mesh/character position using GetLocationAtDistanceAlongSpline. So you simply add little distance when ticking.
Cheers Tefel, nice and concise tutorial.
First of all great video, very well explained. Just one thing i think is worth to clarify, i followed the exact set up of this video and my meshes from the splines didn´t produced static lighting, even when the option for "static" was set on the "set static mesh" node options and the static mesh itself.
I investigated a little and in fact, merging the spline with the root component is not necesary at all, and by doing that, the mesh lighting will be dynamic only for some reason. So, you just have to create a new scene component within the root and set it to static, put the spline within the new scene component, then drag the new scene component in to the root to replace it. And last, connect the "Parent" input of the "attachComponent" node to the scene component insead of the spline, this way the meshes form the spline will cast static lighing.
I don´t kow if there´s an easier way to do it or just missed something but this solved my problem. Again great video, and keep the good work.
Great video, thank you.
I noticed there is a "Get Location and Tangent at Spline Point" node, that can make the graph just a little simpler.
This was very helpful. I watched it several times to understand your workflow. Everything makes perfect sense.
In the odd case you can't see your spline help points you alt drag out, make sure Game view (G) is not running.
thanks dude it wasnt working for me and finally i found an answer thanks to you
Is this addable on runtime? So eg a player spawns in a rail and can draw it and even connect rails into each other?
Sure! It's even more useful runtime than in the Editor. Since is component is flexible.
@@UnrealTefel is there also some sort of "ai pathfinding" component, like a train searching exitpoints by itself?
This video was simply amazing. Short, sweet, and to the point! Great tutorial :)
3:00 but what if the "Set Forward Axis" node is no longer called that or no longer exists? I can't find the node... I'm searching for it, in Construction Script...
Very nice. Thanks for sharing that quick and very useful tutorial.
Hello, thank you very much for your excellent training, I have a question, I would be grateful if you could answer it, I want to make a hose with a spline and I made it with blue print, now I want to connect the beginning and end vertex of the spline to two different objects, and when I move the objects so that the hose moves realistically
TO so much!!!, This worked great, and you used hardly any promote to variable compared to others, therefore this BP was much faster and easier to do and grasp. Worked like a charm. :_))))happy dance.
How did you get the player character to grind on the rail?
Thank you for the tutorial!
It's very simple, you check position and rotation at Distance Along Spline docs.unrealengine.com/4.26/en-US/BlueprintAPI/Spline/GetLocationatDistanceAlongSpline/ and update character position.
@@UnrealTefel thank you so much for the reply! Okay, I’m on the right track then. I had sent an email too, so thank you. I’m struggling with where exactly to put this as well as which nodes to utilize though. I tried casting to the first person character to set the location, but that’s not compiling correctly.
Awesome work man. Keep it up.
Very useful tutorial, thank you so much, man. I didn't know splines were so complicated to make. Without this video, Id get lost :D
Thank you for feedback. I am glad that you found this helpful. :)
That was a really useful and quick tutorial.
Super awesome tutorial man... I was able to make my first blueprint watching it...
Never understood any other tutorial regarding this spline thing...
Thanks alot
Thanks for the tutorial. Powerful technique which could save days of work. Subbed.
How would you implement this without stretching the mesh but rather repeating it? Also how would you add a random mesh at a spline point?
If you use Spline Mesh Component it's for stretching and bending mesh. It's good if you want to do quick deformation.
For repeating the mesh I would simply use InstanceStaticMesh or HierarchicalInstanceStaticMesh in conjunction with Spline.
for those confused why something is odd and not working, don't use the scale tool at all (R) and use Alt at the end point to add points.
When I use the Alt key to extend the spline, it just duplicates the mesh but will not extend it? help please
did you find any solution?
@@IvanSorce You have to click on the spline point, not on the mesh.
Can you tell us how did you manage to make the player Grind on the rail / spline ? Thanks in advance.
How can i make a little overlap? With some mesh it would be nice if the second one spawned a little back not on the very end so it would be overlapped by the first one. Without overlap the mesh that i wanna use with spline looks like it's not connected properly. .
Hi Tefel, in the tutorial, I noticed that your player character can jump onto any position on the spline and then follow its path from that position where it landed to the end of the spline. Do you possibly know a good tutorial that can help me set that up please? I can make the player follow the spline from its origin to its end, but not from the position where he landed on it. Tx!
You're right this is what I've noticed too and I really would like to know too
Maybe you've found the solution ?
Sadly I didn't :(
Maybe you should replace the AI and actor by the player component
Ive been looking for this too
Any luck in finding the answer to this?
even if its set to static i can not bake lights on to it. what do i need to do to get that?
Hi Tefel ! :D
These days, I'm developing a 3D action game with the Unreal Engine, but I'm having a problem with the fight system. I would like to ensure that each movement of the mouse (joystick, or even mushroom of a controller) is linked to a specific fight animation.
Let me explain : Let's say that by pressing F, the "combat mode" is activated, and that each movement of the mouse corresponds to a particular animation.
For example, if the mouse has a rectilinear motion, the character will execute a "direct" punch.
If the mouse has a curved trajectory, the character will execute a hook.
If the mouse describes a perfect circle, the character will perform an aerial circular kick.
Finally, if the mouse goes towards "the back", the character executes an elbow strike turned, etc ...
First, I thought of using an IK system with an animation adaptation, according to the directions taken by the capsules (which are moved by the mouse or the joystick) relative to the hands of the character, but it seems very complicated, and I doubt that this is the most relevant method ...
Do you have specific tutorials to advise me? Blueprint, C ++ does not matter, the objective is to make this game more immersive to the 3rd person.
It seems to be very difficult to programm it or to build it with blueprints, so I ask a pro ;) Thank you in advance
ps : Sorry for my bad english, I'm french.
So if anyone's getting issues with this Blueprint, I figured out what worked for me. In the ForLoop, set First Index to 1, and the subtraction off your Return number of Spline Points to 1. Then, as opposed to +1 for your second set of Get Location/Tangent values, set it to -1. No problem!
Hi, Thank you for your guide !
I follow the steps by when i add a part with ALT key the new meshe is not blend with the first when there is a curve... I can see a space bettwen the 2 and the curve is not smooth. Any idea ?
Sorry fot my english ;-)
Mine doesn't have the Attach to Component box, it's only the Actor and Component to Component. Why?
But when I set an onclicked event(Spline/actor) in blueprint, it is not working! why?
wow thank you very much! I'm coming from Unity, this is awesome!
How is this different from just adding spline from landscape mode under manage or just from add menu > spline, top of ue UI ?
It's better to use [ Get Location and Tangent at Spline Point ] instead of [ Get Location at Spline Point + Get Tangent at Spline Point ].
right
Hi Tefel, nice tutorial... I would like to know What functions did you use make the character move along the spline? Did you attached and added an impulse/force/velocity with a tick or is there another way to make it constantly move?
Hey Bruno
get distance along spline and set actor location
Explain it better please?
What would you do if you wanted to make a rope that had a knot on each end and look like one piece in the middle section.
can give us the source where do you get this road,trainrail ?
stopping by to say "thanks" for amazing and quick tutorial... work like charm on fork of unreal 4.20.3 with nvidia framework
Did anyone get Scale and Rotate to work for spline components?
Sometimes, I want to vary the size and twist the mesh.
I recreated this in my UE4... but for some reason when I rotate one segment (last segment) It rotates all segments.
If you select whole mesh it will rotate mesh, but when select second time - just one point it will rotate only spline point. There are point (cubes) across the spline.
Unreal Tefel Yes, I know about dots. The thing is, when i rotate one dot It rotates the rest as well
Tried this in 4.19 and it just doesn't seem to work. Dragging out doesn't extend the mesh for me. I can create the spline points fine, but there are no meshes on anything except for the fist point, and the mesh can't even be extended. Been through the tutorial numerous times now to see where I may have made a mistake and am struggling to find it.
possible you made a "spline mesh" the root instead of a "spline"?
Worked for me on 4.20.
works just fine in 4.19
Is there a way to add lane lines for the road? Like a solid or dashed yellow line that goes through the middle?
any ideas on how i could remove the space in between meshes?
I run the Version 4.10.4
They deleted the location for the Forward Axis which you changed to Z. I cannot find this option. Please help me everything works only the direction is incorrect please help.
How to make this spline system in runtime.
awesome tutorial, when i had to learn it i watched Epic's tutorial that was like 40 minutes, this is short and spot on, good job, also as an idea : you could make another one about how to interact with splines, and by that i mean something like your train example, i had some annoying problems with rotation and stuff
anyway, good job on the tutorial
Thanks! Yeah this is a very good idea. I have 2nd series "tutorials" where I do longer stuff about 20-30 minutes so I can just make the train tutorial.
I try to keep every guide as short as possible, explaining everything about one case and not being too boring
+Unreal Tefel you are doing a really great job, keep it up and good luck! :)
How about turn left? Did the mesh flip down into ground? I used blueprint like this when I turn big angle mesh will flip///
all this while i thought only houdini can do this!!!!!!! MIND BLOWN!
How would you go about making sure the static mesh object does not scale along the spline?
I cant see variables in details, there is no "default" tab. Any1 has idea why?
Good tutorial. One thing I would suggest is to upload a package with a project to get final result.
That's very good idea :)
This tutorial is very well made! thank you very much!
Mine wasnt working but then i realized I hadnt connected my white arrows together to complete the order of operations. Make sure all of your execute arrows are connected all the way through the chain :)
Good point! Always connect your white arrows together! :)
Create a Simple Spline Escalator system how i shoud do ?
Ok, and how do something like this in even graph in game not in constructor?
Nice Tut! How would you add diff Static Meshes for turns/angles/corners?
Great Tutorial.. I created the spline step by step as you showed.. everything works fine... but when i "alt click" at the end on spline point to extend and add another point, that new point comes in between the two points, not in the end.
does work anymore 4.21.1 :( Step 3:20 I cant connect Return Value to Target from AttachToComponent .. >> Spline Mesh Component Object is not compatible with Actor Object Reference.
all works , you just use wrong node, you must use "attach to (component name)" , not "attach to"
is there a way to split splines? so if I have a spline with 3 points and my player collides with it the split splits down the middle (kind of like a finish line rope).
thank you this is what im looking for, for my network and power cabling.
edit: my cables arent bending whenever it hit the corner. its all straight.
edit2: i forgot to subdivide the faces of my cables. lol now its working fine. :)
Thank, its very useful for me
Yes, you are right, it is really useful. Thanks for sharing
great, nice to hear that
What if the rails I have are being stretched when I use the spline blueprint?
How did you make actor move along (follow) the spline?
You have to check position along the spline and update it on tick or smth.
It's possible that I will do tutorial about it in the near future.
Thanks a lot! if you make that tutorial would be very very useful
This is what I´m traying to make streamable.com/uoavo
Hey , just a little question why the X axis for rotation don't work ? Cause i want to do a roll with my spline
can someone tell me where he got the pipe mesh from? ive been looking at the ue4 website and other youtube videos but i cant find it.
Pretty cool stuff, thanks a lot !
Awesome tutorial,is it possible to ass a mesh only at the end of the splain,like if it is a cable so it end with a connector?
hello great video btw, but i want to make the character follow the spline when on. But he does not explaine it in the video can someone help me on that? and i have 0 background on programming thanks in advance
How to create dynamic gravity?? For objects??
That's just what i was looking for!
Thank you so much!!!
Thanks mate! I am glad you find this useful.
+Unreal Tefel Cześć, chciałem podziękować za świetny poradnik i zapytać kiedy kolejne odcinki bo nie mogę się doczekać :)
Please make a tutorial for a light which should glow in multiple Colors with few delays .
How do you create the mesh for the train track?
This is created all sorts of problems. My model is coming in the wrong direction and squished. when it extending it just breaks. I am spending more time scrumming through this video to check my steps because of how fast it was slowing down is always better. Just not 40 mins long. There is definitely a sweet spot for this.
How did the character moved on spline ? I mean by itself ? m working on vry basic traffic AI
You need to calculate distance along the spline, then simply read location along the spline and set it to the character.
thanx ... i'll try that !
The default pannel isn`t showing in the editor so i can't attach a mesh to the spline, any clue while this is (using 4.12.2)? (advanced options enabled/ variables set to editable)
Nvm. Just figured it out. You need to compile the blueprint if you havnt yet.
very nice tutorial. Could you please follow this up with how you forced the player to move along a spline? This would be amazing for ziplines, climbing ropes, etc
Thanks! Yeah I will do it.
I agree a tutorial on this would be nice as well. Power to you.
Where is the tutorial for that?
How was the geometry modeled for the static meshes? Did you have to add multiple subdivisions so it would bend or does it create them on its own?
yes, you have to do it manualy or meshes will not bend, but "break" instead
I have a question that I want to ask. Is it possible to make it so that the player can adjust a spline component while the game is running? If it is possible how do you do it?
Hey good day, thanks for the tutorial first of all, but i need some help. My road mesh isn't aligned correctly. It actually needs a 90 degree turn. Currently when i expand its length it creates the duplicate along the side of the mesh instead of the front. Please advise, thank you.
Change the Forward Axis setting.
Impressive great tutorial !!
Splines are awesome!
Easy and fast way to set up pipes systems in buildings. +Like
keep them coming Tefel!
WHY can do my meshes have no COLLISION?!
Edit: 6:12
Would be nice if you actually showed us how to add the character to the spline like previewed at the start and end of the video....
Do you have any information how importing collision on models to be used with the spline mesh? I can't keep the tessellation / divisions in my collision mesh when I import.
It is stretched in one of the axis so if there is not enough polygons it may be deformed.
thank you very much you don"t know how much this just helped me. You learned things on you tube that they probably never taught in school shameful but it is what it is again thank you you just got a subscribe from me
What key do you usen to add a spline point? I m not english and I understand using hold key.
Thanks for the tutarial too
alt key :)
Oh... Ahaha thanks!
Thanks for your tutorial! I have a question, why do you add that AttachToComponent Node? the BP seems to work fine without it.
In the video, Tefel says that it's optional, but it allows you to use the Spline object to find all of the child objects.
awesome videos man! I would suggest a 1vs1 local fighter tutorial! :)
i would like to ask you sir on how to make a spline tube where you can run your actor inside it without glitch.? i wish you would create a tutorial on how to do it. :)
is landscape splines an ok way to do simular?
Hey, where did you find that rail mesh? :) I tried to make my own, but it's not working as yours is.
Hi Tefel,
How can i use Actor Component in this blue print.