Unity is a feature rich, fully integrated development engine for the creation of interactive 3D content. It provides complete, out-of-the-box functionality to assemble high-quality, high-performing content and publish to multiple platforms. Unity helps indie developers and designers, small and major studios, multinational corporations, students and hobbyists to drastically reduce the time, effort and cost of making games.

Using Unity, you can publish your game on the following platforms: Mac OSX App, Windows Executable, Web Browsers (using the Unity WebPlayer), iPhone, iPad, Android phones and tablets, Wii, PS3 and Xbox 360.

Unity supports the creation of almost any game imaginable, including:Browser-based MMOGs, First-person shooters, Racing games, Real-time strategy games, Third-person shooters, Roleplaying games, Side-scrollers, ...and many moreVisit the gallery section of our site to see some of the games that have been powered by Unity.

You can download Unity for free from anywhere on our website. No charge whatsoever and no strings attached. Anyone who meets the terms of the license agreement can use Unity to create, publish and sell games for desktop computers and the web at no cost.

Image RSS Feed Latest Screens
Now Available on Steam - The Hive The Quantum Principle The Quantum Principle v0.001a released!
Blog RSS Feed Report abuse Latest News: Scraps AI Player Navigation and Unity NavMeshes

About Scraps with 1 comment by Nition on Mar 1st, 2015

AI Players in Scraps currently use a navmesh to work out a path from where they are to where they want to go. Unity comes with a built-in NavMesh system which is really nice and easy to use, until you want to do anything fancy. I've been trying to wrangle some better meshes out of it.

It feels like the NavMesh support is one of those Unity features that had enough work done on it to look awesome, but not quite enough to be great to use. You can set some parameters:

params

And then tell it to auto-generate a mesh based on all your static (non-moving) geometry. Here's an example on my SandyBridge map:

original

Using that generated mesh (the blue area), you can then simply ask it to calculate a path from one point to another, and it'll efficiently calculate the route. Now your vehicle (or other entity) can avoid hills etc and get anywhere effectively.

Except not really.

Entities can path anywhere within the mesh, and since they're always finding the shortest path, they'll often hug the edges. That path behaviour is unchangeable. You can't say "try to go down the middle." So the above mesh is actually too generous with its available area. A vehicle pathing on the bridge often falls off the side, while a vehicle pathing near the edge wall or an obstacle can get stuck on it. It doesn't help that scraps vehicles can be all different sizes, but the mesh must be baked to one specific size.

I can increase the Radius setting to bring the navmesh in, but that introduces another problem: The navmesh won't return a path - not even a partial one - to a target that isn't somwhere in the mesh area. Interestingly there is a path status called "partial", but it never seems to happen. Maybe it only happens when you use Unity's built in nav agents thing (which I don't use)? You might say well, maybe there's something to at least get a point on the mesh closest to a given point, like they have with ClosestPointOnBounds for bounding boxes? Then at least you could path to there instead, then go straight to the target from there? Nope.

So say you're on the mesh and the AI is on the mesh and they're chasing you, right? And they have a nice multi-point path to you that goes around a hill. But then you drive off the area covered by the mesh. Now the AI recalculates - suddenly there's no path! So it has to just drive straight at you, right over the hill.

The navmesh pathing is awesome when it works. You can even link different parts of the mesh and weight them to balance when they're chosen, like here where I told the AI it could do this sweet jump on the DustBowl map but only if it was a major shortcut:

ai_jump

You can also have different layers, with different weights and exclusions, so I can say "vehicles can drive on the hill layer if they have x or more engine power" or "only use the hills if it's this much faster than going around."

So I figure the best thing to make this work is to make sure the whole map is covered with navmesh, but there's a normal section, a hilly section, and a usually-out-of-bounds section just for chasing targets in crazy places. Then AI will be able to path anyway, but usually will only go in good places.

But the terrain can't be split up into layers. And you can export a generated navmesh to a 3D model and cut it up there (I wrote a script for it), but you can't import it back in - only generate another mesh from the first mesh, which is like photocopying a photocopy.

Using two separate NavMeshes and some 3D model hacking in Blender I added a hills layer:

hills_added

But there's still lots of empty space, and I need to fill the rest with like an "out-of-bounds" NavMesh so that things can get a path.

Can I just put a big flat plane underneath and generate a mesh off of that to fill the gaps automatically? No! The mesh has to line up nicely with the other mesh layers or it won't join up. You can use "off-mesh links" - if you want to manually place a million of them. Trying to get different layer meshes to join up is an art in itself.

Oh yeah, and if your modified mesh doesn't line up well with the actual terrain, pathing won't work either. Objects have to been within a few metres of the mesh vertically, and that parameter can't be tweaked. I understand you have to allow for stuff like the over-and-under the bridge above, but I'd love an "automatically path using the closest mesh" option. Maybe I could use SamplePosition to get the y position of the mesh instead of where the vehicle is an get a path based on that...

Anyway, I managed to hack together a system for filling the gaps in my mesh with another mesh that could be the out-of-bounds mesh. But it's a terrible process that could replace the preliminary Mensa test in terms of mental leaps required. The process sucks, and it still gets weird gaps and things in it anyway.

That isn't even everything but this post is too long already. Right now I'm working on a script that will export my terrain already cut up into separate meshes based on slope; Then I can generate the different layers I want based on that. But I'm sure that's also going to have issues when I try to generate a navmesh from it. One day I'll probably have to throw out Unity's built-in solution and use another one - preferably one where I can edit the source!

Thanks for for following Scraps' tortuous development. :)

Media RSS Feed Latest Video
Games
Disorder in Space

Disorder in Space Disorder in Space

Updated 22 minutes ago TBD Single Player Tactical Shooter

Can you remember the classic arcade game "Asteroids"? You always chased the highest score and tried as much as possible to get. Disorder In Space is a...

Guild of Darksteel

Guild of Darksteel Guild of Darksteel

Updated 56 minutes ago TBD Single Player Adventure

Guild of Darksteel is a cinematic platformer/adventure game set in an dark fantasy world. Like most adventure games, it is story-driven, but instead of...

PolyRace

PolyRace PolyRace

Updated 59 minutes ago TBD Single & Multiplayer Racing

PolyRace is a futuristic and minimalist 3d racing game. Compare your piloting skills against other players on a daily unique track. Choose the hovercraft...

Reaction

Reaction Reaction

Updated 1 hour ago TBD MMO Real Time Strategy

Reaction is a fun fast paced moba that blends chemistry with a highly colorful anime inspired-art style and intense action. powerful Elements, each with...

Shallow Space

Shallow Space Shallow Space

Updated 1 hour ago TBD Single, Multiplayer & Co-Op Real Time Strategy

Shallow Space is a 3D Real Time Strategy game inspired by Nexus: The Jupiter incident and Homeworld. Shallow Space focuses on organised mass RTS space...

Post comment Comments  (0 - 10 of 173)
whiplashinc
whiplashinc Feb 22 2015, 2:37am says:

hello there ,
i am looking for 2 Unity programmers and experienced person to work with me on a game project .

it is an Online multiplayer game made with Unity pro
and i need some assistance in the game project if someone like
to join my team please add me to skype
and make sure your 18+ after the games development is done and when the game is running i can give you a nice share from the income every month

the games genre is : Mafia game
it will be 2D game
and it will also be in RPG type
the game will be finished in 6 moths or maybe more i need you guys to help me with this project so please mail me

The player should need to have at least 1 year experience with unity engine and should know C# and if knows networking thing it will be great
the person should need to be 18+ and with paypal to get there business share

Administration :
if someone has experience in administration games and managing games please mail me cause we always have room for tallented persons

+1 vote     reply to comment
tomjscott
tomjscott Dec 10 2014, 1:00pm says:

Whoever is responsible for maintaining this engine listing, could you please update the platforms supported to include the Wii U? I am a Wii U developer using Unity and need to be able to list my games with the correct game engine.

+4 votes     reply to comment
FireSpawn
FireSpawn Nov 20 2014, 5:07pm says:

Unity is great for lower end machines and people who don't want all the shine of next generation. I just wish I didn't need to purchase the engine for $1500 to get the features I need for my kind of game, I can spend that much on a computer that will give me the power needed. I think I will stick with Unreal Engine 4 and get all of the things I need for $19 per month as opposed to $75 per month and once you cancel you lose all of the pro features. I can cancel my UE4 sub and still be able to use everything.

+4 votes     reply to comment
R&JEntertainment
R&JEntertainment Nov 2 2014, 12:38pm says:

Check out our page, we're using the Unity3D engine!

Indiedb.com

+1 vote     reply to comment
Shrob
Shrob Nov 1 2014, 9:54pm says:

My favorite engine to design on. Very easy to make levels that look good and comes with lots of great assets and scripts if you aren't programming inclined.
The community is also amazing, you can find help for just about anything.
I recommend to anyone wanting to get into making games or level designing.

+2 votes     reply to comment
N1warhead
N1warhead Sep 7 2014, 10:56pm says:

I love Unity3D...
It is by far the greatest Engine around for a normal computer you buy at the store today, you don't need a Quad Core processor or a 100 gig graphics card like you need for Unreal Engine.

I recommend Unity to any new developer or hobbyist.
It takes a lot of learning.

But nothing worth it is easy to accomplish.
But the tutorials and training materials are out there
for anyone willing to LEARN.

+3 votes     reply to comment
NihadGondžo
NihadGondžo Jul 31 2014, 7:46am says:

Best Engine :D

+9 votes     reply to comment
Mephasto
Mephasto Jun 17 2014, 11:04am says:

Due to huge amount of positive feedback and interest. Hive is now on Steam Greenlight!

Please give us your support by voting it up, commenting and spreading the word!

Steamcommunity.com

0 votes     reply to comment
Mephasto
Mephasto Jun 5 2014, 5:21am says:

Check out our new Gameplay video for Hive! The game is created using Unity engine.

Youtube.com

+2 votes     reply to comment
Guest
Guest Jun 5 2014, 12:08am says:

This comment is currently awaiting admin approval, join now to view.

aaro4130
aaro4130 Aug 2 2014, 12:33pm replied:

I learned it in a week. You just have to not use tutorials and say "I learned this by downloading and installing a tutorial, then making an EXE".

+4 votes     reply to comment
Guest
Guest Jun 23 2014, 1:42pm replied:

This comment is currently awaiting admin approval, join now to view.

Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Contact
Send Message
Official Page
Unity3d.com
Licence
Commercial
Release Date
Released May 30, 2005
Engine Watch
Track this engine
Share
Community Rating

Average

9

520 votes submitted.

You Say

-

Ratings closed.

Highest Rated (6 agree) 7/10

The advantages of Unity are: +You can build for nearly all major plattforms +Easy to learn +Great assets pipeline, which supports most 3D packages +Great and helpful community and hundreds of useful tutorials +Good documentation +A big fund as backbone. So this engine will be further developed and getting better +one of the most optimized mobile engines So why I give only 7 out of 10? Well, Unity has unfortunately some really weak points: -Basic version is free. But if you serious about game development…

Sep 21 2011, 4:07am by dongiboy2000

Lowest Rated (5 agree) 1/10

Terrible engine.

Jun 9 2013, 6:11pm by HobbyPsychopath

Twitter

Latest tweets from @unity_marketing, @unity3d

#GDC2015! Join us for the Unity Party on Wednesday night! Register here: T.co #unity3d

21hours 37mins ago by unity3d

RT @aras_p: GDC! I'll be talking about Unity 5 graphics stuffs at Unity Dev Day (Tuesday 10:15AM or so, WH2014) T.co

Mar 1 2015, 5:31am by unity3d

@ShawnWhite @RileyLabrecque @aras_p @mwegner Yes, it's going to be live streamed. Watch T.co for the URL.

Mar 1 2015, 5:28am by unity3d

RT @ShawnWhite: Today's SAS 935 flight from Copenhagen to SF has been declared the #unity3d party plane!

Mar 1 2015, 4:24am by unity3d

Check out the gallery of #madewithunity games we're hosting at our #GDC2015 booth! They're all really inspiring: T.co

Feb 27 2015, 5:21pm by unity3d

RT @jon_cham: I'll be at GDC next week speaking with @sielojramu on IL2CPP/Scripting/iOS 64-bit at Unity Dev Day: T.co

Feb 27 2015, 3:57pm by unity3d

.... And we're back! #unity3d

Feb 27 2015, 2:42pm by unity3d

Our site is currently down. We're working on it. Stay tuned! #unity3d

Feb 27 2015, 2:18pm by unity3d

@ZantiumLK Yes. Not just you! We're trying to find out what went wrong atm.

Feb 27 2015, 1:58pm by unity3d

We can't wait for #GDC2015! This is what we're planning: T.co #unity3d

Feb 27 2015, 1:20pm by unity3d

Embed Buttons

Promote Unity on your homepage or blog by selecting a button and using the embed code provided (more).

Unity Unity
Unity
Statistics
Rank
2 of 695
Last Update
21 hours ago
Watchers
902 members
Games
7,005
Files
29
News
10,494
Features
242
Tutorials
64
Reviews
107