No announcement yet.


  • Filter
  • Time
  • Show
Clear All
new posts

    The role of DataLink is to allow Unrealscripters for the UDK to be able to access external resources such as binary files, config files, HTTP resources and xml files.

    While the UDK is able to already access config files, the current state of the config options is a little bit limiting compared to what it was in UT2004.

    UDK at this point does not support binary files or xml files.

    UDK can get data using HTTP requests without using DataLink, but I have included it as well to make it easier.

    When DataLink is used, developers will have access to both the Unrealscript and C++ code. However, I can only provide support for just the precompiled version of the C++ program.

    Binary/HTTP/Xml example:
    Your game is an RPG game which saves the players profile onto the disk, but also keeps a version online. When the player wishes to play offline because he/she does not have internet access then your game will use the player profile found on disk. DataLink is used here to get the data from a binary/xml file into Unreal Engine. When the player has finished playing, the game then wants to save any progress to disk. DataLink is used here to save the data into a binary/xml file. If the player has access to the internet, then you will want the game to get the data from the internet. DataLink is used here to ask the server for that data. When the player has finished playing, DataLink is used again to save the progress by sending the progress data back to the server.

    Config example:
    As far as I can see, there does not appear to be a settings menu in the UDK. There also other options found in the config files that you normally do not have access to it seems. DataLink can be used to access these config files and values.


      Interesting stuff, James.


        So, this could be used to create (read from/write to) an online HIGH SCORES board for single player games to compare their score against other players world wide?


          Originally posted by Conjured View Post
          So, this could be used to create (read from/write to) an online HIGH SCORES board for single player games to compare their score against other players world wide?
          If thats all you need, you can already do that using the already present HTTP requests system inside unreal engine, eg using php.

          Submit highscore link (example)

          HTTP post
          HTTP get
 (for top 10 output)
          well, maybe not THAT simple, but something like that :P


            Hmm, I thought about this some more and I might have to rewrite these interface classes. What I was planning to do before was just to send commands back and forth, but that's actually not necessary at all. What I really should be doing is creating an XMLObject that exists in Unrealscript. This might be fun to parse though, but I shall see how this goes.

            But the more I think about it, the more XML seems less useful to DataLink. After all there's no real need for a deep hierarchy variable system that XML offers. I think at this point I might pull back the XML feature and work on a DataObject like system.


              Interesting, would this be used for a multi-player network protocal, or would it be more for something like interfacing simulator hardware with the gaming client?


                It could be, but DataLink isn't really required to do this. You can use TCP Link to do the two above without using DataLink. The point of DataLink is to allow people to use external files. However, I think I'm going to drop this project because I've already started and written another one called DataObject which works in a similar way to the DataObjects in UT2003/UT2004.


                  I'm looking at creating a single player RPG with the UDK so being able to save to files is pretty important to me. Keep us posted on your progress please.




                    wicked. i will give this a try.

                    the results should be quite promising


                      This sounds absolutely blinding, a truly invaluable addition to UDK.

                      Do you have a rough ETA for this? (I nowhere near at the stage of needing it, i'm just overly excited).

                      Brilliant stuff,