Hi, so I know a lot about the topic of RAM searching within Dolphin so allow me to state possible solutions.
First, altough it is definetely possible, having an integrated RAM search within Dolphin isn't that easy because of performance concerns (it would need to call functions that the emulator already uses a ton in a very short ammount of time, so the additional load would likely cause a drop in performance).
However, as I had been perfectly aware of the pain of the usage of Cheat Engine, I actually made a completely new RAM search specifically made for Dolphin, do note however that this isn't supported by the Dolphin team, I am currently the sole maintainer of this project. I solved in the first beta release most inconveniences of Cheat Engine such as:
- The inability to track dynamic memory (my RAM search has multilevel pointer supports and it works).
- The need to add extensions to have big endian types (you could on Cheat Engine, but you had to add custom types, for my RAM search, it's done automatically).
- No possibility to add 2 separate memory range to scan (this is mostly annoying for Wii games which has 2 separate memory region, for my RAM search, you can enable or disable the extra region depending on the console the game runs on).
- Finally, but definetely not least: the annoyance with the start address. You need to scan a limited part of the Dolphin process which coresponds to the emulated memory, but getting the address of this memory isn't easy, before 5.0-3981, it was only deterministic on Linux and KIND OF stable on Windows, but not a guarantee. After 5.0-3981, Dolphin supports ASLR which makes the start completely random because the process itself is mapped randomly. Even pressing stop and play can cause a change so you are forced to use the pointer method, which has many issues (it doesn't persist between revision and you need to compute a hex number for every address you add in the table). How my RAM search deals with this is it checks Dolphin's mapping info as it is running and detemrines the right one, once hooked, you shouldn't be bothered by the start address anymore.
Altough, reminder this is still currently in BETA, it;s very functional as a watcher and a scanner, it also supports file saving. You can get it in the release tab of this GitHub page: https://github.com/aldelaro5/Dolphin-memory-engine
For more information on its usage and a nice discussion points for TASers, I made a complete TASVideos thread on it which you can go here: http://tasvideos.org/forum/viewtopic.php?t=19437 Btw, this also explains how you can find pointers and add it to my RAM search. I need to say however that implementing pointerscan for my RAM search is pretty much insanely hard or impossible because I can't really read the original PowerPC instructions that the game Dolphin is running executes (you likely will run Dolphin behind a JIT which obsures them). However, in recent revisions of Dolphin, the debugger has been stable enough for you to basically do the same thing, you just need to use breakpoints upon reading or writting to the memory you want to know the pointer of. So, a read of the appropriate section in the thread should answer that question.
Alternatively, if you want more information on using Cheat Engine with Dolphin, I recommend this thread, I will still maintain it until my RAM search becomes stable enough for me to not recommend Cheat Engine anymore: http://tasvideos.org/forum/viewtopic.php?t=17735
With that, I hope this post will provide a good enough solution.