Search Unity

Realistic FPS Prefab [RELEASED]

Discussion in 'Assets and Asset Store' started by Deleted User, Apr 5, 2013.

  1. petercoleman


    Feb 21, 2016
    Hi OZAV,

    In the near future I was looking to Update my version of Unity as I have a few issues with my current version of Unity 2021 LTS though it looks like perhaps I may be better off staying with the version I have...

    I have not had a Publishing Issue as yet that I know of different to any I have in the Editor which are considerable but I have to live with them or I cant finish my Game. I have learned to live with Issues in Unity and work around them best I can as I have no option I can see. I don't see any version of Unity ever being a complete and stable Platform to develop a serious game with (or any game for that matter) though of course personally I have never yet used any Engine that could be said to be that....Every Engine I have ever used has always had bugs and issues that never seem to get fixed and I guess that's the nature of the beast if one wants an Engine to be developed ongoing by the developers...its a forever never ending cycle of forward development and bugs or issues that need fixing unless one can find a stable version and stick with it and accept that you will not get any updates to it :)


  2. hariomjangra777


    Mar 27, 2021
    anyone please help
  3. OZAV


    Aug 9, 2013
    ... while for today's usability testing, we used the Unity 2023.1.0.b (beta) - and: aside from still too long awaiting times to do anything, and too restrictive and not-needed prefabs and other admin nag 'permissions' - there is some slight hope, the builds-wise, as it would seem that - we can now select in the build options window - what nature of the build do we want, and it seems to be remotely posible to exclude the complete assets updating, and we are monitoring further, if they are going to continue with that convenience or it would be burried with the more of the new 'progress' updates. Worth giving some tests, for builds, in that field, with that version, everyone. Reported for: 18-03-2023. everyone, as we all are watching further :).
  4. petercoleman


    Feb 21, 2016
    Hi Everyone,


    What I have been doing?
    I have been updating the last 6 or so levels of the game again to the last level "Lunar Adventures" mostly adding and updating Characters (all types) and their behaviors and the dynamic sequences of Vehicles as they relate to level changes....

    An updated screen shot of the lunar surface is attached below...there are currently 4 dynamic vehicles here currently...

    Player ship vehicle, friendly ship vehicle (furthest grey) dark ship vehicle right which I have added to this moon landing sequence..this vehicle is an "Ally" vehicle which leads the Player, into the moon landing from the Orbiting Moon Station above :) There is also a terrestrial Rover so the Player can drive around the surface. Only two Astronaut characters here at the moment in this scene.

    Grab 20230317092313 w1360h768 x-3y28z2428r359.jpg

    What am I working on?

    As I am now working Off World in Space and wish to develop this level further somewhat - (how far remains to be seen)...then I have a necessity to update the game with some new dynamics relative to a Space environment....for Characters, vehicles and other off world type content....

    I have been gathering together some new content which is mainly for use in Episode 2 of the Game but will be also useful in this Moon level too where the action will most likely be on the surface so not much different to the dynamics needed in levels to date....thus I am looking forward and have been working on new vehicle dynamics for including additional space control craft systems for Space scenarios...

    Currently just added and still working on systems to add new Player vehicle Space Craft control for flight, space battles and alike, hovercraft, helicopter and possibly jet pack flight and other player controlled terrestrial vehicle types. This is notwithstanding of course any Player, allies, enemy and weapon system updates which may be required mostly for the Second episode. Lastly my attention is also drawn to the question of Off world Space environment generation and I have a lot of content already available for that so again game dynamics will play an important part.

    I think that's enough work to consider for the moment and I firstly have to continue to Update what I have with any "necessities" outstanding mostly relating to this Moon level...and some work to do back on the 6 levels aforementioned....I still have some necessary work and some nice to have stuff to do omitted or bypassed to date. e.g. I should stop at some time to add (create) sounds/speech to many characters and scenarios and add them to the's endless really but will bring it to an end before too long so I can get a game release which will be it is what it is at that stage - any more after that will be dependent upon may factors including my own and my computer systems "endurance" if nothing else :)


    OZAV, Franciscotx56 and TonyLi like this.
  5. petercoleman


    Feb 21, 2016

    Hi All,

    As I may be adding some new off world game dynamics to include in the game First Episode - Looking ahead I have done some work on building a system for such things that may be needed (ongoing)...

    I have attached two screen shots which show some space environment content in a level The Red Planet (Mars).

    1. Screen Shot of Player Craft and Enemy Craft. Currently the Navigation and Shooting system works though will need a fair bit of work to update and extend it for what one might call space battles. Currently Enemy craft can shoot at the Player craft and the Player can shoot via Gun and Missiles and destroy Enemy ships.

    2. Screen Shot of Player Craft Internal Camera view.....



    Now returned backwards around 6 levels from the Lunar surface to Update the levels as needed to the end of game once again.

    Kind Regards

    OZAV likes this.
  6. petercoleman


    Feb 21, 2016
    Here's another screen shot taken yesterday looking back from the base of the upper Battle Port platforms looking backwards in the game. This level is just about complete now so will move on to the upper platforms - the The Leaving level shortly that should be completed too within this week which will leave just the remaining off world levels to concentrate on. i.e. Earths orbiting station, The Moon and Lunar surface, the first two of which are well advanced and the Lunar surface itself "Lunar Adventures" will be a bonus as it were and I will end work on that when I am happy enough is enough until Episode 2 of the game is underway where it will continue or not as the case may be depending upon the level of interest in the first episode....


    Franciscotx56 likes this.
  7. petercoleman


    Feb 21, 2016
    Hi All,

    I have moved on from the Battle Port level (screen above) which was an endurance in itself, updated and moved past The Leaving level and now back updating the level Stargate Earth. No Enemies at all here and after enough of those in the previous few levels Stargate Earth provides the Player with a moment of Solace and a chance for some quiet contemplation :) before a flight to The Moon orbiting station and on to the Lunar surface the last level in this Episode of the game.

    Stargate Earth should be complete shortly - within days and the rest of this Episode as soon as is possible all being well.

    Kind regards

    OZAV and Franciscotx56 like this.
  8. petercoleman


    Feb 21, 2016
    HEARTS OF COLD - REDEMPTION UPDATE - Complete Game - Episode 1 Published.


    Now completed the current round of updates of the Game to the end of Episode 1 - Lunar Adventures level 27.

    I have the project backed up and have published the full Game. I could refer to it now as Release Candidate 1 or an Early Access Version.......

    At the moment I have started Playing the Game and making notes of anything I find that needs fixing.

    The Game seems to have published well and I have not found any show stoppers or critical issues as yet.

    I have seen quite a number of various glitches which need updating or fixing which however do not prevent game play but just impair the enjoyment of it somewhat.....I have only found once location where there is what you might call a must fix and that is one building that has some content which need meshes added and the levels nav mesh rebuilding so that Non Player characters do not walk through objects in the building. "Ooopps Missed that"

    Not quite sure where I will go from here other than completion of Playing all levels perhaps more than once to find as many glitches I can find and fix them as necessary and re-publish, then test again....

    I could release as is and that would be the easy thing to do but not the best idea me thinks :)

    There are a load of things I could do to improve the Game but then there would always be more one can do.

    Anyway I have to get on and complete my game testing - fix and re-publish and test again....

    Here is what may be the last screen shot for some time while I work away at preparing another Publish....

    This is a screen shot of inside the Moons Oribiting Station :


    Kindest regards

    OZAV and Franciscotx56 like this.
  9. closetgeekshow


    Jun 6, 2014
    Where is it published? I've been wanting to try this game out since I first heard about it
  10. petercoleman


    Feb 21, 2016
    Hi closetgeekshow,

    This is where I am at the moment as said earlier above :

    "Not quite sure where I will go from here other than completion of Playing all levels perhaps more than once to find as many glitches I can find and fix them as necessary and re-publish, then test again...."

    Sorry I do not know exactly when there will be a Public Release of the game...

    Having Played the published game through. I am now in the process of fixing issues including some critical ones which would prevent a Player progressing as a Player should in a linear, level to level fashion - beginning to end... though Levels can always be loaded individually via the Main Menu.

    I have already made some good progress in that. As I do, as I go I am also adding some more content and also adding some final things to improve the overall experience. e.g. Now adding Post Processing to all levels as I go which enhances the game quality and experience at the cost of some performance loss of course...

    Today Is a Bank Holiday and Yes I am working on the game Updating all for another time :)

    You must excuse me now as I have to get back to work or it wont get done...

    I will keep everyone updated.


    closetgeekshow and Franciscotx56 like this.
  11. closetgeekshow


    Jun 6, 2014
    I must have glossed over that part in my excitement, my bad
    OZAV likes this.
  12. petercoleman


    Feb 21, 2016
    Hi closetgeekshow,

    "Excitement Indeed"

    Here's a quick update to keep us all going :)

    Today I am working of the last level on Earth "The Leaving" after going through all the previous levels on what must be the Tenth or so Update, I have lost track now...

    Just about to create some more voice sounds to add to a few important Characters that help with the storyline and that's just about it for this level..should be done today or tomorrow on that,,,then just the two small Space station levels to check over and I will be again working on the last level the Lunar Surface which I may spend a little time on adding some content to but it wont be a great deal as I envisage it at the moment.

    Then I have 3 levels I want to go back to with just a few checks to do....

    Overall the game could be said to be done now but I have a mind to just ensure I am happy with it.

    All in all I am looking to wrap up ASAP and republish and back up again. Then test the published game again. Cant be much left to do now.

    I will post another Update shortly when I am about to republished for hopefully the last time before making ready for a release.

    I have updated as much as I am able to date and have added final post processing to all levels as I go. As long as the next publish does not show up any critical things needing doing then I will be done as far as I am concerned...

    Finally I will need to prepare then for a published release with perhaps some updating to Menus, new Loading screen images and ensure game Player interactions work as should. It is quite complicated over all with a lot of different user/player interactions possible....

    Sorry I digress now and point being It wont be long in the big scheme of things now before a release....

    Hopefully I am looking to complete the majority of this by the end of this month (April or soon after) which may be wishful thinking but I will keep everyone updated.

    Hope that helps.


    closetgeekshow and Franciscotx56 like this.
  13. petercoleman


    Feb 21, 2016

    Quick update as promised...

    Now working on the end Moon level "Lunar Adventures" after Updating all previous levels...and see how this goes until the next post...

    Bye for now!


    closetgeekshow likes this.
  14. JC_LEON


    May 20, 2014
    hey guys is there a way to disable the weapon animator or weapon script for a certain time.. basically i'm integrating my inventory system and all works fine but when inventory is opened and i press on items to interact with them if player has a weapon equipped the player shoot with the weapon,,and i want to disable the player to shoot with weapons when inventory in opened but dont want to pause the game...

    Peter i saw you integrated an inventory syste mby your own too ..which script did you modified to make player not shoot with weapon when inventroy is opened?
  15. TonyLi


    Apr 10, 2012
    You can disable these components while the inventory is open:
    • FPSPlayer
    • FPSRigidBodyWalker
    • Footsteps
    • SmoothMouseLook (on FPS Camera)
    and deactivate this GameObject:
    • FPS Weapons
    When you close the inventory, reactivate the GameObject and re-enable the components.
    closetgeekshow and OZAV like this.
  16. JC_LEON


    May 20, 2014

    i added these line s of code in my player inventory

    public PlayerWeapons playerWeapons;(line 02) on main to refer to my FPS Weapons gameobject

    on start i added this

    playerWeapons.playerObj.GetComponent<PlayerWeapons>();(line 48)

    and when my inventroy is open i added this

    playerWeapons.enabled = false; (line 162)

    but even with inventroy opened my weapons is fully functional..

    here the script
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using UnityEngine.UI;
    6. public class QuantumInventory : MonoBehaviour
    7. {
    8.     [System.NonSerialized] public List<Slot> inventory, hotbar, slots;
    9.     public int maxSlots;
    10.     public KeyCode interact, action;
    11.     public AudioClip open, close, pickUp, moveSlot, drop;
    12.     public float distance;
    14.     GameObject inventoryObj;
    15.     GameObject[] atlas;
    17.     public SmoothMouseLook smoothMouseLook;//JCLEON Inventory Integration
    18.     public FPSPlayer fPSPlayer;//JCLEON Inventory Integration
    19.     public bool isInventoryOpen;//JCLEON Inventory Integration
    20.     public PlayerWeapons playerWeapons;//JCLEON Inventory Integration 2023
    22.     private QuantumItem quantumItem;//JCLEON Inventory Integration
    23.      HealthPickup healthPickup;
    25.     GameObject[] go;
    26.     // [0 SLOT][1 INVENTORY][2 HOTBAR][3 ITEM]
    28.     Transform[] t;
    31.     Sprite error;
    33.     bool o;
    34.     public Transform playerCamera;//JCLEON Inventory Integration
    35.     Transform canvas, invSlots;//JCLEON Inventory Integration
    36.     FPSRigidBodyWalker pm;//JCLEON Inventory Integration
    37.     SmoothMouseLook pl;//JCLEON Inventory Integration
    41.     CanvasScaler cs;
    42.     Dropdown sort;
    43.     Text info;
    44.     QuantumContainer quantumContainer;
    46.      void Start()
    47.     {
    48.         playerWeapons.playerObj.GetComponent<PlayerWeapons>();//JCLEON Inventory Integration 2023
    49.         //healthPickup = gameObject.GetComponent<HealthPickup>();
    50.         quantumItem = GameObject.FindObjectOfType<QuantumItem>();//JCLEOn Inventory integration "Reference quantumitem.cs form this script")
    51.         atlas = Resources.LoadAll<GameObject>("Core/QIS");
    53.         o = !o;
    54.         inventory = new List<Slot>();
    55.         hotbar = new List<Slot>();
    56.         slots = new List<Slot>();
    58.         foreach (Transform child in transform)
    59.             if (child.GetComponent<Camera>() != null)
    60.                 playerCamera = child;
    62.         foreach (Transform child in transform)
    63.             if (child.GetComponent<SmoothMouseLook>() != null)
    64.                 pl = child.GetComponent<SmoothMouseLook>();
    66.         if (GetComponent<FPSRigidBodyWalker>() != null)
    67.             pm = GetComponent<FPSRigidBodyWalker>();
    69.         if (maxSlots > 40)
    70.             maxSlots = 40;
    72.         canvas = GameObject.Find("InventoryCanvas").transform;//JCLEON Inventory Integration changed name from "Canvas"
    73.         cs = canvas.GetComponent<CanvasScaler>();
    74.         cs.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
    75.         cs.referenceResolution = new Vector2(1280, 720);
    76.         cs.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight;
    77.         cs.matchWidthOrHeight = 0.5f;
    79.         go = new GameObject[5];
    80.         t = new Transform[7];
    81.         go[0] = Resources.Load<GameObject>("Core/QIS/_slot");
    82.         go[1] = Resources.Load<GameObject>("Core/QIS/_inventory");
    83.         go[2] = Resources.Load<GameObject>("Core/QIS/_hotbar");
    84.         go[3] = Resources.Load<GameObject>("Core/QIS/_erit");
    85.         error = Resources.Load<Sprite>("Core/QIS/_ertex");
    86.         t[1] = Instantiate<GameObject>(go[1], canvas).transform;
    87.         invSlots = t[1].Find("_slots");
    88.         t[0] = t[1].Find("_container");
    89.         t[4] = t[1].Find("_options");
    90.         t[3] = t[4].Find("_moreSlots");
    91.         t[5] = t[1].Find("_docViewer");
    92.         t[2] = Instantiate<GameObject>(go[2], canvas).transform;
    93.         t[6] = t[4].Find("_info");
    94.         sort = t[4].Find("_sort").GetComponent<Dropdown>();
    95.         sort.GetComponent<Dropdown>().onValueChanged.AddListener(delegate { RefreshInventory(); });
    96.         info = t[6].Find("Text").GetComponent<Text>();
    97.         t[1].gameObject.SetActive(false);
    98.     }
    100.     private void Update()
    101.     {
    102.         if (Input.GetKeyDown(interact))
    103.         {
    104.             RaycastHit hit;
    105.             int layer = gameObject.layer;
    106.             gameObject.layer = 2;
    107.             if (Physics.Raycast(playerCamera.position, playerCamera.forward, out hit, distance))
    108.             {
    110.                 if (hit.collider.GetComponent<QuantumItem>() != null)
    111.                     Gather(hit.collider.GetComponent<QuantumItem>());
    112.                 else if (hit.collider.GetComponent<QuantumContainer>() != null)
    113.                     Container(hit.collider.GetComponent<QuantumContainer>());
    117.             }
    118.             gameObject.layer = layer;
    119.         }
    121.         if (Input.GetKeyDown(action))
    122.         {
    123.             Freeze();
    124.             ActionInventory();
    125.             SetActive(false, true, false);
    126.         }
    127.     }
    129.     public void Freeze()
    130.     {
    132.         //smoothMouseLook.sensitivity = 0;
    133.         o = !o;
    135.         if (pm != null && pl != null)
    136.         { pm.enabled = o; pl.enabled = o; }
    139.         if (o)
    140.         {
    141.             Cursor.visible = false;
    142.             Cursor.lockState = CursorLockMode.Locked;
    143.             smoothMouseLook.sensitivity = 3;//JCLEON inventory Integration
    144.             pm.enabled = true;//JCLEON Inventory Integration
    145.             isInventoryOpen = false;//JCLEON Inventory Integration
    146.             fPSPlayer.crosshairEnabled = true;//JCLEON Inventory Integration
    147.             playerWeapons.enabled = true;
    153.         }
    154.         else
    155.         {
    156.             Cursor.visible = true;
    157.             Cursor.lockState = CursorLockMode.None;
    158.             smoothMouseLook.sensitivity = 0;//JCLEON Inventory Integration
    159.             pm.enabled = false;//JCLEON Inventory Integration
    160.             isInventoryOpen = true;//JCLEON Inventory Integration
    161.             fPSPlayer.crosshairEnabled = false;//JCLEON Inventory Integration
    162.             playerWeapons.enabled = false;
    164.         }
    165.     }
    167.     public void Container(QuantumContainer container)
    168.     {
    169.         if (container.locked != "")
    170.         {
    171.             if (!FindMetaData("Key", container.locked))
    172.             {
    173.                 container.PlayFX(container.lockState);
    174.                 return;
    175.             }
    176.         }
    178.         Freeze();
    179.         ActionInventory();
    181.         SetActive(true, false, false);
    182.         quantumContainer = container;
    183.         quantumContainer.PlayFX(;
    185.         RefreshInventory();
    186.     }
    188.     public void ActionInventory()
    189.     {
    190.         t[1].gameObject.SetActive(!o);
    191.         if (t[1].gameObject.activeSelf)
    192.             PlayFX(open);
    193.         else
    194.             PlayFX(close);
    195.         if (t[0].gameObject.activeSelf)
    196.             quantumContainer.PlayFX(quantumContainer.close);
    197.         SetActive(false, true, false);
    198.         RefreshInventory();
    199.     }
    201.     private void DeNuller ()
    202.     {
    203.         foreach (Transform child in invSlots)
    204.             Destroy(child.gameObject);
    205.         foreach (Transform child in t[0])
    206.             Destroy(child.gameObject);
    207.         foreach (Transform child in t[2])
    208.             Destroy(child.gameObject);
    209.         foreach (Transform child in t[3])
    210.             Destroy(child.gameObject);
    211.     }
    213.     private void RefreshInventory()
    214.     {
    215.         DeNuller();
    217.         if (sort.value == 0) //NORMAL
    218.         {
    219.             foreach (Slot slot in inventory)
    220.             {
    221.                 GameObject x = Instantiate(go[0], invSlots);
    222.                 if (slot.icon != null)
    223.                     x.transform.Find("Icon").GetComponent<Image>().sprite = slot.icon;
    224.                 else
    225.                     x.transform.Find("Icon").GetComponent<Image>().sprite = error;
    226.                 x.transform.Find("Type").GetComponent<Image>().sprite = Resources.Load<Sprite>("Core/QIS/" + slot.type);
    227.                 if (slot.quantity > 1)
    228.                     x.transform.Find("Text").GetComponent<Text>().text = slot.quantity.ToString("");
    229.                 else
    230.                     x.transform.Find("Text").GetComponent<Text>().text = "";
    231.                 x.GetComponent<Button>().onClick.AddListener(delegate { Action(slot); });
    232.             }
    233.         }
    235.         {
    236.             InstantiateSlot("Item");
    237.             InstantiateSlot("Document");
    238.             InstantiateSlot("Key");
    239.             InstantiateSlot("Consumable");
    240.             InstantiateSlot("Slot");
    241.             InstantiateSlot("Custom");
    242.         }
    244.         foreach (Slot slot in hotbar)
    245.         {
    246.             GameObject x = Instantiate(go[0], t[2]);
    247.             if (slot.icon != null)
    248.                 x.transform.Find("Icon").GetComponent<Image>().sprite = slot.icon;
    249.             else
    250.                 x.transform.Find("Icon").GetComponent<Image>().sprite = error;
    251.             x.transform.Find("Type").GetComponent<Image>().sprite = Resources.Load<Sprite>("Core/QIS/" + slot.type);
    252.             if (slot.quantity != 1)
    253.                 x.transform.Find("Text").GetComponent<Text>().text = slot.quantity.ToString("");
    254.             else
    255.                 x.transform.Find("Text").GetComponent<Text>().text = "";
    256.             x.GetComponent<Button>().onClick.AddListener(delegate { HotbarAction(slot); });
    257.         }
    259.         foreach (Slot slot in slots)
    260.         {
    261.             GameObject x = Instantiate(go[0], t[3]);
    262.             if (slot.icon != null)
    263.                 x.transform.Find("Icon").GetComponent<Image>().sprite = slot.icon;
    264.             else
    265.                 x.transform.Find("Icon").GetComponent<Image>().sprite = error;
    266.             x.transform.Find("Type").GetComponent<Image>().sprite = Resources.Load<Sprite>("Core/QIS/" + slot.type);
    267.             if (slot.quantity != 1)
    268.                 x.transform.Find("Text").GetComponent<Text>().text = slot.quantity.ToString("");
    269.             else
    270.                 x.transform.Find("Text").GetComponent<Text>().text = "";
    271.             x.GetComponent<Button>().onClick.AddListener(delegate { SlotAction(slot); });
    272.         }
    274.         if (t[0].gameObject.activeSelf)
    275.         {
    276.             foreach (Slot slot in quantumContainer.inventory)
    277.             {
    278.                 GameObject x = Instantiate(go[0], t[0]);
    279.                 if (slot.icon != null)
    280.                     x.transform.Find("Icon").GetComponent<Image>().sprite = slot.icon;
    281.                 else
    282.                     x.transform.Find("Icon").GetComponent<Image>().sprite = error;
    283.                 x.transform.Find("Type").GetComponent<Image>().sprite = Resources.Load<Sprite>("Core/QIS/" + slot.type);
    284.                 if (slot.quantity != 1)
    285.                     x.transform.Find("Text").GetComponent<Text>().text = slot.quantity.ToString("");
    286.                 else
    287.                     x.transform.Find("Text").GetComponent<Text>().text = "";
    288.                 x.GetComponent<Button>().onClick.AddListener(delegate { ContainerAction(slot); });
    289.             }
    290.         }
    292.         info.text = "Max Slots: " + maxSlots;
    293.         info.text += "\nUsed Slots: " + inventory.Count;
    294.         info.text += "\nFree Slots: " + (maxSlots - inventory.Count);
    295.         info.text += "\n\nHotbar Max Slots: 9";
    296.         info.text += "\nHotbar Used Space: " + hotbar.Count;
    297.         info.text += "\nHotbar Free Space: " + (9 - hotbar.Count);
    298.         int additionalSlots = 0;
    299.         foreach (Slot slot in slots)
    300.             additionalSlots += int.Parse(slot.metaData);
    301.         info.text += "\n\nAdditional Slots: " + additionalSlots;
    302.     }
    304.     private void InstantiateSlot(string type)
    305.     {
    306.         foreach (Slot slot in inventory)
    307.         {
    308.             if (slot.type == type)
    309.             {
    310.                 GameObject x = Instantiate(go[0], invSlots);
    311.                 if (slot.icon != null)
    312.                     x.transform.Find("Icon").GetComponent<Image>().sprite = slot.icon;
    313.                 else
    314.                     x.transform.Find("Icon").GetComponent<Image>().sprite = error;
    315.                 x.transform.Find("Type").GetComponent<Image>().sprite = Resources.Load<Sprite>("Core/QIS/" + slot.type);
    316.                 if (slot.quantity != 1)
    317.                     x.transform.Find("Text").GetComponent<Text>().text = slot.quantity.ToString("");
    318.                 else
    319.                     x.transform.Find("Text").GetComponent<Text>().text = "";
    320.                 x.GetComponent<Button>().onClick.AddListener(delegate { Action(slot); });
    321.             }
    322.         }
    323.     }
    325.     private void Action(Slot slot)
    326.     {
    327.         if (Input.GetKey(KeyCode.LeftControl))
    328.         {
    329.             Drop(slot);
    330.             inventory.Remove(slot);
    331.             PlayFX(moveSlot);
    332.         }
    333.         else
    334.         {
    335.             if (t[0].gameObject.activeSelf)
    336.             {
    337.                 if (quantumContainer.inventory.Count >= quantumContainer.maxSlots)
    338.                     return;
    339.                 quantumContainer.Gather(slot);
    340.                 inventory.Remove(slot);
    341.                 PlayFX(moveSlot);
    342.             }
    343.             else
    344.             {
    345.                 switch (slot.type)
    346.                 {
    347.                     case "Document":
    348.                         SetActive(false, false, true);
    349.                         t[5].Find("Text").GetComponent<Text>().text = slot.metaData;
    350.                         break;
    351.                     case "Slot":
    352.                         SetActive(false, true, false);
    353.                         ChangeMaxSlots(int.Parse(slot.metaData));
    354.                         slots.Add(slot);
    355.                         inventory.Remove(slot);
    356.                         PlayFX(moveSlot);
    357.                         break;
    358.                     //JCLEON Start
    359.                     case "Consumable":
    360.                         SetActive(false, true, false);
    362.                         if (fPSPlayer.hitPoints < fPSPlayer.maximumHitPoints)
    363.                         {
    364.                             slot.quantity--;
    365.                             if (slot.quantity <= 0)
    366.                             {
    367.                                 inventory.Remove(slot);
    368.                             }
    369.                             //fPSPlayer.HealPlayer(quantumItem.healthToAdd);//JCLEON Inventory Integration
    370.                             fPSPlayer.HealPlayer(int.Parse(slot.metaData));//JCLEON Inventory Integration
    372.                         }
    374.                         break;
    375.                     // JCLEON END
    377.                     default:
    378.                         if (hotbar.Count >= 9)
    379.                             return;
    380.                         GatherHotbar(slot);
    381.                         inventory.Remove(slot);
    382.                         PlayFX(moveSlot);
    383.                         break;
    384.                 }
    385.             }
    386.         }
    388.         RefreshInventory();
    389.     }
    391.     private void HotbarAction(Slot slot)
    392.     {
    393.         if (Input.GetKey(KeyCode.LeftControl))
    394.         {
    395.             Drop(slot);
    396.             hotbar.Remove(slot);
    397.             PlayFX(drop);
    398.         }
    399.         else
    400.         {
    401.             if (t[0].gameObject.activeSelf)
    402.             {
    403.                 if (quantumContainer.inventory.Count >= quantumContainer.maxSlots)
    404.                     return;
    405.                 quantumContainer.Gather(slot);
    406.                 hotbar.Remove(slot);
    407.                 PlayFX(moveSlot);
    408.             }
    409.             else
    410.             {
    411.                 if (inventory.Count >= maxSlots)
    412.                     return;
    413.                 Gather(slot);
    414.                 hotbar.Remove(slot);
    415.                 PlayFX(moveSlot);
    416.             }
    417.         }
    419.         RefreshInventory();
    420.     }
    422.     private void ContainerAction(Slot slot)
    423.     {
    424.         if (Input.GetKey(KeyCode.LeftControl))
    425.         {
    426.             Drop(slot);
    427.             quantumContainer.inventory.Remove(slot);
    428.             PlayFX(drop);
    429.             RefreshInventory();
    430.         }
    431.         else if (!Input.GetKey(KeyCode.LeftControl) && inventory.Count < maxSlots)
    432.         {
    433.             Gather(slot);
    434.             quantumContainer.inventory.Remove(slot);
    435.             PlayFX(moveSlot);
    436.             RefreshInventory();
    437.         }
    438.     }
    440.     private void SlotAction(Slot slot)
    441.     {
    442.         int i = int.Parse(slot.metaData);
    443.         ChangeMaxSlots(-i);
    445.         if (Input.GetKey(KeyCode.LeftControl))
    446.         {
    447.             Drop(slot);
    448.             slots.Remove(slot);
    449.             PlayFX(drop);
    450.             RefreshInventory();
    451.         }
    452.         else if (!Input.GetKey(KeyCode.LeftControl) && inventory.Count < maxSlots)
    453.         {
    454.             Gather(slot);
    455.             slots.Remove(slot);
    456.             PlayFX(moveSlot);
    457.             RefreshInventory();
    458.         }
    459.     }
    461.     private void ChangeMaxSlots(int quantity)
    462.     {
    463.         maxSlots += quantity;
    465.         if (maxSlots > 40)
    466.             maxSlots = 40;
    467.         else if (maxSlots < 0)
    468.             maxSlots = 0;
    469.     }
    471.     private void Drop(Slot slot)
    472.     {
    473.         //GameObject x = Resources.Load<GameObject>("Core/QIS/" + slot.item); //original line of code
    474.         GameObject x = System.Array.Find(atlas, obj =>;
    475.         if (x == null)
    476.         { x = Instantiate(go[3]); x.GetComponent<Renderer>().material = Resources.Load<Material>("Core/QIS/Materials/_" + slot.type.ToUpper()); }
    477.         else
    478.         { x = Instantiate(x); }
    480.         x.transform.position = transform.position + transform.forward;
    482.         x.GetComponent<QuantumItem>().item = slot.item;
    483.         x.GetComponent<QuantumItem>().type = slot.type;
    484.         x.GetComponent<QuantumItem>().quantity = slot.quantity;
    485.         if (slot.icon == null)
    486.             x.GetComponent<QuantumItem>().icon = error;
    487.         else
    488.             x.GetComponent<QuantumItem>().icon = slot.icon;
    489.         x.GetComponent<QuantumItem>().stackable = slot.stackable;
    490.         x.GetComponent<QuantumItem>().metaData = slot.metaData;
    491.     }
    493.     private void SetActive(bool container, bool options, bool viewer)
    494.     {
    495.         t[0].gameObject.SetActive(container);
    496.         t[4].gameObject.SetActive(options);
    497.         t[5].gameObject.SetActive(viewer);
    498.     }
    500.     public void Gather(QuantumItem item)
    501.     {
    502.         if (inventory.Count >= maxSlots)
    503.             return;
    504.         Slot slot = FindSlot(item.item);
    505.         if (slot == null || !slot.stackable)
    506.             inventory.Add(new Slot(item));
    507.         else if (slot != null && slot.stackable && slot.type == item.type)
    508.             slot.quantity += item.quantity;
    509.         PlayFX(pickUp);
    510.         Destroy(item.gameObject);
    511.     }
    513.     public void Gather(Slot item)
    514.     {
    515.         if (inventory.Count >= maxSlots)
    516.             return;
    517.         Slot slot = FindSlot(item.item);
    518.         if (slot == null || !slot.stackable)
    519.             inventory.Add(item);
    520.         else if (slot != null && slot.stackable && slot.type == item.type)
    521.             slot.quantity += item.quantity;
    522.         PlayFX(pickUp);
    523.     }
    525.     public void GatherHotbar(Slot item)
    526.     {
    527.         if (hotbar.Count >= 9)
    528.             return;
    529.         Slot slot = FindHotbarSlot(item.item);
    530.         if (slot == null || !slot.stackable)
    531.             hotbar.Add(item);
    532.         else if (slot != null && slot.stackable && slot.type == item.type)
    533.             slot.quantity += item.quantity;
    534.         PlayFX(pickUp);
    535.     }
    537.     public bool FindItem(string item)
    538.     {
    539.         foreach (Slot slot in inventory)
    540.             if (slot.item == item)
    541.                 return true;
    542.         return false;
    543.     }
    545.     public bool FindItem(string item, int quantity)
    546.     {
    547.         foreach (Slot slot in inventory)
    548.             if (slot.item == item && slot.quantity >= quantity)
    549.                 return true;
    550.         return false;
    551.     }
    553.     public Slot FindSlot(string item)
    554.     {
    555.         foreach (Slot slot in inventory)
    556.             if (slot.item == item)
    557.                 return slot;
    558.         return null;
    559.     }
    561.     public Slot FindHotbarSlot(string item)
    562.     {
    563.         foreach (Slot slot in hotbar)
    564.             if (slot.item == item)
    565.                 return slot;
    566.         return null;
    567.     }
    569.     public bool FindMetaData(string type, string metaData)
    570.     {
    571.         foreach (Slot slot in inventory)
    572.             if (slot.type == type && slot.metaData == metaData)
    573.                 return true;
    575.         foreach (Slot slot in hotbar)
    576.             if (slot.type == type && slot.metaData == metaData)
    577.                 return true;
    578.         return false;
    579.     }
    581.     public void FindItemAndRemove(string item)
    582.     {
    583.         foreach (Slot slot in inventory)
    584.             if (slot.item == item)
    585.                 inventory.Remove(slot);
    586.     }
    588.     public void FindItemAndRemove(string item, int quantity)
    589.     {
    590.         foreach (Slot slot in inventory)
    591.             if (slot.item == item && slot.quantity >= quantity)
    592.             {
    593.                 slot.quantity -= quantity;
    594.                 if (slot.quantity <= 0)
    595.                     inventory.Remove(slot);
    596.             }
    597.     }
    599.     public Slot GetHotbarID (int i)
    600.     {
    601.         return hotbar[i];
    602.     }
    604.     private void PlayFX(AudioClip fx)
    605.     {
    606.         if (fx == null)
    607.             return;
    608.         GameObject obj = new GameObject();
    609.         obj.transform.position = transform.position;
    610.         AudioSource source = obj.AddComponent<AudioSource>();
    611.         source.clip = fx;
    612.         source.Play();
    613.         Destroy(obj, fx.length);
    614.     }
    616.     [System.Serializable]
    617.     public class Slot
    618.     {
    619.         public string item, type;
    620.         public int quantity;
    621.         public Sprite icon;
    622.         public bool stackable;
    623.         [TextArea(3, 5)]
    624.         public string metaData;
    626.         public Slot(string item, string type, int quantity, Sprite icon, bool stackable, string metaData)
    627.         {
    628.             this.item = item;
    629.             this.type = type;
    630.             this.quantity = quantity;
    631.             this.icon = icon;
    632.             this.stackable = stackable;
    633.             this.metaData = metaData;
    634.         }
    636.         public Slot(QuantumItem quantum)
    637.         {
    638.             this.item = quantum.item;
    639.             this.type = quantum.type;
    640.             this.quantity = quantum.quantity;
    641.             this.icon = quantum.icon;
    642.             this.stackable = quantum.stackable;
    643.             this.metaData = quantum.metaData;
    644.         }
    645.     }
    646. }
  17. TonyLi


    Apr 10, 2012
    If you have the Dialogue System integration, you can see how it's done there.
  18. JC_LEON


    May 20, 2014
    i have dialogue system not in this specific proejct even if i planned to add in future due to the save system and such

    the fps weapons scirpt is correcrly disabled when inventory is active but player is able t oshoot the same


    i managed t omake it work and correclty disable and enable weapons when inventroy is open but when i re-enable the weapon it goes in this position

    and i tihnk it s related to the deadzone pivot that not correctly realign the weapon model
    Last edited: Apr 25, 2023
  19. petercoleman


    Feb 21, 2016
    H JC_LEON,

    I dont know how your inventory works and I am no programmer. There are some issues with newer versions of Unity that seem to interfere with various things that earlier versions did not as I guess Unity has changed.

    I added an inventory and indeed in my instance I do Pause the game while the inventory is in use as otherwise in my case if I did not it could be the case that the Player would often die (be killed by enemies) before completing the inventory use say when needing to pull some health from the inventory when in a "Battle" scenario :)

    Some things that I have done to help with various issues are :

    I have added the Player "Unarmed" Weapon (Arms and Hands) to the Player. Something that you dont see in my Screen Shots (so that Umarmed is the default player weapon at each level start.) I have disabled all functions, sounds and so on on the Unarmed Weapon so effectively it does nothing and cannot "Shoot" or attack. For that I have a "Knife Weapon" Yes, which is good for use breaking stuff and killing enemies especially when they have their backs turned away from player and one blow from the knife kills ususally instantly if it strikes the enemy head!

    Now I use the "I" key to "Toggle" my inventory in display so perhaps you could Toggle your Player Weapons (or other) similarly when your Inventory is displayed.

    You perhaps might also be able to use the Player Hide Weapons feature/function to help (Toggle). I use this in various situations : Like get in and out of car so weapons are hidden while the Player is inside a Vehicle.

    I guess your issue is related to an apparent Unity issue I have which affects the Pause/Esc/Cursor/Pointer (select/click/drag) usage which has wide spread implications. To be fair it may be an issue with game devs like me not acommodationg the way Unity works and having various assets and code in their game which conflicts with that and I have many I am sure :)

    Sorry, I am no expert and hope that some of that may help or give someone, some ideas.


    OZAV likes this.
  20. petercoleman


    Feb 21, 2016
    While I am here on another note, here a quick up date on HEARTS OF COLD progress for you :

    At the moment I am in a relatively good place having completed the latest round of updates, Backed up the project and re-published the game and backed that up too for safe keeping.

    I am currently playing through the game levels and making notes on anything needing further attention. Now to cut a long story short I could spend another 5 years updating and extending what I have but thats not going to happen and I suspect that Game players would rather see time spent on Episode 2 rather than endles updating of Episode 1. One could I guess always Upgrade the whole later if life would allow :)

    Anyway the only major level work that could do with some effort would be the end level of the Moon sequence "Lunar Adventures level 27 the last one. Screen shot attached of the current level as it stands. I have added some more content here - which is not really representative of what it may end up looking like, as I am not at all happy with this currently as a Moon "Landing" site and have an inclination to do something more based on concepts in my consideration which would be more appropriate. All content in this screen shot may be removed and or simply moved to another location in the level and or disabled for the time being....Currently this is just not inkeeping with the rest of the game quality and something must be done about that :)

    The Moon is a big place and needs a big Terrain so one can fly and otherwise move around and this level is currently composed of the crater area shown here situated in a Unity terrain of 2000 units sq. This is extended all around with an additional 8 terrains of 2000 Units sq so its a big area in total allowing for sensible amounts of gameplay....

    Once my current testing of the latest published game is complete I will again run through all levels in Unity Editor and fix any critical issues if any I find that must be done and then concentrate once again on this last moon surface level.

    To Update this Level will require my buying some additional assets and I dont have a budget for that at the moment (May is an expensive month!) so doing so is not a good idea but we shall see if the world is kind in the near future :)


    Anyway thats it for now, Happy Game Making all.

    closetgeekshow and OZAV like this.
  21. JC_LEON


    May 20, 2014
    thanks for your reply and explaination Peter.. but i think is something realated to the dedadzone pivot the dont align correctly when fps weapon object is setactive again..
  22. JC_LEON


    May 20, 2014
    btw i solved the issue with the hideweapon bool on my inventroy script and i think i manage it in an elegant way.. here a video of my first pass inventory integration in rfps 1.45 thanks Peter and Tony for the hints
    OZAV and TonyLi like this.
  23. developerconnexus


    Jun 16, 2022
    I am facing an issue with RFPS, that I am unable to enable RFPS Main Player after sometime. Because all of scripts uses Start function if I convert them on OnEnable function it still shows me errors.
    is there any solution?
  24. JC_LEON


    May 20, 2014
    is there a way to have wall avoidance in rfps .. i meam.. i know rpfs camera prevent weapon clipping into wall due to the use of a dual camera system.. but is there a way to make weapons to lerps on wall when player is near wall?

    i mean this

  25. OZAV


    Aug 9, 2013
    ... ... the healthy as is, happy, and creative ... madness ... of the RFPS, and it's enjoyment, for the dev's and gamers - never stops. You know you are the best, when you are: right at it :). RDA-OZAV Chopper At NY.png
  26. SickaGames1


    Jan 15, 2018
    Ahh.... RFPS... The system that doesn't make you keep repaying for itself year after year like another highly sought after FPS system ;)
    OZAV likes this.
  27. OZAV


    Aug 9, 2013
    ... again ... new Unity versions, beware everyone (just sharing today's horror, so we all keep reporting - whatever it awaits to 'finish executing'). Hopefully ... that not be the Unity user :). Unity-2020'es-Editions-Loading-Scenes-Forever.jpg
  28. petercoleman


    Feb 21, 2016
    Hi Everyone,

    HEARTS OF COLD progress...

    I continue to Update the Game and re-published it today.

    Currently testing specific levels in the latest published Game to check a couple of important fixes have been corrected and they have which is good.

    I will need to again Play all levels and list any defects of any kind...thus far found one change of skybox which is not fading in correctly and one level where Esc does not display the In Game Menu which has a return to Main Menu button which is not critical as such as the F6 key returns the player to the Main Menu at any time if needed. Still these and any other fixes will be done.

    I have been updating the visual display/quality of the game while working on all the other things and have changed the relevant content a number of times in an attempt to find the best compromise of display resolution and visual quality with respect to the impact on performance for game Players in consideration too of the included Game Settings Options Menu for providing a range of control for different Players computer hardware.....

    This proves to be quite difficult for me as my changing the Game default settings display/quality of the game relative to my own hardware which limits the overall quality I can display myself while developing is limited. i.e. I cannot dev the Game in Editor for test run in editor at the Highest possible quality/display as I would grind to a halt :)

    In the published game therefore the overall quality for the end Game Player will clearly be a compromise between the range and volume, and quality of content included by me in the game and the hardware and settings they can or have to choose in the Game Settings Options Menu when displaying that content for best quality/performance options choices. Nothing new in that.

    Anyway I must get on but in the mean time here are a couple of Screen Shots of the Main Menu as it stands to keep you going :)


    Main Menu Interface : Screen 1


    Main Menu - Screen 2 : Level Thumbnails : Load an Individual Level to Play.

    Note :
    Start Game Button Loads the First level which is not displayed as a thumbnail choice.
    There are 3 Level Thumbnail Screens displaying a total of 26 fully playable level thumbnails (27 Levels in Total).

    Kind Regards

    OZAV and closetgeekshow like this.
  29. closetgeekshow


    Jun 6, 2014
    Wow Peter this game looks pretty amazing and huge, I can see why it's taking some time to get just right.
  30. petercoleman


    Feb 21, 2016
    Hi closetgeekshow,

    Yes putting the effort in pays dividends in the end.

    It is looking very good visually now and depending upon how an end user plays their games, the levels are quite large, varied and complex with potential for quite a lot of gameplay. By default I tend to use the game level designs together with essential Player collectables and Characters of course to do my best to ensure the gameplay can last as long as possible or in some cases perhaps infinite where in some levels there are always enemies around which can extend the Play time as long as the Player can gather enough health and ammo to survive :)

    Levels and Gameplay is varied and one learns how best to find and use the available health, weapons and so on to best advantage in each scenario. Lots of Health and ammo about but you have to use it and a little brain power wisely in some instances and know when to stay calm and when to turn on the reaction with more aggression or you can quickly find you have passed away :) The Game environments are quite interesting so scope for some pleasant time relaxation too just looking around.

    Today I spent 12 hours testing published game levels and making more notes. I did not find any critical issues that need fixing as yet but more levels to get through yet. I listed a small number of minor things I was not happy with but will fix them if I am able. Considering quality and lighting and so on well its almost impossible to get that near perfection as it depends upon so many factors including the end users hardware and monitor and so on but its looking pretty good to me on the two monitors I have though they also vary considerably one from the other in their display and rendering.

    I hope that my next publish will be the last before probably Updating as said the final Lunar level to a more complete one.

    After that I will need to update my game "Credits" list to bring it up to date.

    I will post some more screen shots at some time taken from the actual Published game rather than inside the Editor.

    Not sure I will ever get it right but I am doing my very best under given circumstances :)

    Here's Menu Screen 3.


    Thats all for now folks


  31. petercoleman


    Feb 21, 2016
    HEARTS OF COLD progress...

    OK Here's where I am at the moment....

    Working on/Testing : Settings, Quality, Lighting and Performance in published Game.

    I have been through all levels to give all levels consideration of the same and I am relatively happy.
    All levels now use a single (the same) Post Processing Profile throughout I am happy with so I have some consistency as my benchmark.

    Here is a Screen Shot from the level Future City Approach which makes a good Desktop Background to keep me going :) Bear in mind that the Game Settings used here are not set at maximum for quality and the screen resolution is set at 1360 x 768 so there is scope for users with good hardware to bump up the quality considerably.


    I need to stop and backup the Game Project again shortly as a matter of urgency but for now firstly in the Level, "The Leaving" I discovered that my Player leaving Earth sequence which is complicated has messed up (again) so I have to fix that first and republish the Game again just to ensure that works correctly before backing up the whole project.

    That's all for now


    Last edited: May 8, 2023
    closetgeekshow and OZAV like this.
  32. OZAV


    Aug 9, 2013
    Hello, RFPS crowds, how are we.
    Today, we are reporting another overwatch (and oversight) issue for you who (at any level) integrate any Chat GPT, or OpenAI asset to: "do and check some code for you". Our first advice is: not so fast. Our second advice is: think twice, and 10 times before you do it and before you spend on it. The third advice is, always report around, every isue experienced, if you already 'use' it around. So after our initial tests with the (about) 3 openAI and GPT (current) assets - here are some current results, on the effectiveness of it all:
    -Usability - less than 10%
    -Assistiveness - less than 10%
    -Time saving - none (only adds to to the endless set of problems and time loss, currently, as is)
    -Disconnects are always present, for every code task that is longer than 50 lines, so you have no chance currently to get edited-finished any larger script that way.
    -Overall assessment: currently (in their 1-st generation of the such GPT (AI) assets, untill their gen. 5, at least (or when you see it integrated as a default function in Unity): save your money on smaller (and all other types) of useful assets that will make your progress actually: faster. Report by - team and staff at: OZAV Intnl, main intnl HQ, at: 10-05-2023. Happy devleoping, everyone, while we all, here, at the RFPS academy: always do know what is going on :). Chat_GPT-NOT_SO_FAST_GENTLEMAN.jpg
  33. JC_LEON


    May 20, 2014
    hi i'm doing some test to change default character and i managed to make it to work correctly

    but in 3rd person mode i have strage issue as you can see in the picture


    basically when the player clone is spawaned on the scene the torso mesh is duplicated with othe original one and is some animations my player has 2 torso mesh

    I noticed that the original marine mesh is disabled on runtine when player clone is spawned so i suppsed there is a script or command that specify one or more mesh do be not displayed ..but i cannot managed t ofind it..

    any hint??
  34. petercoleman


    Feb 21, 2016
    Hi JC_LEON,

    Not sure if this is of any help :

    It was so long ago I did this that I cant even remember exactly what i did. I have many versions of my Player.

    As far as I can remember you don't need to use the original Player Soldier Mesh at all so it should not be relevant.

    You should back up your original install and or Player ("MAIN") for safe keeping before doing anything then make a copy of the Original RFPS Player to use and make sure you break the prefab instance and not edit the original at all. Of course I think you would need to use a new Player Model which has the same Default Skeleton set up and so on as the original which probably follows the Unity defaults so as to keep compatibility with the RFPS defaults.

    I should think you could use your copy of the original and just disable completely the original meshes adding your new meshes to the new set up (Model) and copying all scripts and components on to your new mesh(s) as appropriate to match the original set ups. That would include weapons and so on if you use the original ones......

    Something like that anyway :) as long as you have a backup of RFPS, your project and the Original Player (Main) then you should be safe to go back to them....

    What might also help with safety would be to Make a copy of the original - break the prefab instance then rename it to something obviously different and save that as a new prefab entirely before doing anything. Test it and see if it works OK - then keep that safe and again make a duplicate again break the prefab instance and rename that one and save it as a 3rd prefab and work with that to start making changes to create a new Player Character entirely....

    As far as I am aware RFPS does not care what Models (meshes) one uses as long as they are compatible and match all the other original Players contents e.g scripts, components and so on.

    Looks to me from your screen shot that the mesh used is perhaps not compatible or the Models Avatar is not correctly set up. They need to be humanoid |I should think. Perhaps you might be able to use the original Player Model Avatar and so on if you are not doing so and make sure you back that up too and anything else you may wish to edit :)

    Sorry that may be of no help at all.


  35. petercoleman


    Feb 21, 2016
    Hi Everyone,

    HEARTS OF COLD progress...Taking a break for the moment....

    If I go quite I am working away...

    I have been still working on quality, lighting and performance and going around in circles somewhat having pushed my computer to its limits and running out of options to find the best compromise. As I go I have also been updating whatever I can that I see I can improve on the content and dynamics and game play without it taking forever....

    Having pushed my system to its limits I would be interested in what kind of computer systems users, devs or just game players around here have and if they are any lower end than mine? if anyone cares to comment :)

    Here are my specs so you can see what I am working with and up against :

    Device name LAPTOP-S5IMH832
    Processor Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2.70 GHz
    Installed RAM 8.00 GB (7.87 GB usable)
    Device ID 26157F93-5C0F-488F-A6B0-FBC13ED08260
    Product ID 00325-95994-53952-AAOEM
    System type 64-bit operating system, x64-based processor
    Pen and touch No pen or touch input is available for this display

    Drive C : SSD : 464 GB Free 291 GB
    Drive D : 931 GB : Free 606 GB
    Video Card : NVIDIA GeForce GTX 950M : 4 GB VRam
    System Ram : 8 GB DDR4
    Computer : Acer Aspire F15
    Second Monitor : Huawei 24"

    Great System but way under powered for a project of this magnitude.

    Unity : A pain in the butt but nothing would be done at all without it :)

    Kindest regards

  36. OZAV


    Aug 9, 2013
    The such specs seem to be optimal for Unity use ... so you can write that one off, while Unity is friendly to even much lower-end systems as well, as we all know. Have a look perhaps into: a newest asset downloaded and it's" .FBX models, and reflection probes that come with the demo scenes, if so. Than: all reflection probes in project as well (checked each by their sizes, as a view list in windows explorer, listed by the size), and simply removing the enormous large ones from the project. than baked area light maps in a scene (to try turning them off and see). On the directional light(s), the most common mistake also is: using the hard shadows instead of soft or medium, and the shadows strength when set at 1 (full), instead of (for ideal performance) never more than 0.7 for the shadows strength. This is valid for all lights, that ever get made and used around, in a scene, or as a prefab. Also, if your newest-added asset(s) came with the more than 2 reflection probes at the demo scenes content folders: delete all except the only first one on the list (ending with the name suffix 00) usually. So, from 01, to 10 x+ - delete all of them, from the asset demo scene resources folders. If you feel that something is 'riding' heavily your system out of the sudden, these are some good ideas, and also in the Textures folder of the such newly added assets, the .tga files and .psd files do that a lot, due to their enormous sizes, and most of the such textures being made on the lower-end Unity's which in the newer ones 'rides' the system heavily, for some of the such (mega-extension) texture files, so the conversion of all the TGA and PSD texture files first - is always recommended - down to .PNG, and .JPG and than ditching out the .TGA and .PSD, where ever posssible, after that, especially for the projects that use more than 50 different assets, if we want to save the time and sanity. And to avoid such abomination-large extensions of textures 'riding' the system heavily, at any given time that is. They, and reflection probes mega-overuses are only needed by the dev's who sell the assets to look the best at the time of sale, but that be it, considering that once converted to (much better performing and much smaller) .png or .jpg - the models don't lose much on the looks, at all. Also, perhaps to consider a complete re-import as well, which we all hate the most. These are some of the good practices, to whatever-degree needed, proven it helps to protect the system and graphics form being 'ridden' heavily. :).
  37. SickaGames1


    Jan 15, 2018
    I thought there was a new RFPS coming out :) The guy left and never came back LOL.
  38. JC_LEON


    May 20, 2014
    thanks Peter for your time and explaination.. but i solved by myself

    simply needs to put the mesh render i dont want to show in tps mode in the unattached objs field in the player character script

  39. JC_LEON


    May 20, 2014
    as far you know anyone used an foot ik syste mfor the player in rfps?
  40. SickaGames1


    Jan 15, 2018
    Does Final IK or something like that work?
  41. ProBrStalker


    Aug 20, 2017
    Analyzing better now, the problem may be in your character's rig or in the third-person weapons game object, it's been a long time since I've worked with RFPS, since I joined the army
  42. petercoleman


    Feb 21, 2016
    Hi OZAV,

    Thanks for that. Yes. All of the above is good advice :)

    Though I have optimized much of much of my game content as you refer too there is still some further work I can do with various additional optimization yet if I wish to do so at the end of project dev before a release.

    I am still updating and fixing "details" improving whatever I can and re-publishing and testing each time...about half way through updating levels after the last publish version.

    The Game is almost done with only the Last level the Lunar Surface requiring additonal content/level dev.


    OZAV likes this.
  43. JC_LEON


    May 20, 2014

    i tried with several foot ik solution on the asset store but no one worked with rfps player character
  44. petercoleman


    Feb 21, 2016
    Hi Everyone,

    HEARTS OF COLD progress...Its been a while so here's a quick update

    Still working around 12 - 16 hours a day at this :)

    I have made some quite major changes to "Environmental" considerations so as to improve the overall visual appearance largely in regard to the open world areas. e.g. Removed volumetric fog, removed Global Fog, Removed all fog related scripts from all Player cameras and replaced with new system. This has also improved performance to varying degrees relative to each individual level.

    Continue to Update and add level content and at added one new building and contents.
    Adding more NPC's as and where I feel a need. Fixing errors and issues.

    Spending some time on improving civilian, ally and enemies behaviors and particularly the More advanced TSAI enemies......

    That's all for now except for a screen shot from in game play showing some action for a change :)


    More to follow ASAP.


    OZAV likes this.
  45. OZAV


    Aug 9, 2013
    ... for our quick update, at 17-06-2023: for the RDA framework, RFPS based, as is, we have just added some grenade launcher and flame thrower from the 3D Maesen older assets (FPS Weapons) pack, and it seems to be working fine, by just copy-and-paste from existing RFPS weapon and only changing the model and tweaking the WeaponBehaviour script and weapon anim positions... So much can be done and is more than enough to add any weapons, by the default futures of the WeaponBehaviour script already, so we find that it's more than you need, for that task, actually. The major issue remains that if player is riding a vehicle and flying, boating, etc, the menu can not be activated untill player exits the vehicle first, So currently, we are working arund that, for the best approach solution, while is not affecting critically published (or to-be yet published) RDA sequels, whatsoever, but the better and more complete menu option and management is being sought as we speak, mainly due to the ... too minimalistic apereance of the default main menu at it's default stock solution :). RDA-New-Tank-MissionMap_01.jpg
  46. petercoleman


    Feb 21, 2016

    Hi Everyone. It's been a while and I have been extremely busy working on the game so heres an update....

    What have I been doing then? :
    Updated all levels, backed up and re-published numerous times.

    Most importantly recently, I have been concentrating on updating the last level of Episode1 : Lunar Adventures...
    Updated the landing Zone (Screenshot attached) adding new buildings. Offices, Living quarters and the inevitable food growing Lab all with contents...

    I have also added as you can see in the screen shot to the left a new vehicle - a driveable Rover Buggy (car) so that the Player can get around the Moon without havig to walk everywhere in a vast terrain unless of course you want too. The Buggy has a top speed of 180kph and a high torque so can surmount quite steep slopes.

    I have added two new Zones and added some content to them :
    1. What is likely to become a Mining area which could be a considerable undertaking to complete at the end of the day.

    2. Importantly I have added a Space Port area with some content : Buildings and a Ship (Space Craft) which will allow the Player to get on board and leave the Moon on the start of its journey to Mars. Shortly after taking off the game will end and load the Game Over level. That is all functional so the Game can now end correctly.

    What have I left to do?
    Play the latest published Game from start to finish and check for issues or fixes that MUST be done if any.

    Further Update the Last level Lunar Adventures : It is Under developed currently with just a few few Characters walking around doing, well nothing much.

    1. I should add Numerous Characters with interactions and alike to the landing Zone
    2. Add to the Mining Area content and add Game Play Characters. Civilians, Allies, Enemies
    3. Add to the Space Port Area and add Characters and Interactions. At a minimum the Mars Take Off Ship should have some people inside who would "Pilot" the ship, as in the case of this ship the Player is an internal bystander :)

    4. Update the Lunar Landscape with terra forming, additional texturing, detail and so on.
    5. Following the above the whole level would need re-baking.
    6. Update the Game Credits.


    Now as long as I can find no critical show stopper errors the above list of things to do could be optional and as I can now as far as I am aware Play the game from start to the end leaving of the Moon so I could in theory instead....

    Re-Publish the Game to the last update as of yesterday.
    (as long as I move the Player to his correct location to start the Lunar level)

    Release the Game.

    Update/Upgrade the game following Release.


    Screenshot as promised. Here you can see I believe for the first time the Player arms and hands (Unarmed)

    bandicam 2023-07-05 08-25-23-166.jpg


    OZAV likes this.
  47. petercoleman


    Feb 21, 2016

    Hello all...I have continued to develop and update the last level Lunar Adventures and now have the basic content complete.

    3 Zones : Landing, Zone The Lunar Mines and Take Off Space Port.

    There is quite a lot going on with a decent amount of content and quite a few dynamic objects and Characters populating the scene....

    Its a big place and I could add more Zones however it is already pushing the limits of what my computer can handle performance wise in some location situations, this given that there is currently only just 1 enemy character in the level all other existing characters being external bystanders at idle, or walking around and alike albeit some of which the player can interact with.....

    All buildings really need to contain some interactive characters some of which should speak to the player for best gameplay....

    I had republished it earlier today and performance is better in the published game....

    Its looking good thus far...

    I am not done Yet :)

    I will continue to update for a while and push it as far as I can whilst looking to maintain or improve performance.

    I am coming to the end of this and will move on to final tweaks and preparation for release as soon as I am able.

    Anyway thats all for now, except the screenshot which shows a corner of the Lunar Mines.


    Kindest regards

    OZAV and Franciscotx56 like this.
  48. OZAV


    Aug 9, 2013
    ... hello, RFPS community. With the tomorrow's - the 29-th (as an another success) birthday of our sport & humanity org, we at the OZAV Intnl share our recent conversation with the AI (for everyone's deep reading) on the current state of Unity and other game engines, and some important points to have in mind, regardless the technologic-similar platforms as well. With our celebration at our multimedia studio dept, of our another org. success birthday: enjoy the reading, everyone :).
    Last edited: Aug 4, 2023
  49. petercoleman


    Feb 21, 2016
    Hi Everyone,


    A quick update and screen shot.

    I have been very busy of late working around the clock on the game dev.

    The Level Lunar Adventures has proved to be hard work and I had to revamp or recreate some of the game dynamic elements like the Moon Buggy, Elevators and had some problems with the initialisation of some characters "Patroling" towards the end of the level. All sorted now.

    I have also in effect added a further level as I have changed the Game Over (level) to be something more that a Game Over screen as it were and it has become Game Over where the Player character (proper) existing in the level can walk around inside a Space Craft which is on its way - destination Mars! This is where Episode 2 of the Game will start is it ever gets made. Upadated and added the Game Credits. You can see this in the attached screen shot.

    I have a Published Version of the Game to date of Today which is to all intense and purpose complete.

    What have I left to do? I will update any final things I am aware of I should do and put together a release version as soon as I can.

    If anything heaven forbid should go wrong then the Published version of Today will do the Job :)

    The Screenshot :

    Kindest Regards

    Baldinoboy, TonyLi and OZAV like this.
  50. OZAV


    Aug 9, 2013
    The RDA - Hospital Horor, another RDA playable sequel, coming soon to Itch.IO, where we publish all the RDA playable sequels, as the only way we adopted for publishing it, as a game. The works on RDA - Hospital Horor sequel did not stop, only the change to newest version of unity has been causing the unspeakable loss of time and usability of Unity, as we all know. The news is also that from now on: the save system is also available by the recent integration of 'last-save-point' system by Pixelcrushers. Hang, on, and we are doing our best, working around the issue, and to get it out, at Itch.IO, at least for 2023, in the addition to our other available RDA sequels already available on the Itch.IO. The team & members, at OZAV Intnl, at: 04-Aug-2023. 26 March 12.32.26pm(829x604)Capture.png
    Baldinoboy likes this.