Asset Installation

Packages

When importing TCG Engine asset, I would recommend to also import all Project Settings.

If you override project settings, you need to prevent the ProjectVersion.txt file from importing, because that will break your project (Unity can't downgrade version). This is a Unity bug I am trying to report to Unity. Just turn off the checkbox during Step 2 of 2.

If you do not wish to override projects settings, you need to make sure you have these packages installed.

These are the packages in my project, the ones in green are necessary, the others are optional. Toolchain Win Linux is necessary to build the dedicated server on Linux (I use Linux for my server).

I would recommend updating to the latest version of each package, not to the version in this screenshot.

Render pipeline

If you plan to use URP (recommended pipeline), in the Projects Settings - Graphics, set the render pipeline to one of the render asset found in the TcgEngine/Render folder. You may also assign the other render asset to the appropriate quality under Projects Settings - Quality.

URP Only ?

I would strongly recommend to use URP for a card game. HDRP would be overkill for this type of game since it's more aimed at more realistic 3D games, and the built-in pipeline would prevent you from using cool features such as shader graph or some post-processing effects.

Built-in Pipeline is still supported (in 1.01+), if you choose to use Built-in pipeline, go in the TcgEngine/Materials folder and import the Built-in material package.

Scripts will also work in HDRP, but the demo FX are currently not supported on HDRP.

Linux Dedicated Server Build

If you want to be able to build a Linux Dedicated Server, you will also need to install a Unity Module. Go in Unity Hub -> Install -> Settings -> Click on Add Modules

Install the Linux Dedicated Server Build Support

That's it for the installation, you should now be able to run the game.

Frequent Install Errors

Check the errors in console after installing the package and trying to run the game.

PlasticSCM error, go in Window-Package Manager, and remove or update the Version Control Package, it is not needed. Some Unity versions don't install the correct one by default (Unity bug).

Burst Compiler error, usually you just need to restart Unity.

Invalid Dependencies com.unity.feature.development, go in package manager, in project, and remove the package with a red ! next to it. If you have this its probably because your unity version downgraded though, so look at the next paragraph just below because that's important, you should not downgrade.

Unity HUB trying to convince you to change Unity Version when you reopen the project, please do not downgrade Unity Version, as it will break any Unity project, you can only upgrade Unity version. Sometimes Unity Hub still tries to make you downgrade to the Unity version this asset was created with (because of a Unity bug in some Unity Versions that override unity project version when importing project settings). If Unity Hub changed your Unity Version on your project, just reset it to the one you originally used to install the asset. This Asset should work on ALL unity versions after 2020.3.37 (including it), as long as you don't downgrade after importing.

UI works but Dropdown don't, that could be because the project settings were not imported so the Sorting Layers are not set properly. I created a script to add the missing sorting layers automatically, it will be available in 1.02. If you are not on that version you can ask me the script on Discord or email. Or you can try reimporting the asset and accept the override project settings.

UI not responding to any click in Menus, could be because you have the Input System installed while the template uses the built-in input. You can safely remove the Input System Package in Package Manager. Otherwise, if you want to keep it for your project: you just need to go in Edit-Project Settings-Player-Other Settings : Active Input Handling and set it to "Both" (If you don't have the Input System package this should be set to Input Manager instead).

Last updated