Insomniac games cache simulation tool plugin for UE4

Related tags

Game ig-cachesim-ue4
Overview

Insomniac Games CacheSim plugin for UE4

This plugin for Unreal Engine 4 lets you use the Insomniac Games Cache Simulation tool to detect cache misses in your games.

CacheSim is a cache simulator developed by Insomniac Games. In its current form it simulates an AMD Jaguar cache configuration.

For more information on how CacheSim was developed and how it works internally, you can check out this GDC 2017 slide deck.

The talk is available on the GDC vault with full video as well.

How to use

  1. Copy the Plugins folder to your project.
  2. Open your project.
  3. Enable the plugin in the Plugins window.
  4. Add the following code to any Blueprint (the player controller or the level Blueprint are good candidates for this).

How to use

  1. Make a build of your game in any configuration you want and make sure you include the debug symbols with it.
  2. Open the packaged game and press the key you set up before. The game should freeze for a bit.
  3. Open the CacheSimUI-x64-Release/CacheSimUI.exe binary included in this repo or compile it yourself from the ig-cachesim repo.
  4. Open the report that has been generated next to the game's executable.

Dump next to the executable

CacheSim UI

Known issues

Do not use it inside the editor. It will most likely crash.

Debbugers get really confused if you try capture when they are attached to the process. Solution: Run detached!

Third Party Software

CacheSim has the following license

Copyright (c) 2017, Insomniac Games All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You might also like...
A game - or rather, a simulation - of a non-Euclidean world.

neuc A game - or rather, a simulation - of a non-Euclidean world. Currently, I am just developing a 2D top down game (and having a blast in general).

Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

A C math library targeted at games

Kazmath Kazmath is a simple 3D maths library written in C. It was initially coded for use in my book, Beginning OpenGL Game Programming - Second editi

3D games console based on RP2040 and iCE40 UP5k
3D games console based on RP2040 and iCE40 UP5k

PicoStation 3D This is an unfinished, untested project to develop a 3D games console based on an RP2040 microcontroller and an iCE40 UP5k FPGA. Quick

A set of libraries and tools to make MSX games using the C programming language.

ubox MSX lib This is a set of libraries and tools to make MSX games using the C programming language. There are three main components: ubox: thin wrap

TIC-80 is a fantasy computer for making, playing and sharing tiny games.
TIC-80 is a fantasy computer for making, playing and sharing tiny games.

TIC-80 is a fantasy computer for making, playing and sharing tiny games.

Enfusion Artifical Intelligence for DayZ and future Bohemia Interactive games.

Enfusion AI Project (eAI) This mod adds headless player units under the control of a script on the server. Although the script is very rudimentary now

Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.
Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.

Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.

Recast is state of the art navigation mesh construction toolset for games.
Comments
  • no Qt platform plugin could be initialized

    no Qt platform plugin could be initialized

    Hello, Is there any steps to getting the submitted GUI Tool running? I get the following message when trying to run it (tried on multiple machines). image

    Thanks!

    opened by DanBreton 2
Owner
Toni Rebollo Berná
Toni Rebollo Berná
A UE4 plugin wrapper for Molecular Matter's Live++ Hot-Reloading Library

Good News Everyone: Natively integrated in UE4.22+ Details here: https://docs.unrealengine.com/en-us/Builds/4_22 UE4 LivePP: C/C++ live coding A UE4 p

Kite & Lightning 104 Dec 9, 2022
Real-time Water - Fast Water Simulation for Games Using Height Fields

In this project a water-simulation was implemented based on the approach suggested in the presentation "Fast Water Simulation for Game

Henrik Patjens 137 Jun 4, 2022
VE Font Cache is a single header-only GPU font rendering library designed for game engines.

VE Font Cache is a single header-only GPU font rendering library designed for game engines. It aims to: Be fast and simple to integrate. Take advantag

Xi Ma Chen 340 Dec 7, 2022
This a small cheat menu for Sword With Sauce (a UE4 game) that I made in a week or so.

This a small cheat menu for Sword With Sauce (a UE4 game) that I made in a week or so. The reason why I am sharing the project is that it is probably one of the best sources to learn UE game hacking from. The project has many comments.

1hAck 88 Dec 23, 2022
This is a list of different open-source video games and commercial video games open-source remakes.

This is a list of different open-source video games and commercial video games open-source remakes.

Ivan Bobev 173 Jan 2, 2023
Speedrun plugin for Source engine games.

Features Automatic demo recording Accurate session timing Speedrun timer with complex custom rule system Tools for segmented and tool-assisted speedru

Portal 2 Speedrunning 65 Jan 6, 2023
A CTRPF plugin for the Nintendo 3DS Pokémon games in which, supports both the 6th and 7th generations.

Multi-Pokémon Framework Multi-Pokémon Framework is a Pokémon plugin developed by Jared0714 that is based off of Nanquitas' CTRPluginFramework. This pl

null 24 Dec 13, 2022
Unreal Engine 4 plugin for Yodo1 MAS (Managed Ad Services) integration. Used for ad monetization of games.

Unofficial Yodo MAS SDK for Unreal Engine 4 Disclaimer: this plugin is in no way associated with Yodo1, this is just a wrapper on top of their officia

Nineva Studios 3 Apr 9, 2022
YYToolkit is a tool for creating mods and altering GameMaker games.

YYToolkit is a tool for creating mods and altering GameMaker games.

Archie 33 Dec 9, 2022
C++ library for multi-physics simulation

Project Chrono represents a community effort aimed at producing a physics-based modelling and simulation infrastructure based on a platform-independent, open-source design.

null 1.6k Dec 29, 2022