Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Core GameKit! Pooling / Spawning / Combat

Discussion in 'Assets and Asset Store' started by jerotas, Jan 27, 2013.

  1. Yawarshah

    Yawarshah

    Joined:
    Nov 2, 2015
    Posts:
    13
    @jerotas I am facing unity cloud build issue like:

    UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.

    Can you please help me out.

    Regards,
     
    WhiteGfx likes this.
  2. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    We don't use Scriptable Objects. Figure out which other plugin "WelcomeWindow" is and contact that author please. They probably need to fix a bug. I have no idea.
     
  3. Yawarshah

    Yawarshah

    Joined:
    Nov 2, 2015
    Posts:
    13
    @jerotas thank you for the quick response.

    Here is the complete log:


    680: [Unity] UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    681: [Unity] Rethrow as TypeInitializationException: An exception was thrown by the type initializer for RelationsInspector.WelcomeWindow
    682: [Unity] Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    683: [Unity] UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    684: [Unity] Rethrow as TypeInitializationException: An exception was thrown by the type initializer for RelationsInspector.WelcomeWindow
    685: [Unity] Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    686: [Unity] UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    687: [Unity] Rethrow as TypeInitializationException: An exception was thrown by the type initializer for RelationsInspector.WelcomeWindow
    688: [Unity] Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    689: [Unity] UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    690: [Unity] Rethrow as TypeInitializationException: An exception was thrown by the type initializer for RelationsInspector.WelcomeWindow
    691: [Unity] Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    692: [Unity] UnityEngine.Debug:LogWarning(Object)
    693: [Unity] Player export failed. Reason: 4 errors
    694: ! build of 'default-ios-new' failed. compile failed
    695: publishing finished successfully.
    696: Finished: FAILURE

    As you can see its pointing out RelationsInspector.Welcomewindow. When I remove the relationsInspector, CoreGameKit throws an exception. (I may be wrong and it might not be related at all to core game kit so I apologies for that). Can you please look into it.

    Ps. Locally I can build the game perfectly fine but unity cloud build is having this issue. I am using Unity 2017.1.0f3

    Regards,
     
  4. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Well how do you get the error to happen? It doesn't happen for me in the new Unity. Does it happen in a new project? We can figure out how to remove RelationsInspector but we also need to also fix the issue after identifying how it breaks.
     
  5. Yawarshah

    Yawarshah

    Joined:
    Nov 2, 2015
    Posts:
    13
    @jerotas my humble apologies but I dont remember how the error occurred. Its being like 4-7 weeks since it started appearing. This specific issue only appears in unity cloud build. Locally I have no such issue.

    Everything was working just fine before. I don't exactly know which package clashes with the coregamekit and is the cause of the error. If you want I can provide the packages that I am using at the moment. But I doubt it will help you.

    Regards,
     
  6. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    If you gave me the list, I could install those that I own, but that's likely only a small percentage. I'm going to need you to narrow it down to a package that doesn't work right so I can have the Relations Inspector author fix it.
     
  7. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Hey Brian,

    I am using triggered spawners for spawning a group of animals with randomization option.Core kit is spawning them perfectly but sometimes it spawns them inside a stone , tree or even lake.

    So can triggered spawner somehow consider a layer or may be navmesh for determining the spawn positions which are not blocked or is this functionality is out of scope for spawner system(more towards AI decision making).
     
  8. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I would say it's out of scope. You could solve it easily by adding colliders to your things you don't want it to spawn inside and to the things spawned. That way if it spawns inside, the intercepting colliders will push them apart until they are not colliding. Although they may look weird getting "ejected". Could be fun, depends on what you want it to feel like.

    You could also add some way points and add some code to "find the nearest waypoint and move there instantly" that gets fires in OnSpawned method.
     
  9. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 3.2.7.3 is released! Changelog:
    • Bug fix: A killable dying that isn't in Pool Boss will not spawn up to the limit of its Death Prefab in a huge loop. As a result, many Killable methods that were void are now boolean. Your subclasses will need to reflect that.
    • Bug fix: Respawn Custom Events for Killable would not fire if your Respawn Delay was > 0 seconds.
    • Added "Initialize Time (Frames)" field to Pool Boss. Defaults to 1. Now you can configure how many frames it takes to create all pools. You can set it between 1 and the number of different prefabs you have in Pool Boss.
    • Added PoolBossListener with methods: ItemSpawned, ItemDespawned, PercentInitialized, InitializationComplete.
    • Added Universal Custom Event Receiver script with the option to do one of the following when a chosen Custom Event occurs: Despawn, Destroy (Killable), Deal X Damage (Killable).
    • Now if a World Variable Listener becomes visible later on, it will show the correct updated World Variable value immediately instead of waiting for the next change.
    • Added a peak indicator on Pool Boss. Shows the max number that were spawned of each item since you hit Play. You can click the number to reset it to zero. There's also a Clear Peaks button at the top.
    • Added ability to pad beginning of World Variable Listener display with zeros for a fixed number of digits.
    • Added extension methods for all methods in PoolBoss that take a Transform parameter so you can call them from the Transform with 1 less parameter.
    • Added PoolBoss.DestroyCategoryPoolItems and DestroyPoolItem methods, only to be used when loading a new Scene with a persistent PB.
    • Added shift up / down / clone level buttons to global Level config.
    • Added Level/Wave Sort button to Syncro Spawners so you can get the Waves in order of level/wave at any time.
     
  10. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Attention: Dropbox is dropping support for public links, so we have moved everything (API websites, documentation, downloads) to our new domain www.dtdevtools.com. All our plugins have a new version published with updated links. Please download the latest so as to avoid any dead links. This is important for Master Audio especially, since they help links in the Inspector will be pointing to Dropbox until you update.

    Thank you for your support!
     
  11. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Is there a way through code to spawn from a PrefabPool?
     
  12. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Of course. The PrefabPool class only has 1 or 2 methods, so it should be obvious how to begin if you looked at the API website. Maybe you haven't. Assuming you have a public PrefabPool prefabPool in your class and have assigned it:
    Code (csharp):
    1.  
    2. var randomPrefab = prefabPool.GetRandomWeightedTransform();
    3. PoolBoss.SpawnInPool(randomPrefab, vector3.zero, quaternion.identity);
    4.  
     
  13. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    Ahh, thanks. I had looked at the API (was pretty late at night) but I was looking at PoolBoss instead hah. Thanks, let me give this a go!
     
  14. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No problem!
     
    mimminito likes this.
  15. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Master Audio Multiplayer is on sale for only $30 (same as upgrade price from Master Audio)! Not sure how long this sale is on, but a great time to pick it up for very cheap. It's the ONLY multiplayer audio plugin for Unity, period. But yeah it's good.
     
  16. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 3.2.7.4 changelog:
    • Added option to spawners for "Apply Layer Recursively" so it's not on the top-level game object if you want, when you spawn things.
    • Bug fix: Restored the ability to create the first Level with a new project (dumb mistake, sorry).
    • Bug fix: If you pause a global wave and unpause later, the following timed waves will switch at the correct time, accounting for paused time.
    • PoolBoss check for "IsActive" slightly different now to fix another rare bug. Should not break anything though.
    • Added "timed to animation %" functionality to MechanimStateCoreCustomEvents.
    • Killable "Deal Damage Prefab Settings" changed to "Deal Damage Prefab Settings & Events" since there are more settings there now (Custom Events to fire when dealing damage).
    • Change: First item in a wave now spawns immediately by default instead of waiting for "time between spawns". If you still want a pause at the beginning of the wave, use the Wave Delay field that was always there.
    • Change repeat wave sections in both spawner types. Now there's a min and max limit for time and qty change, and checkbox to "reset" if limits are reached, meaning revert back to the original wave setting and start the increments over. So you can have something spawn 3,4,5,6, restart at 3 again.
    • PoolBoss has new checkbox for "Can Disabled Obj. Despawn" (defaults to false). If you need to be able to despawn a game object you have disabled, you must check that box. It is worse on performance because it doesn't only check "is the object enabled" so only use it if you must have the ability.
    • Added Level filter to Syncro Spawners so you can hide all waves not in that level.
    • Fixed: invisible unused selections assigned to non-existent World Variables for Killable would log to console.
     
  17. agito1987

    agito1987

    Joined:
    Mar 13, 2013
    Posts:
    27
    Hey

    I got everything working with the coregame kit
    But I get a couple of errors related to the world variables (Havent touched them so far).

    - IndexOutOfRangeException: Array index is out of range.
    - Unexpected top level layout group! Missing GUILayout.EndScrollView/EndVertical/EndHorizontal?
    UnityEditor.DockArea:OnGUI()
    - ArgumentException: Getting control 2's position in a group with only 2 controls when doing Repaint Aborting

    Anny idea what I could have done wrong?

    One of the errors in full:
    IndexOutOfRangeException: Array index is out of range.
    PreviewLabs.PlayerPrefs.Deserialize () (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/Utility/PlayerPrefs.cs:239)
    PreviewLabs.PlayerPrefs..cctor () (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/Utility/PlayerPrefs.cs:50)
    Rethrow as TypeInitializationException: An exception was thrown by the type initializer for PreviewLabs.PlayerPrefs
    DarkTonic.CoreGameKit.InGameWorldVariable.get_CurrentIntValue () (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/WorldVariables/InGameWorldVariable.cs:45)
    DarkTonic.CoreGameKit.InGameWorldVariable.set_CurrentIntValue (Int32 value) (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/WorldVariables/InGameWorldVariable.cs:60)
    DarkTonic.CoreGameKit.WorldVariableTracker.Init () (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/WorldVariables/WorldVariableTracker.cs:111)
    DarkTonic.CoreGameKit.WorldVariableTracker.Awake () (at Assets/Plugins/DarkTonic/CoreGameKit/Scripts/WorldVariables/WorldVariableTracker.cs:47)
     
  18. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Soun
    Sounds like there's a bug in my open/close Inspector section code, but I don't know how to reproduce it.

    Can you narrow it down to a particular world variable? And then go to Debug mode in the Inspector and send me a screen shot. Then I should be able to reproduce it. Debug is done by changing the dropdown from the small arrow in the top right of the Inspector.

    Also, was this while playing or in edit mode?
     
    Last edited: Oct 4, 2017
  19. agito1987

    agito1987

    Joined:
    Mar 13, 2013
    Posts:
    27
    ok you are talking to a coding noob here XD
    I removed the world variables one by one. Only when I delete all world variables most of the errors disappear except the one I had already posted in full.

    When I create a new variable all the errors are back.

    The error only appears when starting play mode and once when stopping play mode. It also disables the script on play, I guess that’s because I don’t use the variables?

    When I import a fresh levelwavesettings I get the same result.

    (Also I am on unity 5.5.1f1)
     
    Last edited: Oct 5, 2017
  20. agito1987

    agito1987

    Joined:
    Mar 13, 2013
    Posts:
    27
    Made a new project and no error.

    Just going to setup my basics again, so no big deal =)
     
  21. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Have you applied changes to the LevelWaveSettings prefab? It would always break if so.

    Try re-downloading from the Asset Store. You should never modify the installed LevelWaveSettings prefab. You should create a disconnected copy for your Scenes. Make a separate prefab from it.

    How are you "importing" a fresh LevelWaveSettings?
     
  22. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Hi Brian,

    While optimizing my game apk size i happened to see that triggered-spawners are saving Wave data variables for all the events(even tough they are not used) in the scene data file (opened scene in word-pad) which is causing scene size to increase.Just think if a scene has 20 odd triggered spawner how much unnecessary data is getting saved in each scene.

    Even checked this thing in the demo TriggeredSpawners scene for version 3.2.7.4

    Can you please tell why core game kit is storing all this data is it by design consideration or some bug?

    Thanks
     
  23. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    That was the easy way to do it. I can put it on the roadmap to try and set the unused waves to null.
     
  24. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Please check you inbox for send pm.
     
  25. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Happy Cyber Monday! Master Audio is on sale for half off, and the rest of our plugins are 30% off, for a limited time! Grab 'em while they're cheap if you don't already have them. Links in my signature.
     
  26. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    Hi, I face this problem with unity 2017.2 0p2 on cloud build. Build fail after 4 errors of the same type.
    Is solution exist for this?

    Thank you for your info

    Code (CSharp):
    1. 2264: [Unity] Begin MonoManager ReloadAssembly
    2. 2265: [Unity] GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    3. 2266: [Unity] See "Script Serialization" page in the Unity Manual for further details.
    4. 2267: [Unity] UnityEditor.EditorPrefs:GetBool(String, Boolean)
    5. 2268: [Unity] RelationsInspector.WelcomeWindow:.cctor()
    6. 2269: [Unity] UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    7. 2270: [Unity] See "Script Serialization" page in the Unity Manual for further details.
    8. 2271: [Unity]   at (wrapper managed-to-native) UnityEditor.EditorPrefs:GetBool (string,bool)
    9. 2272: [Unity]   at RelationsInspector.WelcomeWindow..cctor () [0x00000] in <filename unknown>:0
    10. 2273: [Unity] Rethrow as TypeInitializationException: An exception was thrown by the type initializer for RelationsInspector.WelcomeWindow
     
  27. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I have that same version of Unity installed and was able to do a PC Standalone build no problem. I don't use cloud though.

    What platform are you targeting? It might be a platform-specific problem.
     
  28. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    Hi, target is iOS. Yes iOS build to produce xcode project is fine, no problem. I dont know which plugin add Relation Inspector if AudioMaster or GameCoreKit?. I have installed AudioMaster and GameCoreKi (firts is installed AM and second GCK).
     
  29. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Master Audio and Core Gamekit both include the free version of Relation Inspector, used for different things.

    If it only fails in Cloud, I have no idea why....

    I could try and tell you how to remove it but it will be gone and you won't be able to use its features. Also, it will reinstall next time you update either plugin.
     
  30. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    How can I send you the full cloud log in private way? thx
     
  31. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Email at support@darktonic.com
     
  32. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    Thank you, log sent. I think that interresting part from log is about WelcomeWindow but coming from dll? Cant find the source to edit it.:

    Code (CSharp):
    1. 2285: [Unity] UnityEngine.UnityException: GetBool is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'WelcomeWindow'.
    2. 2286: [Unity] See "Script Serialization" page in the Unity Manual for further details.
    3. 2287: [Unity]   at (wrapper managed-to-native) UnityEditor.EditorPrefs:GetBool (string,bool)
    4. 2288: [Unity]   at RelationsInspector.WelcomeWindow..cctor () [0x00000] in <filename unknown>:0
     
  33. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    There is only a DLL, no source code, because it's the free version of RI. Can't have people going in and making it the paid version by removing a couple if statements.
     
  34. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    Hi I update the Relation Inspector demo from asset store. Cloud build now works, but Relation Inspector window report the null reference errors (even if unity is restarted), RI demo cant be used.

    So, RI version from your plugins works on local but fail in cloud build. Version from asset store fail in local but works in cloud. Both version have same change log. Im in the dead loop :(

    Version from asset store have no errors regarding scriptable objects, on this page is the fix and lso included in demo of RI. Maybe this will lead you to identify the problem?
    https://forum.unity.com/threads/rel...-your-project-demo.382792/page-2#post-3205741

    Let me know if you found the core of the problem, please.
     
  35. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I updated RI to the latest on the free version, and it still works for me. I don't get any errors. When do you get the errors? How to reproduce?

    I've updated both plugins to the latest RI and the next update will have the fix.
     
  36. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    I have installed GKC, AM and RI latest version from assetstore and when I open RI window this wil produce errors and window is empty. But cloud build works.

    Im using Unity 2017.2.0p2, OSX opengl 4.1, target iOS, 10.13.1 on macbook pro 2017.
    Any hints?

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. RelationsInspector.Workspace`2[UnityEngine.Object,RelationsInspector.Backend.CoreGameKit.PrefabEventType].Update ()
    3. RelationsInspector.RIInternal.Update ()
    4. RelationsInspector.RelationsInspectorWindow.Update ()
    5. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    6. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    7. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    8. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    9. UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:285)
    10. UnityEditor.HostView.Invoke (System.String methodName) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:278)
    11. UnityEditor.HostView.SendUpdate () (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:354)
    12. UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:127)
    13.  
    14.  
    15. NullReferenceException: Object reference not set to an instance of an object
    16. RelationsInspector.RIStateHistory.OnGUI (System.Action`2 setTargets)
    17. RelationsInspector.RIInternal.DrawToolbar ()
    18. RelationsInspector.RelationsInspectorWindow.OnGUI ()
    19. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    20. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    21. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    22. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    23. UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:285)
    24. UnityEditor.HostView.Invoke (System.String methodName) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:278)
    25. UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:245)
    26. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    27.  
    28. NullReferenceException: Object reference not set to an instance of an object
    29. RelationsInspector.RIStateHistory.OnGUI (System.Action`2 setTargets)
    30. RelationsInspector.RIInternal.DrawToolbar ()
    31. RelationsInspector.RelationsInspectorWindow.OnGUI ()
    32. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    33. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    34. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    35. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    36. UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:285)
    37. UnityEditor.HostView.Invoke (System.String methodName) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:278)
    38. UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:245)
    39.  
     
  37. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I didn't write RI and have no way to see the source either. So there's no way I would have any hints. However I also installed the latest and everything in RI works for me. I suggest you email me your asset store invoice PDF and get my latest beta. It will probably work for you too.

    Do you normally use the RI features?
     
  38. WhiteGfx

    WhiteGfx

    Joined:
    Apr 10, 2017
    Posts:
    16
    Ok I will send. RI - Not now, but who know if will work.
     
  39. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok, cool, then you're not technically blocked if you can actually close that RI window (you may not be able to though if it's spamming the Console). RI is working fine for me after the update.
     
  40. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 3.2.7.5 changelog (live in 20 minutes). Big update!
    • Possible breaking change: some method signatures in TriggeredSpawnerListener changed. Read the comments there if it doesn't compile for a simple fix.
    • Fixed bug: Adding an in-Scene game object to PoolBoss would lose the reference when the game object gets removed from the Scene.
    • Fixed bug: Enable event on Triggered Spawner would log errors to Console because it tried to spawn before PoolBoss was ready sometimes.
    • Fixed bug: Strict Time Style repeating on a spawner doesn't work (requires killing all?)
    • Fixed bug: Wave Settings and Prefab Pools had issues with cloned items not creating a separate KillerInt/Float. This means that adjusting the clone would adjust the original instead.
    • Fixed bug: Updated RelationsInspector free version (included) for bug fix on Unity 2017 Cloud building
    • Fixed bug: Wave Skip Criteria for Global Waves did not display the correct controls to make a valid limit.
    • Fixed bug: Clone global wave didn't copy Pause Global Wave on completion setting.
    • Fixed: there is no garbage collection during Despawn now.
    • Fixed: garbage collection issue in Pool Boss Spawn method. Add to readme that you should put PoolableInfo on any in-Scene objects to save on performance.
    • Fixed Fire Custom Event Custom Action for Playmaker (couldn't assign some Transforms).
    • Fixed display issue with Game Status Panel, now displays the correct wave number and level number. Also added new properties for this on LevelSettings that work properly. LevelSettings.CurrentDisplayLevel and LevelSettings.CurrentDisplayWave.
    • Change: Removed from API all "string prefabName" parameters since now the grabbing of prefab name is not doing any garbage collection.
    • Added "keepParent" parameter to PoolBoss.Despawn, defaults to false. If you specify true, the Game Object you are despawning will stay where it is in the Hierarchy, disabled. Useful for things that screw up when activated under Pool Boss (UI components come to mind). To respawn one of that Pool item in the same position, use PoolBoss.Spawn and pass in the intended parentTransform.
    • If you want Pool Boss to have better performance and register in-Scene game objects so that they can be despawned with "DespawnAllOfPrefab" and show in the spawned count, attach PoolableInfo script to your in-Scene objects.
    • Added extension methods to PoolBoss: OnLayer and WithScale. You can chain these with a Spawn call, like this: var spawned = PoolBoss.SpawnOutsidePool(ProjectilePrefab.transform, this.trans.position, Quaternion.identity).OnLayer(LayerMask.NameToLayer("IgnoreRaycasts")).WithScale(new Vector3(4,4,4));
    • Added icons for PoolBoss, Prefab Pools and World Variables in the header logo that shows in Inspectors so you can quickly navigate to those.
    • Added item count to Prefab Pools section for each Prefab Pool.
    • Added LevelSettings.FireCustomEventWithParam method. You would need to code your own Listeners to read this parameter, but it's now there to use. Retrieve param with LevelSettings.GetCustomEventParam method.
    • Created new Triggered Spawner V2 script. The old Triggered Spawner script is now deprecated. There is a button in the old Triggered Spawner script to migrate all settings into the new one. The old one had very bloated memory usage and the new one does not.
    • Added tool script on the Window menu to convert all old Triggered Spawners in the current Scene to V2 (see previous bullet).
    • You can now fire a Custom Event more than once a frame if its origin is different. Only for Receive Types that search same game object / parents / children.
    • Changed the default: Now NavMeshAgent components on Pool Items are not automatically enabled on spawn. There is a new setting for Pool Items with NavMeshAgent to make it work as before.
     
  41. BigDill

    BigDill

    Joined:
    Jan 1, 2013
    Posts:
    31
    Hi Jerotas,

    Love your Core GameKit and am using it for a new project. Was wondering if you could offer some advice? I have a bunch of game objects in a Spawn pool and a bunch of spawners (triggeredV2 and Syncro) what I would like to do is allow the game object prefabs to pick up some data from the spawners that spawn them. Before running the game you can see the objects reside as children of each spawner whic is great and just what I need. However, when you run these gameobjects will appear as children of the the poolboss gameobject or in the root of heirachy. I have looked into the API and found SpawnInPool but no option to direct the gameobjects to another location such as the original spawner. I have scripts on the gameobjects that seek a spawner parent to ensure that specific data can be past to them at runtime and this can noy be precached I am affraid and Transform.find will be to slow at runtime. I am looking at your API again and found this (SpawnedFromObject) which might help but I really need to know the spawner before being spawned hence the need fpr a spawner to continue to parent the gameobjects. Do you have any ideas?

    P.S. Reason I can't use the pre runtime status is due to script execuation order issue with Unity and Awake functions. SORRY!
    Thnks Dan
     
  42. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Know the spawner before spawning? No, I have no ideas for that. SpawnedFromObject is just a property you can set, but you can't set anything on a disabled (despawned) object, which everything is at the beginning.
     
  43. BigDill

    BigDill

    Joined:
    Jan 1, 2013
    Posts:
    31
    Ok, Thanks for such a fast response. Been digging in your spawner scripts and there are a lot of references to the spawner object do you have and Get and Set Accsessor? Also found a reference to "AddSpawnTracker" what is this? It looks like it stores information about this.Spawner? Can I use this funtion somehow?

    Thanks

    Dan
     
  44. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    It's just a reference to a Syncro Spawner held in the Spawn Tracker component. I wouldn't advise using it manually. Killable has a RecordSpawner method which might be what you want. And you can read it with the SpawnedFromObject property.
     
  45. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 3.2.7.6 is released! Changelog:
    • Fixed the "Upgrade All Triggered Spawners to V2" script to just find all Triggered Spawners in the Scene. No longer limited to your selection in the Hierarchy. There was no good reason for that, you're going to need to upgrade all of them anyway.
    • Fixed bug: Repeat wave delay still waits and the end before switching to next wave with "until variable above / below" when the variable is already above / below.
    • Fixed bug: Global Wave & Level Settings had issues with cloned items not creating a separate KillerInt/Float. This means that adjusting the clone would adjust the original instead.
    • Fixed bug: Collapse All button on Triggered Spawner V2 actually deleted the wave settings instead of collapsing them.
    • Fixed bug: Custom Start Level would log an error if you were going to a level with only 1 wave and it wasn't the last level.
    • Fixed bug: Spawner visualization clones would log Killable events to the Console just before being destroyed when you hit play if they were already colliding with something.
    • Fixed bug: Seconds Remaining would be incorrect after pausing and unpausing the wave.
    • Fixed bug: Pausing and unpausing 2 different waves would end the 2nd wave later.
    • Change: Now the Delay Wave (sec) field for spawners is not used by default on wave repeats. There's a checkbox to use it for wave repeats though if you want the old default. This is because there's already a Repeat Pase in the Repeat Wave section.
    • Changed Global Wave Duration (seconds) setting to one that allows usage of a World Variable value. You will not lose your old settings if you click the "Copy Durations" button in the Inspector that shows up if you haven't use it before.
    • Changed "Self" to "Value" for all number fields in the blue source dropdown.
    • Added a "Bonus Prefab" section in Global waves, so you can now spawn a prefab from the location of the last item killed in each Elimination wave.
    • Added a WIIU check to not use our file system faster PlayerPrefs on that platform since it doesn't work.
    • All fields using Killer Variables' values instead of self "Value" will now show the current value at runtime there in the Inspector.
    • Added a Wave Name Filter to the Global Wave section. You can type a partial Wave Name and it will filter out all waves not matching your text.
    • Added the ability to copy/move waves from one Syncro Spawner to others in the Inspector.
    • Triggered Spawner V2 method "SpawnWaveItem" now has an extra paramter, so if you're subclassing it, add it so you can compile again.
    • Triggered Spawner V2 now supports elimination waves! Each wave has a new field called "Wave Completed When", with 2 choices: Items Done Spawning (default) and Items Eliminated. If you choose Items Eliminated, the Pause Before Repeat will start as soon as all items spawned from the wave are destroyed.
    • Added section in each wave of Triggered Spawner V2 for Wave Elimination Bonus & Events. It's used to fire Custom Events and add World Variable Modifiers when the wave is eliminated, if Elimination is chosen for "Wave Completed When" in the new option above.
    • Now all lists of Custom Events have a delete button next to each event instead of only being able to delete the last one.
    • Added WaveEliminated method to TriggeredSpawnerListener and the Playmaker one.
    • Added ORK Framework integration (Pool Boss only) optional package in the 3rd Party Integrations folder.
    • There's now a list of unused spawners in the Global waves section so you can pick one from the list and add a wave quickly from there.
    • Added a delete button for each spawner (wave) in Global waves section as well for quick deletion.
    • Added a display of either time remaining or elimination spawners remaining for the current wave on the Game Status Panel during runtime.
    • Added a section to global elimination waves to also wait for a number of Triggered Spawner Elimination Waves to finish. First you turn on "Use Triggered Spawners". Then you select each Spawner and Elimination Wave from it in a dropdown. You must make the wave spawn before it can finish obviously, through whatever means.
     
  46. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Small but important update. V 3.2.7.7 changelog:

    • Added Makinom integration (Pool Boss only) optional package in the 3rd Party Integrations folder.
    • There's now a Core GameKit online documentation website with links from each Inspector to the appropriate help page (green question mark icon). The readme file is now 2 pages.
     
  47. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    235
    So I have a bug that is only present when I use core gamekit to spawn them. If I manually place normal zombies throughout the level (or use the Maneuver's fps kit's wave system) the zombies will have no issues. It's only when I use core gamekit to spawn them, do these zombies appear invisible until I'm close to them. Again, this only happens when I use core gamekit's triggered spawns. Video for show:

     
  48. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I'm not going to be able to figure out why. I don't own that plugin. You will need to ask the author why it might happen. If I were to guess, it turns things invisible when they become disabled, and pooling systems do just that when prefabs aren't spawned yet.

    We can provide a voucher for CGK to the author if it helps and we can also answer any questions about CGK.

    Who made the zombie scripts?
     
    Neviah likes this.
  49. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    235
    The triggered spawn makes them, so that's not a problem. It's after i run from them, they're not visible (but you can see their hp bar still moving toward me), until I'm close again.

    This is the asset: https://assetstore.unity.com/packages/templates/systems/manoeuvre-fps-uzai-mega-pack-109880
    This is the author: https://forum.unity.com/conversations/add?to=walledcityinfotech

    I appreciate the help. Sincerely.
     
  50. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Again, I didn't make the scripts on the zombie prefab so I wouldn't know how to fix that. You'll need to ask the author to assist you.