Hitman 3 no longer offers the ability to enter levels from Hitman 2 when it launches later this month, unless players first buy Hitman 2 again in the Epic Games Store. At the end of a long and complicated guide before launch, developers IO Interactive said the change in plans “is due to different circumstances beyond our control.” Hitman 1 and 2 have both been released on Steam, while Hitman 3 is being launched as an exclusive Epic Games Store.
Hitman 2 offered the possibility to introduce Hitman 1 places at the launch, and in August 2020 it was announced that Hitman 3 was intended to do the same again. At the time of writing, the Hitman 3 website still advertises that “places 1 and 2 can be imported at no extra cost to existing owners”.
This is no longer the case. The guide before the launch explains that Hitman 1 is only available for free to everyone who buys Hitman 3 in the Epic Games Store 10 days after the launch. Hitman 2 will meanwhile be available for 14 days after launch with 80% off. In either case, it’s not what IO advertises, or what players expected when they pre-ordered the game.
It is not clear how this affects the ability to introduce progress between games. The guide before the launch suggests that progress can be entered directly from Hitman 2 on Steam in Hitman 3 on Epic, without mentioning whether locations from previous games in Hitman 3. should occur. Progress gives you access to items and costumes for Agent 47 to use on Hitman 3 levels.
Apart from the vague ‘different circumstances’, there is also no explanation as to why there was a change in the plan. Players naturally assume this is due to the series’ switch from Steam to the Epic Games Store, where the game is expected to be exclusive for 12 months. We contacted both IO Interactive and Epic Games for comment and will update this story if one of them responds.
function appendCarbon() { !function(a,l,b,c,k,s,t,g,A){a.CustomerConnectAnalytics=k,a[k]=a[k]||function(){ (a[k].q=a[k].q||[]).push(arguments)},g=l.createElement(b),A=l.getElementsByTagName(b)[0], g.type="text/javascript",g.async=!0,g.src=c+"?id="+s+"&parentId="+t,A.parentNode.insertBefore(g,A) }(window,document,"script","//carbon-cdn.ccgateway.net/script","cca",window.location.hostname,"04d6b31292"); }
function runMormont() { var s = document.createElement('script'); s.type="text/javascript"; s.async = true; s.onload = function() { triggerMormont() }; s.src="https://cdn.gamer-network.net/2018/scripts/mormont/v2.23.0/mormont.js"; document.getElementsByTagName('head')[0].appendChild(s); }
function runSAK() { var s = document.createElement('script'); s.type="text/javascript"; s.async = true; s.src="https://sak.userreport.com/gamer-network/launcher.js"; s.id = 'userreport-launcher-script'; document.getElementsByTagName('head')[0].appendChild(s); }
function runSkimlinks() { var s = document.createElement('script'); s.type="text/javascript"; s.async = true; s.src="https://s.skimresources.com/js/87431X1560958.skimlinks.js"; document.getElementsByTagName('head')[0].appendChild(s); }
function youtubeParser(url){ var regExp = /^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/; var match = url.match(regExp); return (match&&match[7].length==11)? match[7] : false; }
function runBBMVS() {
jQuery('article main iframe').each(function(){ src = jQuery(this).attr('src'); if(src) { check_yt = youtubeParser(src); if(check_yt){ jQuery(this).attr('id', 'yt-' + check_yt); jQuery(this).attr('data-yt-id', check_yt); jQuery(this).addClass('yt-embed'); } } }); var promises = []; jQuery('article main iframe.yt-embed').each(function() { check_yt = jQuery(this).attr('data-yt-id'); (function(replace_yt) { promises.push(jQuery.getJSON( "https://gamernetwork.bbvms.com/json/search?query=%22" + replace_yt + "%22&context=all", function( data ) { if(typeof data['items'][0] !== 'undefined' && typeof data['items'][0].id !== 'undefined') { yt_video = jQuery('#yt-' + replace_yt); jQuery(yt_video).attr('data-bbvms-id', data['items'][0]['id']); }; })); })(check_yt); }); Promise.all(promises).then(function( data ) { first_yt = true; jQuery("[data-bbvms-id]").each(function() { yt_video_wrapper = jQuery(this).parent(); if(first_yt) { playout_id = 'rock_paper_shotgun_autoplay'; first_yt = false; } else { playout_id = 'rock_paper_shotgun'; } jQuery(yt_video_wrapper).after('