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 (ex. 3DS Max, Blender and Maya, etc.., 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.24 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.
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 the AutomationGame project to another folder.
To do this, browse to the location of the modding sdk in your steam tools library:, and copy the project folder to a new location (with no spaces in the file path).
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'. They go in the 'Mods' folder. (I know.)
- 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]
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" to view all mods.
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 a negligible consideration compared to raycasts for fixtures however [explained below].
- there is a performance impact to polycount with fixtures in that we have to cast a ray to the body for every vertex of the fixture and the body. 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. 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 affecting every vertex 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.
- The fewer vertices a body has, the less information there is to interpolate the cutouts, so some fixtures may have misaligned holes.
- the greater vertices a body has, the longer it takes to stamp a fixture.
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. for now, any material assigned to a mesh you create will be kept on that mesh so long as the player does not change the material. as soon as the material is changed in-game to something in the materials swatch, any custom materials you assigned to it are lost until that fixture is removed and re-placed.
Mod types[edit | edit source]
Alternatives to using 3ds Max[edit | edit source]
See Modding in Blender.
Cooking[edit | edit source]
when you've made your files and want to share your mod, 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.
Select a path where there are no spaces in the file path.
- "C:\Users\Name\Documents\Unreal Projects\AutomationGame" is NOT OKAY, as there is a space between "Unreal" and "Projects".
- "C:\Users\Name\Documents\UnrealProjects\AutomationGame" 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
Engine/Binaries/DotNet/AutomationScripts. You can do this yourself by going to
AutomationGame/Build/Camso_UATScripts/binand copying the DLL to
- visit the forums or discord to ask for further help.