How to "bake" NavMesh from script at runtime? - unity3d

how to bake NavMesh in runtime from script. I searched in Google but did not find.
some rendered scene and buttons including bake

Currently, Unity doesn't have a way to bake but NavMesh at runtime BUT there is an experimental package that Unity has that allows you bake a NavMesh at runtime. It is very stable package.
There were tutorials made by Brackeys in collaboration with Unity.
The demo project is available for download on GitHub. You can use in the scripts in there to bake a runtime NavMesh.
I would highly recommend watching the tutorial first.
Here is also the link for Unity's site and tutorials on runtime navmesh.

using UnityEditor.AI; //"Editor" not "Engine"
NavMeshBuilder.ClearAllNavMeshes();
NavMeshBuilder.BuildNavMesh();

AlienCode's answer is perfect for baking NavMesh at runtime,
since you can't have both using tags (UnityEditor.AI & UnityEngine.AI).
I created a separate script and used it for baking NavMesh.
I'm not certain if it only works in the editor or in builds though.

Related

Is there a projector alternative for unity that supports URP?

Question above.
I'm trying to make a projection that looks like a real 3d object from specific angles, similar to Superliminal, but I can't find a method that works with URP.
While unity has projectors, they don't support the pipeline, and URP's Decal system doesn't support perspective projection, only orthographic. Is there some tool or method I don't know about?
This repository may be helpful to you. It's quite outdated, however, I don't know which version of URP or Unity you're using, or what settings are you using (Forward or Deferred).
It is a renderer feature that can be easily added to your Scriptable Render Pipeline. To quote the original creator description:
...add a ProjectorRendererFeature to your ForwardRendererData. The user interface might look different in newer versions but there must be a similer interface.
How to use:
Add a Projector For LWRP component to your Projector object, if you already have one. If you want to create a new Projector object, just add a Projector For LWRP component to an empty GameObject, then Projector component will also be added.
It's pretty straightforward. Here's an official online document
You still need to have the legacy projector component script in your project. Depending on your Unity version, you may (or may not) have it in your project.

How to include Unity3d libs in a non-Unity3d project?

I'm developing a C# library that will be used either as a plugin in some Unity3d projects and also used in non-Unity3d projects.
I need to use some Unity3d classes (such as UnityEngine.Matrix4x4) and standardize some functions to use valid types agnostically to whether the project is an Unity project or not.
So, as the title says: what is the right way to include Unity3d libraries in a non-Unity3d library project? Should I just include reference to the local Unity3d binaries (like UnityEngine.dll) in my project? If so, which is the right folder to look for these binaries (they appear in some different folders in the unity installation folder)?
If you are not actually running the Unity Engine for rendering or handling input it may be the case of forcing a round peg into a square hole, both technically and legally.
The most elegant solution would likely be to write your library in C# using more agnostic libraries. For example the Matrix4x4 class you mentioned has an equivalent in System.Numerics. Alongside the library all thats needed is a light wrapper converting a System.Numerics.Matrix4x4 to a UnityEngine.Matrix4x4. Sometimes the Unity devs themselves do stuff like this, for example the Unity.Mathematics.float3 struct which works better in ECS land than a standard Vector3.
FYI if you're looking for how some particular system works, check out the C# Reference GitHub Repository, for example the Matrix4x4 struct. Just be aware that 'copying and pasting' Unity source code is not allowed.

How do I export a steam game into a unity package

I've been wanting to mod hollow knight for a while now and since I have recently gained experience with the unity game engine I thought I would try it out. The only problem is I can't really find a way to export the files into unity and so far have found no tutorials online maybe exporting it into a package is not the answer so I'm just curious on how to import the files into unity.
That's not really how game modding works. You won't be able to import the compiled game's assets into Unity. If the game uses the Mono runtime (not IL2CPP), you can find the DLL files that contain the game's logic, decompile them (using a decompiler like dotPeek), make modifications to the game's source code (for example, adding your own logic to change behavior and load additional assets), recompile the code, and replace the game's original DLLs with your modified version.

Unity 2019.2.12 Tile palette missing

I'm missing tile palette feature. How do I get it? Am I missing any other features?
I've seen others have this similar issue, but I never really saw it get solved.
Also on school computer so can't really access the links they posted, but I heard they took you to downloads for tile palette, but if tile palette is in the unity manual why do I need to download it from some random site?
For 2019.2 and above, if you created a new Unity project, you will need to add the 2D Tilemap Editor package from the Unity Package Manager (under Window/Package Manager) to your project to be able to create Tiles and access the Tile Palette. If you created a new Unity project with the 2D template, the package will be added for you automatically. If you upgraded from a previous Unity version, the package will be automatically added as well.

Unity - NavMeshComponets not completely implemented in Unity 5.6

I have a question about the new NavMesh in Unity 5.6. I am not able to find any of the mentioned in the 5.6 release notes new Nav Mesh components (navMesh Surface, (Volume) Modifier).
I do not really know how to easily get them. I have already downloaded the files at: https://github.com/Unity-Technologies/NavMeshComponents and I am planning to implement them in my project. I think is weird that you have to manually download them from GitHub, when they mentioned them in the Unity 5.6 release notes.
Do you know an easier way to use them in Unity?
Friendly Greetings, Quinten