Modding

From Automation Wiki
Jump to: navigation, search

Modding of the legacy Kee Engine version is possible, but discouraged, as this version is no longer in development.

Modding of the UE4 Version of Automation is supported, having started at the end of September 2017.

What you will need:[edit | edit source]

  • UE4 Editor (free download from Epic Games)
  • A 3d modeling package (3ds Max, Blender and Maya work, but this wiki only covers the specifics of using 3ds-max and blender)
  • The Automation Workshop Tools (from Steam)

Installing UE4[edit | edit source]

You will need to download and install UE4 Editor 4.21.2 From Epic Games, To do this, grab the Launcher from here: https://www.unrealengine.com/download

make sure to download the correct version. we do not use the latest version of UE4:

Annotation 2019-09-27 151607.png

Do not install the UE4 Editor to Program Files. Install the editor to a custom location without a space in it, like C:\UE4\UE_4xx or similar.

Installing Automation Workshop Tools[edit | edit source]

Within Steam Go to Library > Tools, and download the Automation - Car Company Tycoon Workshop Tools, this contains the mod project for Automation.

IF your Steam Library is within Program files. It is recommended to copy AutomationGame project to another folder.

Once installed, you can open the AutomationGame project with UE4 Editor by launching the UE4 editor from the epic games launcher and browsing to the automationgame project file.

Core concepts[edit | edit source]

  • Mods in UE4 are called 'Plugins'.
  • Do not make any assets in the Root Content folder. Only make assets in your mod's folder. (See "Content browser" below.)
  • Editor assets cannot be used directly by the game - they have to be cooked. We can only cook your plugin, not our content. Hence, the requirement to make content is your mod folder.

Content browser[edit | edit source]

Content Browser Example.png

Click on the "Show or hide sources" icon To the left of the Content Browser Search box to view the folder structure. Click on View Options (bottom right of the content browser), and turn on "Show Plugin Content".

Optimisation and performance considerations for mods[edit | edit source]

Performance of fixtures and bodies in UE4 is a heated topic. while it is true that in terms of mesh rendering and draw calls there is practically 0 impact to performance for meshes with less than 2k polygons, it is not true for shader rendering or fixture stamping.

for shaders, they are calculated in a 2x2 grid, so polycount only impacts performance here if you end up with polygons too close together in screen-space. this is usually not an issue for us, but if you start to create meshes that are too dense and small you will see a performance impact. this is negligible compared to raycasts for fixtures however.

there is a performance impact to polycount with fixtures in that we have to cast a ray to the body for every vertex. so the more vertices there are on a mesh, the longer it'll take to conform to the body. this is why you'll see some detailed fixtures sit there for a few seconds before snapping to the car. this is doubly so for fixtures that cut in to the car - a UV Mesh's vertices are raycast to the car on every frame while you're dragging the fixture around. UV meshes impact performance greatly with a higher poly count. i try to keep UV meshes as low as possible.

likewise, the poly count of a car impacts performance in that the more polygons a car has the longer it takes to complete these raycasts. a 10k poly body may make dragging fixtures around and conforming them to the car take slightly longer than usual, but if that same body uses morph targets instead of bones, this polycount is multiplied by the number of morphs. a 10k poly body with 10 morphs effectively has 100k polygons that the fixture system has to raycast to, and this impacts fixture stamping time greatly.

for optimal performance:[edit | edit source]

  • keep UV Meshes lower than 100 tris. higher than this and they start to feel 'laggy' when dragging the fixture around. higher than 150 tris and it will feel too laggy to use properly
  • try to keep conforming meshes lower than 5k tris. more than this and they take longer than usual to conform to the car once they are placed.
  • try to keep bodies between 7k-30k polygons, and use bone weighting for as many morphs as possible. Use shape keys and morph targets sparingly.

This is a body that uses all bone weighting for its morphs, and has 7K polygons:

This is a body that uses all shape keys for its morphs, and has 40k polygons:

Known issues[edit | edit source]

  • We have not yet implemented a way for you to build custom materials to load onto cars/fixtures. As we have to replace materials at runtime, we will provide a mechanism for this at some point.

Mod types[edit | edit source]

Alternatives to using 3ds Max[edit | edit source]

See Modding in Blender.

Cooking[edit | edit source]

Select Share -> Mod Name to share.

WARNING: THE FOLDER YOU SELECT WILL HAVE ALL OF ITS CONTENTS DELETED. YOU HAVE BEEN WARNED.

SELECT AN EMPTY OR NEW FOLDER.

Example:

Select a path where there are no spaces in the file path.

  1. "C:\Users\Name\Documents\Unreal Projects\AutomationGame" is NOT OKAY, can you see why? There is a space between "Unreal" and Projects".
  2. "C:\Users\Name\Documents\ModExport" is OKAY because there is no spaces in the file path.

Fixing possible cooking Issues:

  • Search Output Log for "Error:".
  • Lines will be prefixed by UATHelper.
  • If Error contains "Unable to find PackagePlugins" or similar, this is due to the Editor being in Program Files. It will be unable to copy Camso_UATScripts.Automation.dll to Engine/Binaries/DotNet/AutomationScripts. You can do this yourself by going to AutomationGame/Build/Camso_UATScripts/bin and copying the DLL to UE4/Engine/Binaries/DotNet/AutomationScripts.
  • Google other errors, or ask on forums.

Export[edit | edit source]

Mods and the BeamNG Exporter