Ballistic Unity Tools

From BallisticNG Wiki
Jump to: navigation, search

This article is a stub. You can help BallisticNG Wiki by expanding it.

Ballistic Unity Tools is a suite of tools integrated into Unity which allow you to prepare tracks exported from the Layout Creator for use in the game. As the tools are integrated into Unity, you will need a copy of Unity installed to use them. The game runs on Unity 2018.3.8. Do not use any other version!

DirectX 9 support was removed, which will prevent shader swapping from functioning.

Arrow getting started


If you've already imported BallisticUnityTools.unitypackage, you can skip to Updating.

To install the tools, you need to import the package. Once you have Unity installed and a new project open, go to the toolbar at the top of the window and then navigate to Assets -> Import Package -> Custom Package. After this, navigate to Steam -> steamapps -> common -> BallisticNG and open BallisticUnityTools.unitypackage from the Modding folder.


When a new version of the Ballistic Unity Tools package is ready, the package file on your PC will be automatically updated thanks to Steam. However, your Unity project will not automatically change to the latest package version.

You can switch your Unity project to the latest package version by importing the package again. This will update any files that have changed.

ballisticNG 1.0.3 - ballisticNG 1.1 upgrade guide

Between 1.0.3 and 1.1 BallisticNG updated from Unity 2017.2.3f1 to Unity 2018.3.8f1 and you need to do the same. There has been some changes to Unity which require manual modifications of your project folder before you can safely upgrade. Follow these steps for a smooth upgrade, and remember to always make a backup of your project folder!

  1. Install the new version of Unity but DO NOT open your project with it yet!
  2. Navigate to your project folder and open the Packages folder
  3. Delete the manifest.json file
  4. Open the project with Unity 2018.3.8f1
  5. Re-import the Unity Tools package and restart Unity

The manifest.json file points to external dependencies for your project. In Unity 2017 this was only used for packages that you could manually install but in 2018 this is also used to point to internal Unity libraries. If you don't delete this file so Unity regenerates it, Unity will not include it's own internal libraries and your project will break.

Custom scripts

Custom tracks cannot contain custom scripts. Custom tracks are compiled as Unity asset bundles, which do not allow scripts to be built into them.

It is possible to save scripts into an assembly and load the scripts from that assembly, but components attached to game objects have asset references serialized (which means that loading a script from an assembly will result in Unity not knowing that the script is actually loaded and usable).

Because of this, it is a goal to over time keep adding new behaviours that modders can use. If you have a behaviour you'd like to see implemented, let Vonsnake know!

Arrow essential knowledge

Essential knowledge that must be understood to create a playable track.

If this is your first time launching Unity, it is recommended to read the pages below in order.

Arrow Unity User Interface

Getting familiar with the Unity interface.

Arrow Importing a track into Unity

Getting a track from the BNG Track Editor, into Unity.

Arrow Track Wizard

Generating track data.

Arrow Track Editor: intro

Start enhancing a track.

Arrow Track Editor: tiles

Enhancing a track by marking tiles.

Arrow Track Editor: atlas

Enhancing a track by adding textures.

Arrow Unity Tools Lightmapper

How to use the lightmapper, BallisticNG's proprietary lightmapping tool required for lighting your track.

Arrow Unity Tools Export

Information on how to export your track from Unity ready to be used in-game.

Arrow supplemental knowledge

Supplemental knowledge to enhance track quality.

Unlike the essential knowledge pages, each page in this section:

  • can be read in any order
  • can be read on demand whenever you want to read up on a specific topic
  • is less of a user guide & more of a technical guide
  • is ordered alphabetically

Arrow Animation System

Information on what the animation system is and how to utilize scripts inside of it.

Arrow Asset Configuration

Information on import information you should/need to change for different assets to work with the game.

Arrow Flare Tools

Icon UnknownTeam.png
Information on how to configure your scene to occlude flares.

Arrow Materials

Information on the material shaders provided by the BallisticNG Unity Tools package.

Arrow Racing Line Editor

How to use the racing line editor, a tool allowing you to define different offsets along the track that AI can follow.

Arrow Scene Configuration

How to begin setting up your track, an overview of how the scene is configured once you use the Track Wizard and links to the various scripts that can be used throughout your track.

Arrow Ship reflections

Information on achieving ship reflections with Unity reflection probes.

Arrow Skies

Skydomes, the BallisticNG SkyDome shader, & the lightmapper ignore script

Arrow TRM Editor

How to use the TRM Editor, a tool which lets you convert any mesh into a TRM formatted mesh.

Arrow Track Editor: sections

Enhancing a track by configuring sections.

Arrow Trigger System

Information on what the trigger system is and how to utilize scripts inside of it.

Arrow Unity Lighting

Manipulating light on a track.

Arrow Unity Tools Scripts

Information on the scripts provided by the BallisticNG Unity Tools package.