ARK Dev Kit 321.1 is now available from the Epic Games Launcher.
This brings the editor up to date with version 321.1 of the live game
- Updated structure graphs for reference to mods that were impacted by a recent change realted to structure access. BPOverrideAllowStructureAccess
- Fix for vivox crash
ARK Dev Kit 320.1 is now available from the Epic Games Launcher.
This brings the editor up to date with recent live game updates, including recent TLC content.
- Curve timeline visibility has been fixed
ARK Dev Kit 313.1 is now available from the Epic Games Launcher.
This brings the editor up to date with recent live game updates.
- The Uobject limit of the editor has been increased by ~8 million
- A fix for the landscape visibility tool crashing when landscape splines exist
ARK Dev Kit 312.2 is now available from the Epic Games Launcher.
This update should resolve any upload issues that mod authors were having as a result of the steam workshop IDs exceeding the max value of int32.
Some additions of note with this update:
- Crystal Isles content (NOTE: The CI map is not permitted to be reuploaded. It is provided in the devkit for reference and functional interaction of its components)
- 5th Anniversary Content
- Summer Bash Content
- A batch of new event dispatchers have been added focusing around the gamemode and gamestate.
- Added workshop upload support for “Unlisted” visibility
- Anim notifies can be forwarded directly to equipped armor slots much like was previously done with weapons (Check out the sunglass skin item and the sunglasses animations for example of how to use it)
- Performance Throttled Tick - another variation of throttled tick that processes actors in batches that scales with server performance
ARK Dev Kit 310.1 is now available from the Epic Games Launcher.
This update brings the kit in line with the Genesis content and is up to date as of version 310.11 of the live game.
I want to remind everyone that reuploading the DLC maps is not permitted, these maps are provided as tools for seeing how we did various things and as points of reference for map extensions. If you want to modify an existing DLC map, use map extensions.
As a side note, it came to my attention that while you will be able to make new missions, right now they will only run on the Genesis map. This is something I hope to address soon.
ARK Devkit v**304.1 **is now available for download from the epic games launcher
This is a minor update to resolve some cooking issues that some mods were experiencing when cooking the linux files.
ARK Devkit v**304.0 **is now available for download from the epic games launcher
This is a full binary & content update that brings the devkit in line with version 304.4480 of the live game.
If you happen to get any warnings/crashes when trying to launch the devkit… go into your devkit files and delete the engine/binaries/ and the engine/plugins/ directories and then validate.
Also a word of note regarding recent anti-meshing and mod compatability. if you find that one of your meshes is triggering antimesh and killing players when you don’t want it to do so, on the StaticMesh itself, set the **CustomTag **property to be IgnoreAntiMesh
ARK Devkit v**297.2 **is now available for download from the epic games launcher
This update includes the content released with the Valguero update.
This update also includes several fulfilled community requests:
Re-enabled the UObject counter in the editor.
Added Git Plugin
Added JSON object library.
Added blueprint interface for anonymous communication between mods.
Added helper functions for:
Searching for creatures by ID.
Retrieving filtered class lists.
With the UObject counter being re-enabled it should now be easier to tell when approaching the ~24 million UObject limits of the editor.
Tutorials and explanation of the JSON library and mod communication interface are in progress, but to put it simply, the combination of these two systems will allow mod authors to define and call mini-APIs in their own and others mods without the need to have their source files.
JSON objects can be created using the CreateJsonObject function
The git plugin is another option for source control, the addition of this plugin means that mod authors using git will have an easier time working with their source control within the devkit.
Helper functions for creature IDs include:
- GetDinoIDsAsStrings A function that returns the IDs as strings with their true uint32 representation. This function is primarily intended for display purposes.
- GetDinoIDs A function that returns the IDs as int32.
- FindDinoCharacterByID A function that will use the int32 versions of the IDs to search for a creature in the world.
And lastly, a function has been added that will return an array of all classes that derived from a specified parent class. GetAllClassesOfType
This update includes the easter content and brings the editor up to date with client version 295.102.
There was a change to the dodo and oviraptor character BPs as well that resulted in some mods that have children of these classes causing crashes. Simply cook your mod with this devkit version and the crashes should be resolved.
This update also has an increase to the engines UObject limit (only in the editor!)
Some very large mods were prone to hit this limit in the editor, potentially causing them to lose the ability to edit their mod files at all. We have doubled to limit in the editor to give some breathing room but it is something that mod authors should be aware of if you are going to be making large mods.
The editor itself uses a lot of the same base classes that the game does, the UE4 editor UI is even built using slate. This means that every UI element is a UObject at its core. Those elements count against the UObject limit of UE4. every node in every graph too.
Unfortunately, there is not currently a way to see your current UObject count or the limit (Which is now ~24 million UObjects)
Things like making sure that you actually remove unused BP logic from your graphs, and optimizing code to use fewer nodes where possible can go a long way to helping make sure that you keep far away from this limit.
ARK Devkit v294.2 is now available for download from the Epic Launcher!
And an optional DDC package is available for download from **here. **( MD5: bed1d7ecb2fb75cc62f74c91c021f520 )
v294.2 already includes a minimal collection of cached files to replace many outdated ones that come packaged with the devkit in the current epic launcher version. On disk, it will only amount to an additional -/+ 8GB. This should help with the difficulty many are having with out of memory crashes resulting from attempting to compile cached files on a system with limited resources.
The optional DDC download will add an additional 6GB of file cache for the devkit covering maps and blueprints.
This update includes the kibble rework and Homestead update content.
The new mod uploader also makes its return. To use the new mod uploader ensure that steam is running and that you are signed in, otherwise the devkit will fall back to SteamCMD. Setting tags will not work with SteamCMD uploads.
The Ark Devkit v288.0 patch has been uploaded to the Epic Launcher!
This update has a bunch of fixes in place for issues that were discovered from the manual updates. and finally the TLC2 and extinction content is available from the Epic Launcher version.
This update resolves some of the issues that were divered in the 287 update. Please note that currently map cooking is still not functioning properly with this update and is currently being worked on.
This can be extracted over the epic launcher installation. This update includes all content up to and including the Extinction DLC.
The ARK Dev Kit v280.0 was not added to the epic launcher but all content within is included in the v287 content diff.
Extract these files over the ADK installation. This is a content diff that includes everything from the “TLC Phase 2” content to the ARKaeology event content. The ARKaeology content also has some useful graphs to show how the event content was set up.
The ARK Dev Kit v278.0 update patch is available on the Epic Launcher.
Extract that on top of your Epic Launcher ADK installation and you’ll be good to go. It includes all of the “TLC Phase 1” content and functionality, as well as the Mods\Ragnarok map!
The ARK Dev Kit v276.4 has been deployed on Epic Launcher! This includes the “ARK Aberration” content, though please do not post the Aberration map itself on Steam Workshop as we consider that part of the Expansion Pack itself. It’s included in the DevKit purely for study purposes. There are many new rendering and functional gameplay features in the Aberration map and game content, so please explore and learn from it!
**9/22, v270.1: **
In addition to the Tek Sword, Tek Shield, and Tek Light, the v270.1 includes several features notable for modding:
Structures now have a “bAbsoluteTakeAnythingAsGround” property, which can allow them to attach to any surface. See its use in the TekLight.
Powered Structures now have a “bFuelAllowActivationWhenNoPower” property, which allows them to use a fuel as an alternative to Electrical Power. See its use in the TekLight.
PrimalItems now have an “event” style networking system similar to the Multicast or Net Exec Command system for Actors (in fact it’s an exact duplicate of the Net Exec Command system), useful for sending arbitrary events associated with a PrimalItem from Server to Client or Clients ---- or from Client to Server! Note that for Server-to-Client messages, it will only work on Equipped Items, unless it’s an Item in your Local Inventory or within an Inventory UI you are currently looking at (since otherwise the Client doesn’t know about such items). This system is used for replicating certain network events associated with the TekShield item.
**9/14, v268.8: **
The ARK Dev Kit v268.3 has been deployed on Epic Launcher! Note, if you are only making Mods (not TC’s) and want a faster Play In Editor time, clear out the arrays in “Blueprint’/Game/PrimalEarth/CoreBlueprints/BASE_ExtraResourcesContainer.BASE_ExtraResourcesContainer’”, and save that. The DevKit will then only cache a much smaller fraction of game classes into memory upon starting up PIE (no Dinos, etc).
The ARK Dev Kit v264.0 has been posted to the Epic Launcher! Note for map-authors: there is a new “SimpleSky” system used in the BP SkySphere, and non-TrueSky (SimpleSky) AtmosphericFog settings in use on TheIsland, PGARK, and TheCenter – which you can copy over to your own map for some great looking outdoor fog that is designed for the non-TrueSky rendering!
This version has major functional additions useful for Mods, including PrimalItem “CustomItemDatas” finally fully working, with save and load support. Here are two examples of it in use in Blueprint:
For storing custom “meta” Player profile Data in the “Implant”, and then processing this data to generate a dynamic description text: Blueprint’/Game/PrimalEarth/CoreBlueprints/Items/Notes/PrimalItem_StartingNote.PrimalItem_StartingNote’
For storing and retrieving an entire Dino serialization (via a Byte Array Object) in the Bee Hive!!!:
With this functionality, you can write, network, retrieve, and process any custom data in your PrimalItems. Including storing entire Dinos or Object serializations if you are inclined (such as a “Dino Item Trading” Pokeball style Mod). Just remember, you must fill in a “blank” array literal when making the CustomItemData struct, as you’ll see in our examples (kind of annoying Blueprint limitation which we’ll change later). (Similar DinoData functionality is used to save the DinoData for “Cloning” within the Cloning Chamber: Blueprint’/Game/PrimalEarth/Structures/TekTier/TekCloningChamber.TekCloningChamber’ )
Furthermore, Base Mods and TC’s can now specify a custom PrimalPlayerData Blueprint class, as you’ll see BASE_PrimalGameData now does. This PrimalPlayerDataBP (in our case ) gets a bunch of events for when a player spawns or creates a new character, and can have its own SaveGame variables. It is effectively the “meta” profile data for an individual “account” on your server, and you can use it to generate and save persistent gameplay information for that player’s account which that you can apply when they create a character, or on login, to do whatever you want! We use this in ARK to store the “Ascension” meta information, for example, and a record of what Bosses the player has defeated, all done in Blueprint. Note that a new PrimalPlayerData instance is generated whenever a player creates a “NEW” Survivor, of course!
Also, you’ll notice more global lighting editable tweak options (such as “SM5SKyLightMultiplier” and “SM5DirectionalLightMultiplier”) in the WorldSettings, which you can preview in “real-time” by running the “reattachlighting” co
nsole command when you change the values
Finally, note that you can now specify variables to be ReplicatedInitial, and then still have them replicate when changed via the “MulticastProperty” option in the variable’s Set action (may not work for all Variable types, but works for most). Finally, as a new feature, any “pre-placed” Map Actor can have Multicast Functions called on it, even the Actor itself is NOT Replicated!
Have fun, and happy modding!!!
The ARK Dev Kit v255.5 has been posted to the Epic Launcher! In addition to the new content’s BP functionality, v255.5 also fixes Blueprint Execution Traces to properly report the callstacks during Blueprint debugging.
v254.x includes the latest released content, such as TekTier and the new Dinos, which includes powerful new Buff features and functions (highly recommend looking at the Tek Rifle and Tek Saddle Buff, as well as perhaps the other Tek Buffs). Also, there’s a new Hair system, and hairstyle meshes can be added by Mods via “AdditionalHeadHairStyleDefinitions” and “AdditionalFacialHairStyleDefinitions”. I will upload the source model files for our initial hairstyles soon, so you can see how we set ours up if you wish to make them dynamically growable like ours!
Furthermore, Items can now store, write and read, and initialize with arbritrary Custom Data arrays – which automatically replicate to clients – using these functions:
UFUNCTION(BlueprintCallable, Category = “Item”)
bool GetCustomItemData(FName CustomDataName, FCustomItemData& OutData);
UFUNCTION(BlueprintCallable, Category = “Item”)
void SetCustomItemData(const FCustomItemData& InData);
uint32 bUseBPGetItemNetInfo : 1;
void BPGetItemNetInfo(); //you can optionally use this if desired to modify an in-game Item Object’s customdata in preparation for immediate replication. However, be careful to not do toooo much processing here, as this function is called very often.
uint32 bUseBPInitFromItemNetInfo : 1;
void BPInitFromItemNetInfo(); //you can use this to handle “initializing” the object from its NetInfo as the Item Object is being reconstructed on the client and server. Specifically, if you wish to do any custom processing from the Custom Data array, this may be an ideal place to interpret the data.
uint32 bUseBPInitializeItem : 1;
void BPItemBroken(); //this is called immediately before an item actually Initializes into the World. You can do any final processing based on customdata here before it exists in the world, sets up its in-game mesh attachments, etc.
v253.0 has powerful new functionality associated with the 5 new Dino’s and new Camera weapon. But even more importantly, it has the first round of community-requested features added, listed here:
(Also note that in 253.86, in addition to a mod-stackable PrimalGameData LoadedWorld event, PrimalGameData now has a TickedWorld event as well! You can use the World object as a context for IsServer() checking too if you want to only do server-side logic there.)
ComplexMinded can help go into these new features in more detail if you get in touch with him on Discord. Good luck and happy ARK modding!!! Each DevKit major update going forward will add/improve more community-requested features (the ones we agree with in any case ), so keep 'em coming!
This build includes all of the v252 content, and some of the notable DevKit functional changes to this build include:
Action Wheel entries can now have a “Category” integer specified, and you can also have a wheel entry navigate between Category entries by calling ShooterPlayerController.SetMultiUseWheelCategory() on the Client’s BPClientDoMultiUse. See the Moschops as an example of this. You can also specify Colors for enabled Action Wheel Entries now too. Using Categories and Colors allows much more organization of complex Action Wheel entries for your Dino and Structure Blueprints, and for example we’re looking forward to reorganizing all the AI commands under this new system.
Extra Option to “stream” in “Far” map sublevels, for large memory and performance gains (but reduced visual quality & draw distance).
— To improve performance, all levels with “Far” in the name will now stream dynamically (based on their Level Bounds and a distance of 40000 units) unless the end-user has set “” to true in their Options. So FYI on your custom maps, if you really want a sublevel to always be loaded, don’t put “Far” in its name!
There is a new dino base BP " Blueprint’/Game/PrimalEarth/CoreBlueprints/Dino_Character_BP_Nocturnal.Dino_Character_BP_Nocturnal’ ", which can be inherited from to implement Nocturnal Dino functionality ala the Megalosaurus.
The ARK Dev Kit v248.9 has been posted to the Epic Launcher!
The big change in v248 is support for Procedural ARK Generation, and indeed custom Procedura ARK Generator Blueprints which end-users can use!
To try out the Procedural ARK Generator in the DevKit, open the “PGARK” level, and then select the “SimpleTerrain” Actor in the level, and check the “Generate” property on that actor in the map (to do it again, click “Clear” and click “Generate” again). Make sure your Preview viewport is in “Real-Time” view mode in order for this to work. To use a larger terrain preview size (takes longer to generate), set the “Preview Size” property of the Terrain Actor to 6144 (that matches the in-game terrain size).
To test out your customized Procedural Generator Blueprint, set the “Terrain Generator Template” property of the TerrainActor that is placed within the level to “Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’”, and then you can edit/add whatever values you like within “Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’” and “Blueprint’/Game/PrimalEarth/CoreBlueprints/TerrainGenerators/SimpleTerrain_BP.SimpleTerrain_BP’”.
For example, in my Super Rocks Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’ (end result here: http://steamcommunity.com/sharedfile…/?id=785098977), I just added a high-probability large-scaled “Ultimate Rock 5” foliage to the “Grass” entities array (“Grass” and “Trees” entities arrays are for Grasslands, the rest are obviously named). To then experience your values in-gameplay (rather than just viewport preview), you can save it in the map and try PIE, or load into the map in standalone play via “Engine\Binaries\Win64\UE4Editor.exe ShooterGame -game”.
Once you’re happy with the results, to Cook your custom TerainActor & Generator, just cook “TerrainGeneratorOverride” as a ‘Cook Island Extension’, like so:
Then to actually Use it in-game via Steam Workshop, just activate it like any other Map Extension (as described here http://steamcommunity.com/sharedfile…/?id=785098977 ).
Any new Editable float, integer, or vector variables that you add to your custom TerrainActor or TerrainGenerator can automatically be dynamically-modified by the end-user via their INI’s “PGTerrainPropertiesString” string (as further described here: https://survivetheark.com/index.php?..-how-to-guide/ ). So you can make your Generator BP highly customizable by the end-user (even though you can’t modify the UI for that, yet, they can change all the values via the INI string!).
Note that Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’ is a Child of the base Terrain Generator Blueprint (Blueprint’/Game/PrimalEarth/CoreBlueprints/TerrainGenerators/Simple_TerrainGenerator_BP.Simple_TerrainGenerator_BP’), so you can override its individual functions such as Paint() or Decorate() in order to apply more customized logic (you can copy/paste the contents of those functions from the base BP, or reparent it to a duplicate of the base BP and modify that directly – the generator’s per-pixel logic is almost 100% blueprint driven so you can really create entirely unique generation rules if you’re ambitious!). To simply alter what entities spawn and where, however, can be done via the many obviously-named Entity/Spawner/Biome Arrays within “Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’”.
We also recommend that you give yourself a unique number for the “Version” property in Blueprint’/Game/Mods/TerrainGeneratorOverride/Simple_TerrainGenerator_BP_Child.Simple_TerrainGenerator_BP_Child’, such as 3493441 or whatnot that is unique to you, and increment it by one each time you release an update for your generator. This will clear existing savegames for your generator, and force the map to discard old \GeneratedMapCache cached files – very useful because any significant changes to the generator would likely crash old savegames/cache data.
Have fun, we’re looking forward to seeing what better looking, better-populated, and even better dynamically generated ARK’s that modders can devise using this system!
IMPORTANT Fix for macros on 248.7 after Epic Launcher installation. Download the file below and place into:
Note: due to changes in v247, there will be a long one-time shader compilation & texture rebuild that can take a very long time. This will only occur once, and will be eliminated upon this content being deployed via the Epic Launcher.
v247.8 New changes include:
- Mods’ PrimalGameDatas now have stackable “TheNPCSpawnEntriesContainerAdditions” array, which can be used to Add Dino Spawns to specific Spawners!
- Mods’ PrimalGameDatas now have stackable “AdditionalDinoEntries” array, which can be used to add Dino Entries to correspond to new Dino classes!
- Mods’ PrimalGameDatas now have stackable “AdditionalBuffPostProcessEffects” array, which can be used to add new buff postprocess materials for your Mod’s Buff classes to use!
- Mods’ PrimalGameDatas now have stackable “RemoveEngramBlueprintClasses” array, which can be used for your Mod to remove pre-existing Engram Blueprints (if you want to, for example, remove base-game Engrams)!
All latest PC content thru v247!
ScorchedEarth content!! I highly recommend reviewing all of the Dino Blueprint logics. There are massive amounts of new features for dino behaviors and huge amounts of new general Blueprint functions & variables, as well as new Buff & Weapon functionalities. The ScorchedEarth map itself also has some very interesting Blueprint functionality that interacts with a new Blueprint DayCycleManager.
TheCenter and TheIsland map updates
Note: Any reuploads of the ScorchedEarth map itself to Steam Workshop will necessarily be banned. We’re providing the ScorchedEarth map for learning purposes and for modders to re-use its assets in other Mods.
v245.9 New changes include:
PrimalGameData Mod functionality new properties:
RemoveEngramBlueprintClasses: Mods can now easily Remove Engrams from the game by adding them to the “Remove Engram Blueprint Classes” array in the Mod’s PrimalGameData. This is useful for Mods that wish to, say, remove certain original Engrams for balancing reasons. This array automatically stacks between Mods.
TheNPCSpawnEntriesContainerAdditions: Dinosaur spawn entries can now be ADDED to the map’s NPC Spawners without having to completely override the NPC Spawners. This allows stackable Mods to automatically combine to add more kinds of Dinosaur spawns into the map. This is done via the “NPCSpawn Entries Container Additions” array in the Mod’s PrimalGameData, and here’s an example of it in-use: http://steamcommunity.com/sharedfile…/?id=736597852
Mods will now also automatically cook any NEW assets which they reference, regardless of whether the assets are located in the Mod directory. Note that this only works assets that you ADD to the SotF Dev Kit, not any assets which are already there by default.
Lotta new Item Properties:
UFUNCTION(BlueprintCallable, Category = “Item”)
void BPGetItemID(int32& ItemID1, int32& ItemID2);
UFUNCTION(BlueprintCallable, Category = “Item”)
bool BPMatchesItemID(int32 ItemID1, int32 ItemID2);
int32 BlueprintAllowMaxCraftings; //limits the number of times you can craft a blueprint, after which the blueprint is automatically destroyed
Also have a look at these Blueprints for examples of neat new functionality:
This is an awesome example of what you can do with custom structure interactions via Blueprint, the entire Industrial Grinder functionality is done 100% thru Blueprint:
And the Fishing Rod is also done 100% thru Blueprint!
The Allosaurus’ Pack Buff logic is done entirely thru Blueprint:
And Flyers now have the option to allow landing on Water:
7/6 ARK Dev Kit v243:
Have a look at an overview of the many changes here: https://forums.unrealengine.com/show…ev-Kit-v243-91
Be sure to have a look at the new Persistent Buff/Disease system (there is capability to save & modify custom metadata variables with the Diseases for long-term multi-stage effects, I’ll work up an example soon) ala Blueprint’/Game/PrimalEarth/CoreBlueprints/Buffs/Buff_SwampFever.Buff_SwampFever’ and Blueprint’/Game/PrimalEarth/CoreBlueprints/Items/Consumables/BaseBPs/PrimalItemConsumable_CureLow.PrimalItemConsumable_CureLow’, as well as the Buff-driven capabilities of the Leech (Blueprint’/Game/PrimalEarth/CoreBlueprints/Buffs/Buff_Leech.Buff_Leech’, Blueprint’/Game/PrimalEarth/CoreBlueprints/Buffs/Buff_Leech_Diseased.Buff_Leech_Diseased’
Blueprint’/Game/PrimalEarth/Dinos/Leech/Leech_Character.Leech_Character’), the complete Blueprint-driven AI states of the Dragon Boss (including spline following patterns and Blueprint state attack/condition logic), and the multi-Seat setup of the Diplodocus!
Be sure to have a look at the Lystrosaurus to see how to use Blueprint Multi-use Entries for customized interactions with a PrimalDinoCharacter, as well as the Bola to see how you can extend Weapon functionality and Blueprint and do more with Buffs in Blueprint, including overriding whether they can be applied and attaching additional visual effects and even interacting with the Bola buff through Multi-use entries (Buffs can add more multi-use entries to a character)! Also note, “Override Exact Class Crafting Requirement” can now be set on Items if you want that Child class to explicitly force itself to allow being used in place of a Parent Class crafting requirement (i.e. Meat classes, though in v240.6 we have now defaulted Meat to have this enabled by default so you actually shouldn’t need to update your Mods).
Have a look at this new Blueprint to see how the Cannon’s functionality is implemented ENTIRELY within Blueprint:
And these new Blueprints control the Boss Arena functionality, an example of how you can design advanced map/area functionality through Blueprint:
**The Dev Kit also includes support for exporting Font assets for localization, as described here: http://steamcommunity.com/app/346110…91147595258499 **.
Have a look at the new Electric Shock prod item for an interesting example of single-use weapon setup and also how to have a DIFFERENT Repair cost than Crafting cost. Also have a look at the Gallimimus for an example of multi-seat (Passenger) Saddle setup
Btw, stay tuned next week for the introduction of our new in-house full-time Mod Community Liason, along with new ARK Mod Community initiatives!
- Here’s an example of a stackable Map Extension which adds Raptor Claus back into the game, as an example for reference of what you can do:
- Here’s an example Mod which adds a 3-Seater Passenger Saddle for the Trike. In case, say, someone wanted to make cool Passenger Saddles for all the Dinos
Source: https://drive.google.com/file/d/0B0d…ew?usp=sharing (fixed Passenger sitting animations now!)
v228.6 Note: You now have the option of clamping the user’s render cull distance in your TC’s PrimalGlobals, useful for competitive game modes like SotF. (to prevent players from setting the view distance too low)
Hey, just updated the GitHub devkit binaries. Will get them updated into the Epic Launcher soon. Here are the source files for the Pandora Isles ( http://steamcommunity.com/sharedfile…/?id=584076324 )“Map Extension”, by the way, which shows you the file structure (the map goes in Maps\TheIslandSubmaps, while any custom assets go into your Mods\ModName folder):
Note that you can now include a PrimalGameData in your Map Extension “mod” just by having any “PrimalGameData” asset in your Mod’s subfolder. That includes if you want to use a custom PrimalGameData in your map extension. And remember, any custom assets referenced by your Map Extension must be in the Mods\ModName subfolder that you will be cooking your Map Extension with. A Map Extension can not reference assets used by other, separate mods!
Cheers and have fun!!! So close to next Mod Contest announcement now
Big new modding feature added to ARK Dev Kit v228.2 is the “Cook TheIsland Map Extension” option. A “Map Extension” is, effectively, a set of sublevels that either adds-to or overrides regular “ARK” sublevels (or ‘TheIsland’ persistent level). Simply specify the sublevel names (or TheIsland if persistent) that you wish to cook and click the button (the sublevels should be located on your disk in Maps\TheIslandSubmaps\YourSublevelNamesWhatever.umap)!
As examples, this could be used to override “PersistentGameplaySublevel_DinoSpawns” and completely change the existing spawn zones (or override “PersistentGameplaySublevel_SupplyDrops” for the supply drops), or add new spawn zones by adding an additional “Uncategorized” (always loaded) sublevel of whatever name, or add Floating Islands to the map (as I’ve done here in 1 minute dev time: http://steamcommunity.com/sharedfile…/?id=584076324 ), or add new weather systems (if someone doesn’t make a Tornado environmental mod, then I will have to do so ), NPC shop trader roaming the ARK, world geometry, you name it – if it’s related to the ARK’s environment, THIS is how you effectively can heavily customize or add to it with very minimal dev time & download size + full stackability. This is similar to the functionality environmental mods have in Skyrim, for example.
Map Extensions are technically a “mod” (so it optionally can include a custom PrimalGameData as well as custom assets in the “Mod\ModName” subfolder) and will list in the “Mods” section in-game.
You can apply a Map Extension along with any other stackable mods as normal (and even with other Map Extensions, though the first environmental extension on the list takes precedent with regards to overriding a map). We encourage all Map Extensions to say "Map Extension: " in their title and to list which sublevels they add or override (as done in the sample here http://steamcommunity.com/sharedfile…/?id=584076324 ), to help end-users avoid Map Extension stacking conflicts.
Hope you all have fun with this, and remember… Tornado/Dynamic Weather Mod… pleeeeeeeeeeaaaaaaaazee
New ShooterGameState BP functions (remember you can also inherit your GameMode/GameState from CustomGameMode and CustomGameState respectively for even more implementable functions):
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “GetCustomActors”), Category = “Utilities”)
ACustomActorList * BaseGetCustomActors(FName SearchCustomTag);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “GetAllControllers”), Category = “Utilities”)
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “GetAllPlayers”), Category = “Utilities”)
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “GetAllPlayersOfTeam”), Category = “Utilities”)
TArray BaseGetAllShooterCharactersOfTeam(int32 KillerTeam);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “GetAllNPCsOfTeam”), Category = “Utilities”)
TArray BaseGetAllDinoCharactersOfTeam(int32 KillerTeam);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “IsTribeID”), Category = “Utilities”)
static bool BaseIsTribeID(int32 TeamId);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “ProjectWorldToScreenPosition”), Category = “Utilities”)
static FVector2D BaseProjectWorldToScreenPosition(const FVector& WorldLocation, APlayerController* ThePC);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “SpawnBuffAndAttachToCharacter”), Category = “Utilities”)
static APrimalBuff * BaseSpawnBuffAndAttachToCharacter(UClassBuff, APrimalCharacter PrimalCharacter, float ExperiencePoints);
UFUNCTION(BlueprintCallable, meta = (FriendlyName = “DrawTileOnCanvas”), Category = “Utilities”)
static void BaseDrawTileOnCanvas(AShooterHUD* HUD, UTexture* Tex, float X, float Y, float XL, float YL, float U, float V, float UL, float VL, FColor DrawColor);
UFUNCTION(BlueprintCallable, Category = “Helper”)
static bool BPFastTrace(UWorld* theWorld, FVector TraceEnd, FVector TraceStart, AActor * ActorToIgnore = NULL);
Buffs now have this bool:
if a buff sets that, it’ll call this implementable function whenever the dino’s floating hud is drawn (when close to the dino), which you can use for the buff to draw custom floating HUD graphics:
UFUNCTION(BlueprintNativeEvent, Category = “Buff”)
void DrawBuffFloatingHUD(int32 BuffIndex, class AShooterHUD* HUD, float CenterX, float CenterY, float DrawScale);
Also v222.6 adds some new options for Total Conversions in the PrimalGlobals Blueprint:
bTotalConversionShowUnofficialServers: this will make your TC show “Unofficial” Servers by default (since most TC’s except for SotF do not have Official Servers ). Defaults to TRUE
UIOnlyShowMapFileNames: This is an array of filenames (no extension and not case sensitive) for Maps to list in your TC’s Host Game UI. If your TC includes and only supports a custom map, then you’ll want to add it to this array. If there are entries in this array, then all installed maps are shown.
UIOnlyShowModIDs: This is an array of Steam Workshop ID’s for your Total Conversion to support. If there are no entries in this array, all Mods will be shown at the Host Game UI. If there are any entries, only Mod ID’s in that array will be shown. If you want no mods to show, just add one entry that is an invalid ID like “0”
Thanks all, and keep up the great work!
All the best,
Jeremy “Drake” Stieglitz