Trisoft Studios Ultimate Runner Engine 2.
0
Customization Guide
Trisoft 2017 © All Rights Reserved
CONTENTS
Changing Game Elements
How to customize game gui ................................................................................................................
How to customize game environment artwork .............................................................................
How to customize horizon bending angles ....................................................................................
Changing Game Characters
How to change Follower Enemies .......................................................................................................
How to change Player Character ..........................................................................................................
How to add new Player Character .......................................................................................................
Game Levels
Understanding Track Generator ..........................................................................................................
How to create new game level ............................................................................................................
Advertisements
Advertisement Setup .............................................................................................................................
How To Customize Game Gui
All gui artwork storing in Contents/UI directory
There are 2 atlas texture that contains all gui elemnents sprites in multiple sprite mode.
1 - UIAtlas
2 - Splash Atlas
You can edit these atlas textures and sprites freely. Lets make a example that you are wanted to change
wooden button set of game gui.
Example : Changing Gui Button Set
1 - Right click on UIAtlas texture and select Show in Explorer in context menu.
2 - Select UIAtlas.png in file explorer and drag drop it in your image edit program.
3 - And make your awesome changes on texture. Please make sure that your new design does not
exceed bounds of old sprite area.
4 - Save this edited file as “PNG” directly Contents/UI folder and owerwrite it.
5 - Now back to Unity and select UIAtlas texture and click “Sprite Editor” in inspector view. Then check your new button
design for bounds are correct.
6 - And that is it ! Your button set changed in the game successfuly !
You can follow the same steps for changing all gui elements.
How to Customize Game Environment Artwork
1 - Navigate to Contents>Meshes>Environment and open the “EnvironmentGlobal.fbx” in your 3D
design application.
2 - In your 3D design application you can see that all game environment elements are layered in the
this single Fbx file. You can re design and change all the layers with same layer name in this fbx file.
track50, track100 and track150 layers is the main design layers that we use for creating tracks in the
game. You can design more variations of these and make more unique levels in the game.
3 - Make sure that all the designed environment objects must use a single texture map. The main
reason is this, if you use different texture maps the game will go slow and do not work low profile
graphics chips.
We have one texture map for all environment objects in the Contents>Textures> EnvironmentGlob-
al.png.
Re design and update this texture map in your 3D design application.
EnvironmentGlobalText.jpg
How to Follower Enemies
Navigate to Contents>Meshes>Characters and select villain1.fbx and villan2.fbx and right click and
select “Show In Explorer” menu.
Please note that, if you want use ha humanoid character to replace enemies. Please make sure that
your character has rigged.
Your new files must have the same name with this folder. Paste and replace your new enemy charac-
ters to this folder. If you want to use single enemy like vehicle just replace it as villain1.fbx and delete
Now your characters folder should look like this.
Go back to the unity now you can see that your enemy character showing in the scene and other
enemy character gone. Simply delete “villain2” game object from hierarchy and make sure your new
enemy character have the “Villain Controller” animation controller
If your enemy character is a humanoid, make sure to set its rig to “Humanoid” from the Fbx Import
view and configure it. Finally apply to changes.
Set its x position to 0 from -6, in that way we centered the enemy character.
That’s it, now you changed the enemy character.
How to Change (Replace) Player Character
Navigate to Contents>Meshes>Characters and select the character do you want to change and right
click and select “Show In Explorer” menu.
Rename your new character file with same character file that you want to change. Paste it and replace
in the folder.
Please make sure that your character rigged. Otwherwise you cant not setup it as as humanoid
character and it will not animating in the game.
Go to import setting view and navigate to “Rig” section. Set its rig to “Humanoid”. And configure its
mapping correctly. After that apply the changes.
Now you successfuly changed (replaced) the character.
How to Add New Player Character
Copy your new character to Contents>Meshes>Characters Folder.
Please make sure that your character rigged. Otwherwise you cant not setup it as as humanoid character
and it will not animating in the game.
Go to characters folder select your new character and
navigate to import setting view and select “Rig”
section. Set its rig to “Humanoid”. And configure its
mapping correctly. After that apply the changes.
Mind To Character Scale !
Sometimes exported chracter FBX models can extremely huge or small for your project. This will cause
scaling and fitting problems for your game. To solve this issue please drag and drop your new character
prefab into the main scene and then drag drop some existing characters from Content>Mesh>Character
folder. Align them and correct your new character model scale by adjusting its “Scale Factor” from import
settings.
Your character should look at this height when you correctly scale down it.
Please note that you must Re-Configure your humanoid characters rig when you change its “Scale Factor”.
Otherwise it can be seen distorted and mixed with its bones together.
Mind to Character Materials !
Please make sure that your Character Materials using “Bend” shaders. Otherwise your character will not
display in the game.
Bend shaders are the main shaders of the project. You have to use them in all game objects in your project.
After rigging and creating materials, go to Gui>ShopWindowPanel>ScrollViewHolder>CharacterScroll-
View>CharacterScrollContent game object in Hierarchy view. Then dublicate last Character entry and set its
name as “Character X”
By doing this now we have another character entry in game
and shop window.
Lets change its character mesh and assign its properties.
1 - expand the dublicated character entry game object and drag drop your new rigged character inside to it.
2 - And then delete old character mesh (in this example
Alex) form character entry.
3 - You character may be little bit small or large depending its design, so scale your new character in the scene view and
center it the right side of the entry holder.
4 - Select entry holder root and drag drop your new character
mesh to “Character Mesh” field in inspector view.
5 - Do not forget to set Character Mesh GameObject layer as
“UI”
And finally assign its own properties. You can set you character name, its price on shop window and
state animations
And that’s it you are successfully added a new character to your game. Game engine will automatically setup your
new character both the shop window and game play. From now on you can buy select and play with it, no another
action required.
Understanding Track Generator
To access Track Generator select “PlayMaker” game object from the object hierarchy and navigate to inspector
view. And also you can access to designed track prefabs from project view navigating to Content>Ele-
ments>Tracks. Let’s take look at the connection between these two.
In the Controlle.cs we declared an Acceleration variable that controls the game speed. Basically game speed
increase over time.
You can easly change the acceleration start and end speeds and time by changing these values here.
As you can easly figure out above the diagram, we created 3 seperate track gorup that generating over time.
This track groups genrating randomly not the right order like showing above. In that way we create complete
different track ordering in each run. And players enjoys with different tracks at every speed stage. End each
run has its unique track order.
We specified the track grups difficulty:
Group 1 : Easy
Group 2 : Medium
Group 3 : Hard
Every track objcet have its “Spawn Start Pos” and “Spawn
End Pos” by using this values. You can create more track
gorups. There is no limitation over track groups. You can
design complately different track order. Although you can
create more levels,in that way the game seems to be very
rich
Creating New Track
Let’s create a new track for group1
Now navigate to Contents>Elements>Tracks and drag drop an existing track.
Break Prefab Instance from the game objact menu and replace its name to “group1-14”. After that remove the
all game objects insite the “TrackObjects” game object.
In the “Geometry” game object you will see the track design objects from our EnvironmentGlobal.fbx You can
easly extend and make longer this track by adding new track parts to here. You can check other tracks to how
we done, and use them as a reference.
After completing the geometry elements. Set the final lenght of the track “Z Size” in the inspector view.
And the fun part has come :) Navigate to Contents>Elements root folder in the project view.
Drag and drop game elements under to “TrackObjects” game object and design your new track as you want.
Place the elements :
X Postion
Left Lane : -6
Center : 0
Right Lane : 6
Y Position
Set 0
Z Position
You can set any value to Z Pos
These are the elements that you can use in your track.
Every track element has its own “TrackObject” script for identifyng itself. You can generate more element
variations by using this script. And make your game more rich .
And also every track element hast its own design helpers, for example you see the “Coin Line” element above.
With this script you can customize the coin line spacing direction en lenght.
After placing the track elements, create a new track prefab into Contents>Elements>Tracks.
Please make sure, your new track prefab name same with your new designed track in the scene
Drag and drop the designed track object to created prefab in project view.
Select the “Globals” game object in the hierarchy and navigate to Track Controller script. Expand the tracks
array then increate the array size. And drag drop your new track end of the array. In that way we declare our
new track tou the game engine. And Finally we completed the creating of our new track.
Let’s set our new track object to test track and
make “Test Mode” enabled and test our new
track. In that way you can play your track and
see the posible errors and re design it.
In test mode you will play your designed track over and over.This is very great and fun way to create unique
and funny tracks.
Advertisement Setup
Ultimate Runner Engine has its own advert contoller for caching and displaying ads.
Download and install advert SDK’S from which platform you want. Here is some ad companies that
supports Unity advert monetizing.
SDK installation guides
https://developers.google.com/admob/unity/start
https://docs.unity3d.com/Manual/UnityAdsHowTo.html
https://github.com/AdColony/AdColony-Unity-SDK-3/wiki/AdColony-SDK-Integration-Quick-Start-Guide
https://answers.chartboost.com/en-us/child_article/unity
Follow in this article steps and install the advert platform sdk that you want.
When you done installing the SDK platform. Navigate to “Globals” game object and expand AdvertController
script.
First select which adverts will showed in your game and assign how many times they will show.
Then right click component label and select Edit Script context menu and go to code view.
Import your api headers from installed sdk platform. For example;
using Google.Admob;
using UnityServices.Ads;
And finally call ad request and ad show methods directly inside of this class.
We have marked and descriptioned which method will call and where in this script file.
Test your code both desktop and mobile devices before you publish the game.