Race Positioning System

The ‘Race Positioning System’ has now been released on the Asset Store. All users of the ‘Car Positioning System’ can download the new version for free. Take a look here.
Description:

The ‘Race Positioning System’ (previously called ‘Car Positioning System’) is a complete solution for turning your scene into a race. It can calculate race standings at runtime and provides many optional features including laps and checkpoints. It supports all race types for any kind of moving object.

The advanced editor tools and modular nature make it quick to learn and easy to use. For advanced users, the code is clean and easy to follow with many comments and a detailed documentation.

The ‘Race Positioning System’ can be setup in a scene in just a few minutes, saving you hours of time to do what you do best.


Features:

  • Race Standings system
  • Lap System
  • Checkpoint System
  • Works with any moving object; cars, airplanes, humans, boats, bikes, etc.
  • Supports all versions of Unity 5.x and Unity 4.6
  • Supports new Unity UI and legacy UI
  • Supports all race types; laps, sprint, multiplayer, etc.
  • Supports unlimited number of moving objects
  • Advanced editor windows and custom inspectors to save time
  • Modular setup, add as many UI elements as you like
  • Written in C#
  • 4 demo scenes included
  • Includes 5 sets of textures for race standings
  • Detailed documentation and tutorial included
  • All source code provided full of comments

Demos:

Not Included in Package:
Race Demo: WebGL, Win 32bit, Win 64bit, Mac, Linux

Included In Package:
Airplane Demo: WebGL, Win 32bit, Win 64bit, Mac, Linux
Lap Demo (with Checkpoints): WebGL, Win 32bit, Win 64bit, Mac, Linux
Lap Demo (without Checkpoints): WebGL, Win 32bit, Win 64bit, Mac, Linux
Sprint Demo (with Checkpoints): WebGL, Win 32bit, Win 64bit, Mac, Linux

Race Demo Video:

Other Links:

Asset Store Page
Website

You can leave any questions bellow or contact us at solution_studios@outlook.com

1 Like

We have just submitted the update to the Unity Asset Store Team. Hopefully, they will accept it and it will be on the Asset Store in the next few days!

We have submitted 3 versions of the package from Unity 4.6, 5.0 and 5.3, so it will work with all versions of Unity from 4.6 onwards.

The ‘Race Positioning System’ has now been released.

Asset Store Page

Sent you a bug report via email…

We have found a fix for anyone experiancing the following bug:

RPS_ScreenUI and RPS_LegacyScreenUI scripts which display an object’s race position as a UI Text, get the line endings wrong. E.g. It might show ‘1nd’ and ‘2rd’ instead of ‘1st’ and ‘2nd’.

This is easy to fix:

  1. In the RPS_ScreenUI script, replace line 68 with this:
string postionnumberasstring = "" + (posScript.currentRacePosition+1);
  1. In the RPS_LegacyScreenUI script, replace line 63 with this:
string postionnumberasstring = "" + (posScript.currentRacePosition+1);

This fix will be included in the next update.

We have submitted an update to the Asset Store today (version 2.1)
It includes the fix above and has full Unity 5.5 support.

It should be live in the next 5 to 10 working days.

Edit: The Race Positioning System v2.1 is now available on the Asset Store.
Take a look here.

The latest version of the package, version 2.1, fully supports Unity 5.6. No update required.

I bought your asset every thing is well maintain but i am really need your help in this:
(i) how to setup RPS for one vehicle on multiple tracks in a same scene?

@NomanAliUnity
Thank you for purchasing the Race Positioning System.

I’m not sure exactly what you mean. I’m understanding it as you have two or more seperate tracks in a scene with one vehicle on each track. So you want to compare the race positions of the vehicles by the percentage each of them is along its own track? I am assuming all the tracks are the same length?

Please could you send an email to us at solution_studios@outlook.com to confirm. Please provide us with your invoice id (as proof of purchase) and we might be able to put an example scene together for you

Hi I just purchased your asset and I’m having a hard time getting it to work. (errors) I followed the pdf guide with the sensors and I made sure I had a position script and inspector script on all of my characters and I’m still getting these errors:

NullReferenceException: Object reference not set to an instance of an object
RPS_Position.Update () (at Assets/RPS/Scripts/RPS_Position.cs:303)

NullReferenceException: Object reference not set to an instance of an object
RPS_Position.Update () (at Assets/RPS/Scripts/RPS_Position.cs:196)

Any ideas?

Edit:

Figured it out! I threw the two scripts on racer prefabs that I instantiate at runtime and I saw that the RPS_Storage script needed to be fed the position scripts on runtime. Fixed that and it works perfect now. :slight_smile:

1 Like

Yep. That’s exactly the problem. I’m glad you worked it out!

I need a setup video for this… completly lost…

@wrichards - There is a detailed step by step tutorial within the documentation. It starts on page 5. If you don’t understand this please could you send us an email at: solution_studios@outlook.com and let us know at which point you get lost.

We will update the documentation if you think its not clear enough. We will probably make a tutorial video at some point in the near future although most of our users don’t seem to need it.

Aloha,I got far and have about 1/2 it working heres the errors I have… plz help me clean them up

@wrichards - I’ve replied to your email.

The first 7 warnings/errors and the last error are not RPS related so we can’t help you with them.

The NullReferenceExceptions are from RPS. This is because you have added an RPS_ScreenUI script to a GameObject in your scene but you haven’t filled in the fields in the component’s Inspector properly. Either you haven’t filled in all the sprite fields to display the race position or you haven’t filled in the UI Image field.

Thank you Got it. took a few to figure out what it was asking for, I DIDNT want the other cars positions on the screen ONLY over the cars. so yea added too many scripts. I was reading TOOO deep into the instrustions. the Other error was cuz I didnt initaly understand I had to put a UI place holder on the UI canvas duh ;)… over all working well Thank you for the help. working great and saved me tons of time writing this myself… I think my problem was there was too much info in the setup. a quick start at the start mighta helped my inital set up… over all VERY GOOD work you guys

heres a video of it working

Is there a way to add RPS_Position scripts to instantiated prefabs? I want to set up the cars in a different scene, so I can not do it manually via the RPS Editor Window.

@pst1 - Yes this is possible, but it does involve writing a few lines of code. Please could you send us an email (to solution_studios@outlook.com) and we will explain the process to you. And if you have any problems with it we can put together a demo scene to help you.

i make 2 environments in one scene , but RPS is only worked once , not 2nd time , i make copy of positions sensers it said make these from RPS window , but when i go to RPS window it gives option to remove previous first for new creating
what should i do , i need to use 2 times in 1 scene , as i`m using 2 environments in 1 scene

I have the same problem with PUN2 Multiplayer can you share your solution please:
I got so far:

 public void AddRiders()
         
    {
            GameObject[] tag;
            GameObject[] tag_2;


            tag = GameObject.FindGameObjectsWithTag("Player");
            tag_2 = GameObject.FindGameObjectsWithTag("OtherPlayer");


            for (int i = 0; i < tag.Length; i++)

            {
                positionScript.Add(tag[i].GetComponent<RPS_Position>());
                Debug.Log ("found TAG");
            }

            for (int i = 0; i < tag_2.Length; i++)

            {
                positionScript.Add(tag_2[i].GetComponent<RPS_Position>());
            }
       

    }

But that isnt working, i ask for support via mail and invoice ID, but no answer yet.
Can you help?