CCG Toolkit | Multiplayer Card Game Framework

In my opinion this is the most awesome thing on the marketplace.

It’s like anyone can make a Hearthstone in a matter of days.

Instabought it the day it went out (or few days later to benefit from the promotion) and I just saw this thread.

I wanted to tell you GG, big GG and thanks.

GL HF for your future projects everyone :slight_smile:

anyone figured out how to discard cards from hand and move them to graveyard without messing things up?


Hello everyone!

The Cyber Monday Sale](Massive Marketplace Cyber Monday Sale Announced - Marketplace - Epic Developer Community Forums) on the Unreal Marketplace is less then 48 hours away and the CCG Toolkit will be on sale for a whopping **50% off! **

With update 1.2 right around the corner, I am really excited to finally be releasing the Card Game AI framework, new ability examples, and many more framework improvements on top of the already massive list of features. If you play your cards right, now is definitely the best time to pick up the toolkit and beat the price increase by getting the update for FREE once it is released, with 50% off its current price.

If you are on the fence and do not know whether the toolkit is right for your next creative project, email with any questions and we can see if the toolkit is right for you.

Happy Dev-ing!

The CCG Toolkit is now on Sale! 50% off for 24 hours only during the massive Cyber Monday Sale event!

awesome job !
One question: is there the source code with plug-in?

Thanks brad4ever!

EVERYTHING you see within the toolkit has been made with Blueprints and many other features within the engine! You get everything from the example assets and abilities, in-game position editor, deck creator, all the way to the finite framework pieces of the toolkit at your disposal. All you will need to do is create and open the project and you’ll be ready to go! :cool:

thanks for the quick reply but I’m asking about the source code mainly for one reason: if I need to extend the code base it’s obviously needed the source code … or even if you will stop to making upgrades for any reason .
The plugin contain source code ?

Ah I see! Let me clarify. The toolkit is a purely blueprint project, so this does not contain any specific C++ or plugin related code. The toolkit has been scripted through blueprints which are all available for you change, expand, adapt, or even move into C++ if you wish. So yes! the source code is provided, however this is in the form of blueprint classes for anyone who has the engine :slight_smile: Unreal engine source is also freely available to all users. Hope this better answers your question! :slight_smile:

Perfect ! Many thanks

Hi there, . First of all, thanks A LOT for this great plugin, you’re a lifesaver! Can’t wait for the 1.2 release.

Now you’re probably already aware of this issue if you’re working on UE4.14 compatibility, but anyway here’s my little contribution to bug squashing. When opening the project “as is”, without adding anything, I get one compiler error in OpponentUI.

Log notice:
LogBlueprint:Error: [Compiler OpponentUI] Error Can’t connect pins UIParent and self : Card Manager Reference is not compatible with Self Reference.
LogBlueprint:Error: [Compiler OpponentUI] Error Can’t connect pins self and UIParent : Self Reference is not compatible with Card Manager Reference.

And here’s a picture:

I’ve tried stupidly casting but that doesn’t solve the issue. I hope this helps :slight_smile:

Hey Ventura!

Thanks for letting me know you have seen this. I am working on the update and 4.14 bug fixes as we speak :slight_smile: Some recent engine changes brought in a few interesting issues like the one you raised. Thankfully by removing the self references everything should still work as intended. I will cleanup this code for the update so it is no longer needed and doesn’t pop up for anyone on later engine versions.

You may also notice:

  • The opponents card positioning may not be positioned correctly (A lot further down the screen then normal). This is due to an broken/corrupt collapsed graph when setting the Y Offset value. (I have fixed this locally)
  • Dropping card on a placement requires the user to click on the placement after releasing the mouse button. I am still trying to find the change which caused this, but a simple workaround so far has been to add a simple “Release” event in the player controller and not relying on the touch Input even to fire.

If you come across any other issues that I have not mentioned in 4.14 or the project in general please let me know. Thanks again!

****. I wish I knew this happened last week. Can you tell Epic to put it on sale tomorrow so I can buy it cheap? Ha.

That said, I did drop some questions that I have prior to purchase into your support email.

You should now see a reply email in your inbox!

I just brought this kit and I’m impressed but I have a few questions regarding it.

  1. I’ve never played hearthstone or Magic the Gathering but I’m told this toolkit is similar to those games, are you suppose to be able to attack the opponent directly regardless of whether they have cards on the board? If so Would it be difficult to change it so that you can only attack the opponent when they have no cards left on the field or is this something that would require an overhaul of most the blueprints?
  2. I think its a bug, but when I’m testing this from a blank project the second players screen doesn’t show the card placement areas- have I forgot to set something or is this known?
  3. Is there any gamepad support too or is this currently purely mouse and keyboard? I’m assuming mouse and keyboard because I havent seen otherwise but I thought I’d ask incase I’m just ignorantly missing it.
  4. What future plans do you have for this project? I wanted to make an offline single player mode by this kind of AI is way out of my league, so I was wondering if you planned on adding AI? If so I think it might be better for me to wait until the kit is updated before I start editing it since UE4 doesn’t have any options to automatically update a projects contents.
  5. Lastly, is there any plan to add in some sort of ‘card pack’ feature, so that players are rewarded with random cards they don’t/do already have? Again if so I’ll wait until the kits updated.

All in all this toolkit seems to be a big time saver and great learning resource for someone like me who doesn’t know how to make CCG’s.

Hi Malibu Lizard!

  1. This is the intended behavior out of the box. The gameplay example setup was intended to showcase the features without many restrictions in relation to this. But in saying that, this can easily be done! A simple check during the “Run Card Interaction” for how many cards the player has on the board can stop this interaction from being triggered.

  2. This is a known bug, however it is more an engine limitation then an issue with the toolkit unfortunatly. Slowly I have been improving this with some workarounds each update but it is still not perfect and hard to track down. The issue is simply when the second player is joining a game while playing through the editor. The engine is not completely setup to handle joining games through the editor. If you build a standalone client or start the game with 2 client with the arena already loaded in the editor, it should all work correctly. If this is not the case and this occurs in both of these options then please let me know via the support email linked and I will try and work out the issue.

  3. Correct, No gamepad support. The Toolkit does support a mouse and keyboard and/or touch devices.

  4. Your in luck! I am finalizing the documentation for the next toolkit update which largely features AI. It has been a challenge to make adaptable for many card games, while still making it customizable and detailed enough to not be absolutely horrible to play against or develop for. I feel it now has the right balance so I am excited to get this out for everyone!

  5. Card packs are something that may be added in the future, but I do not have a definitive date on what the plans are for this. I can definitely give direction and pointers on how this can be done. Data table limitations within the engine have had this a little more messy to work with which is why it has been put off for the time being.

Overall, the next update will definitely give a lot more value, with a ton of improvements, changes, new abilities, etc which may affect some of your questions from above. In the meantime, feel free to continue looking and experimenting with the toolkit and how it has been built. The overall flow will still remain the same.

Thanks for the great feedback and thoughts on the toolkit!

I wasn’t expecting such a quick a detailed reply! Thank you very much. That’s all great to hear, I guess I’ll wait for all the extra content option before I really start making changes to the toolkit! For now I guess I’ll get busy in photoshop designing cards and UI.
I’ve got another quick question; I haven’t tested this yet myself because I’m a bit busy lately but how does the toolkit handle the board being filled up with cards? Is there a certain limit to the amount of cards that can be in play at a single time? I imagine from the placement tiles that it may be limited? If it is, how have you handled issues such as someone playing a card that clones iteself as the last card on the board?
Thanks for the reply and the pointers to how I can achieve specific things. I wasn’t totally sure if you were even still supporting this item as the youtube video was quite a few months old! I really like what I’ve seen so far and I can’t wait to see the workings of the AI, both in game and as blueprint script or C++! It will definitely be very interesting!

No worries at all!

The maximum number of cards is only limited to whatever you set on the placement. If a placement is full and you place a card that clones itself, it will look at the placements “Left” and “Right” placements linked (If it has any) and will place the cards there instead, pending approval for the card being supported based on its card type of course. If there are no valid placements, then the additional cards wont be spawned. There are several functions which have been created (and updated in v1.2) to handle checking if or what placements are valid to make this a a lot easier to handle.

On a more technical side, the placements themselves do not really reject card being placed and can in theory hold an infinite number of cards past its max. They only know once its reached its maximum capacity and set itself as being full, but if you use the right functions to check/validate a placement before adding cards then you should be right. The reason for this is mainly to jump around timing issues when removing then adding cards on the same placement.

Hope this helps!

V1.2 sounds like it has a ton of updates and added features. When do you think you it will be ready for release? (Not trying to sound impatient but I am a bit excited at the idea haha)

I will be hammering out the remaining tasks over the weekend and submit v1.2 and 4.14 support early next week! It will then be in the hands of epic which may take a few more days.

I will post the full Changelist info on release, so you can keep an eye out here to be notified once its available :slight_smile:

Possibly in time for Xmas then haha! Nice.
Just out of interest, why haven’t you made your own card game? Clearly you can. Or maybe you have?