discord-api-docs icon indicating copy to clipboard operation
discord-api-docs copied to clipboard

Add UE5 DiscordGameSample project

Open x157 opened this issue 7 months ago • 2 comments

The current UE4 cpp documentation is not very complete. I created a free, fully functional DiscordGameSample project including tons of documentation for how to use it.

This project makes it very simple for any dev to use Discord GameSDK.

This PR adds basic info and a link to the repository.

x157 avatar Jan 07 '24 16:01 x157

I’ve read your README, I’ve not stated that my point is to keep the docs the same way at all. I’m simply stating that if you’re that bothered, change it yourself.

also, your point of “nothing is hard coded” is completely false, the ClientID has to be baked into the constructor, which means blueprints can’t change it. Why not allow blueprints to change it so people can just easily use the sample project?

To word by point even better in hopes that you may understand, a sample project here is NOT the right way to go about fixing the “bad documentation”, either fix the documentation or don’t, a sample project does not instruct people correctly.

On Fri, 12 Jan 2024 at 15:03, Xist @.***> wrote:

@.**** commented on this pull request.

In docs/game_sdk/SDK_Starter_Guide.md https://github.com/discord/discord-api-docs/pull/6607#discussion_r1450574161 :

@@ -232,6 +232,21 @@ Make sure you've got core->RunCallbacks() going every frame!

You're ready to go! Check out the rest of the documentation for more info on how to use the other pieces of the SDK. See an example of everything it can do in examples/cpp/main.cpp in the SDK zip file.

+## Code Primer - Unreal Engine 5 (Cpp) Plugin + +For a complete example of a reusable UE5 plugin that you can use for your UE5 project, +see this free, MIT licensed sample project: + +https://github.com/XistGG/DiscordGameSample

Thank you for the constructive criticism. It is true that the sample project isn't perfect and there are a number of ways to improve it.

It is also true that the current docs are at least an order of magnitude worse, and the sample is a massive improvement over it.

If your argument is that the current docs should be kept because the significantly-improved sample isn't perfect, then that does help to explain why the Discord SDK docs are so bad and seemingly unlikely to improve.

There is nothing hard coded in the sample project except the UCustomDiscordGameSubsystem, which if you had bothered to read the README you would know that it is intended to be completely discarded and replaced with your own custom subsystem that implements whatever behavior you actually want for your game. As the README very clearly states, the reusable and interesting parts are in the DiscordGame plugin, in which nothing is hardcoded and everything is fully documented.

— Reply to this email directly, view it on GitHub https://github.com/discord/discord-api-docs/pull/6607#discussion_r1450574161, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALF2B6PBGIEKS3VPSHWOMJLYOFGFVAVCNFSM6AAAAABBQN2D2WVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQMJYGQ3DMNBVGY . You are receiving this because you commented.Message ID: @.***>

Jaskowicz1 avatar Jan 12 '24 15:01 Jaskowicz1

the ClientID has to be baked into the constructor, which means blueprints can’t change it. Why not allow blueprints to change it so people can just easily use the sample project?

I haven't added any Blueprints support at all to the sample. It is purely C++; the intent is for the UCustomDiscordGameSubsystem to be completely replaced by whatever game wants to reuse the plugin and so each game can determine the level of BP customization they want to support.

You do make a good point that the ClientId must currently be set in the game's derived class constructor. I will update it so that it can optionally be set in an INI, that would be a good update. Thanks for the idea. 👍

Also I do get that each of you who has responded has a genuine interest in improving the Discord documentation, and I appreciate that. Discord is lucky to have passionate people such as yourselves helping them out.

Please understand that I am doing my best to help as well, but in my own way. I am providing these tools because (A) they are useful for me in my work; (B) they are useful for others who are already using them in their games; (C) I am a C++/UE educator whose goal is to help people develop their C++ skills. I have no interest in spending my time writing Discord docs. I am far too busy already.

If anyone sees value in themselves improving the docs, I encourage them to do so.

x157 avatar Jan 12 '24 15:01 x157